0
我相信已經理解了this article中的所有內容,但似乎仍然有一些工作適合我。XML架構中的簡單繼承樹
如果我在類的簡單繼承樹:
A (abstract)
^
B
^
C
而且我想在我的XML對象的簡單列表,followes:
<mylist>
<B>lalala</B>
<C>fofofo</C>
<C>fofofo</C>
<C>fofofo</C>
<C>fofofo</C>
<B>lalala</B>
</mylist>
似乎不當我嘗試驗證此方案對:
<xs:schema>
<xs:complexType name="A" abstract="true">
<xs:element name="text" type="xs:string"/>
</xs:complexType>
<xs:complexType name="B">
<xs:complexContent>
<xs:extension base="A"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="C">
<xs:complexContent>
<xs:extension base="B"/>
</xs:complexContent>
</xs:complexType>
<xs:element name="mylist>
<xs:sequence maxOccurs="unbounded">
<xs:element name="A" type="A"/>
</xs:sequence>
</xs:element>
</xs:schema>
請記住,這只是僞代碼沒有很多命名空間的短xml的緣故。
爲什麼一個驗證器告訴我(記事本+ +爲例),它仍然在期待一個
<A>
而不是<B>
或<C>
?