我正在使用xsd,試圖讓它驗證xml。XSD具有相同內部結構的兩個元素
xml用於創建對象。有兩種類型的對象可以由列表中的元素創建:SC和SMSC。 SMSC是一個SC,並對其進行擴展。
SMSC不包含任何新屬性。從xml的角度來看,除了定義其屬性的元素被<SMSC>
標籤包裝而不是<SC>
標籤外,SMSC在各方面都與SC完全相同。
我們的XSD看起來是這樣的:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name='Definitions'>
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="SC">
<!--SNIP properties of SC and SMSC -->
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
有沒有辦法來改變這種允許SC或SMSC作爲元素,不是複製所有的屬性定義的一個元素SMSC其他?我們不希望將文檔的長度加倍並複製所有的屬性定義。
就目前來看,我們在XML中唯一的驗證錯誤就是我們有一個SMSC元素。如果沒有辦法解決這個問題而不重複所有的屬性定義,我們會保持原樣,但是如果可行的話,我們顯然寧願消除拋出的警告。
This Works,thanks!我沒有意識到你可以定義新的複雜類型,並在定義中使用它們。你每天學習新的東西! (順便說一下,第一個版本現在爲我們工作) – Jeff 2013-03-12 15:31:41