3
我寫了一個XMLSchema,它看起來像下面的那個。這個想法是,baseContainer只允許一些標籤,而fullContainer允許baseContainer +一些其他標籤中的所有標籤。標籤可以以任何順序出現,並且可以有多個標籤。在我的真實示例中,有更多的標籤,所以這種寫XMLSchema的方法往往會變得很大並且非結構化。我想使用XMLSchema擴展標籤來構建文檔,但它不能像我期望的那樣工作。XMlSchema的擴展,如何?
感謝提前:)
<complexType name="baseContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag0"/>
<element ref="w:aTag1"/>
<element ref="w:aTag2"/>
</choice>
</sequence>
</complexType>
<complexType name="fullContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag0"/>
<element ref="w:aTag1"/>
<element ref="w:aTag2"/>
<element ref="w:aTag3"/>
<element ref="w:aTag4"/>
</choice>
</sequence>
</complexType>
我已經試過這樣:
<complexType name="fullContainer">
<complexContent>
<extension base="w:baseContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag3"/>
<element ref="w:aTag4"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
是否有另一種方式來描述可以包含多個無序元素的元素?我知道有標籤,但據我所知,當它是多個可選元素時不能使用 –
Hans對此是正確的;你不能限制任何粒子(全部,選擇等)。無法擴展無序元素的集合。 您可以嘗試將主類型定義爲包含xsd:any,然後以其他方式驗證。 – xcut