2011-06-23 131 views
7

我有2個XSD文件。使用XSD.exe從多個XSD模式生成c#類

一個XSD文件可以讓ABC.xsd包含屬於XML的元素。 另一個XSD文件可以說XYZ.xsd包含這些元素的定義。

現在ABC.XSD(容納單元)架構標記與其他命名空間一起當我執行XSD.EXE到genereate我的C#類我們已經提到的schemaLocation以及

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

。它正在生成類,但缺少來自XYZ.xsd的一些定義。

我執行

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

任何幫助將是appreicate

編輯1: @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> 

見這裏定義的模式,它沒有出現在C#類中。任何幫助。對不起,我是這個新手。 感謝你的回答工作

回答

3

只傳遞「main」xsd作爲參數,確保另一個位於main的相同位置,並且它應該工作。

+0

我已經問題編輯。請參閱Edit1。請 – Shax

+0

@Shax的限制不會影響類,只是驗證,在這裏看到如何驗證:http://stackoverflow.com/questions/6451519/how-to-use-xsd2code-generated-c-classes/6451593# 6451593 –

+0

對不起,我迷路了。我認爲通過執行XSD.exe它會生成C#類,並將所有限制等作爲C#代碼的一部分。 – Shax