2011-06-23 23 views
7

2つのXSDファイルがあります。XSD.exeを使用して複数のXSDスキーマからC#クラスを生成する

1つのXSDファイルでは、ABC.xsdにXMLの一部である要素が含まれていると言えます。 他のXSDファイルでは、XYZ.xsdにはこれらの要素の定義が含まれています。私はC#クラスをgenereateするXsd.exeではを実行していた場合

は今他の名前空間と一緒にスキーマタグを(要素を保持している)ABC.XSDに我々としても

<xs:schema schemaLocation="XYZ.xsd"> 

のschemaLocationを言及しています。クラスを生成していますが、XYZ.xsdからいくつかの定義がありません。

私は任意の助けが

EDIT 1 appreicateだろう

xsd.exe "ABC.xsd" "XYZ.xsd" /c 

を実行しています: @Feliceは、私のXYZ.xsdに私が持っているこの

<xs:simpleType name="contactNumberType"> 
     <xs:annotation> 
      <xs:documentation>Contact phone or fax number with national or international format. Only numbers are allowed</xs:documentation> 
     </xs:annotation> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="\+?\p{N}{6,24}"/> 
     </xs:restriction> 
    </xs:simpleType> 

見られるようなdefinationここで定義されているパターンは、C#クラスには表示されません。助けてください。申し訳ありませんが、私はこれに新しいです。 お返事ありがとうございました

答えて

3

"main" xsdをパラメータとして渡し、もう一方がメインと同じ場所にあることを確認してください。

+0

このリンクごとに依存XSDファイルを参照する必要がありました。 Edit1を参照してください。 – Shax

+0

@Shaxの制限はクラスの検証だけではありません。確認するにはここをクリックしてください:http://stackoverflow.com/questions/6451519/how-to-use-xsd2code-generated-c-classes/6451593# 6451593 –

+0

私は迷って申し訳ありません。私が思ったのは、XSD.exeを実行することで、C#クラスが生成され、C#コードの一部としてすべての制限などが置かれます。 – Shax