2012-05-29 36 views
0

在我們的項目中,我們使用Xsd2Code生成c#代碼。生成C#代碼時在xsd定義中使用非默認類型xsd2code

的XSD我試圖調整如下所示:

<?xml version="1.0"?> 
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="File"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="Version" type="xs:string" /> 
     <xs:element name="Language" type="xs:string" /> 
     <xs:element name="Component" type="xs:anyType" minOccurs="1" maxOccurs="unbounded" /> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

在我們的項目中,我們現在定義一個抽象類版本。是否有可能使用我們自己的類Version而不是字符串作爲Xsd中的元素Version的類型?

我們想用Xsd2Code生成儘可能多的類。這就是爲什麼我想避免也必須手動創建File類的原因。

在此先感謝您的幫助。

回答

0

您可以在xsd scheme中創建一個新的抽象類Version,然後將您定義的Version類設爲partial,並將其與生成的類放在相同的名稱空間中。默認情況下,所有生成的類都必須是部分的。

+0

使用Xsd2Code生成Version類可悲不是一種選擇。這就是爲什麼我正在尋找解決方案來至少保留生成File類的可能性。 –

+0

爲什麼不選擇一個選項?您需要生成空的部分類。您可以將所有邏輯放到您定義的類中。生成的類和定義的類將是相同的實體 –

+0

好吧,我顯然不明白你的答案。聽起來很完美。我會試一試。提前致謝。 –