假設我們有以下模式:限制ID引用一個特定的元素組
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="a_elements">
<xs:complexType>
<xs:sequence>
<xs:element name="a_element" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="b_elements">
<xs:complexType>
<xs:sequence>
<xs:element name="b_element" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="c_elements">
<xs:complexType>
<xs:sequence>
<xs:element name="c_element" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="ref" type="xs:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
和這裏的示例XML文件:
<root>
<a_elements>
<a_element id="id1"/>
<a_element id="id2"/>
</a_elements>
<b_elements>
<b_element id="id3"/>
<b_element id="id4"/>
</b_elements>
<c_elements>
<c_element id="id5" ref="id1"/>
<c_element id="id6" ref="id2"/>
</c_elements>
</root>
這樣c_elements可以通過ID引用a_elements和b_elements。是否有可能以某種方式將ref屬性限制爲只接受對來自一個組的元素的引用,比如說a_elements?
這似乎是我正在尋找。謝謝! – Max