說我不知道元素的名字會是什麼,但我知道孩子會是什麼。例如,沒有規定名稱「foo」和「bar」,但是「A」,「B」是「C」。XSD可以定義通配符複雜類型嗎?
<example>
<foo>
<A>A</A>
<B>B</B>
<C>C</C>
</foo>
<bar>
<A>A</A>
<B>B</B>
<C>C</C>
</bar>
</example>
我不能離開name
屬性,因爲這是違規行爲。我希望能夠做到這一點,而不是:
<xs:element name="example">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:any>
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:string"/>
<xs:element name="B" type="xs:string"/>
<xs:element name="C" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:any>
</xs:sequence>
</xs:complexType>
</xs:element>
這也不管用,<xs:any>
只能包含註釋和拒絕一個類型。
有沒有什麼我可以用命名空間來處理未知元素名稱?我應該放棄,而不是試圖驗證孩子,只記錄內容必須是什麼?
外部驗證是我唯一的剩餘選項。 – clockworkgeek 2011-05-16 10:50:39