我正在嘗試爲具有多個名稱空間的文檔創建架構。事情是這樣的:XML架構:可擴展容器元素
<?xml version="1.0"?>
<parent xmlns="http://myNamespace"
xmlns:c1="http://someone/elses/namespace"
xmlns:c2="http://yet/another/persons/namespace">
<c1:child name="Jack"/>
<c2:child name="Jill"/>
</parent>
這是我在我的模式至今:
<xs:element name="parent" type="Parent"/>
<xs:complexType name="Parent">
<!-- don't know what to put here -->
</xs:complexType>
<!-- The type that child elements must extend -->
<xs:complexType name="Child" abstract="true">
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
的計劃是讓其他人能夠創建具有任意的子元素的文件,只要這些孩子元素擴展了我的Child
類型。我的問題是:如何限制<parent>
元素,使其只能包含類型爲Child
類型的擴展的元素?
感謝鏈接。這篇文章似乎沒有涉及我後來的事情:我可以做繼承,我只是不知道如何限制'Parent'的內容,只允許其類型繼承自'Child'的元素。 – Daniel