我正在编写一个用于验证 xml 文档的 xml 模式。我坚持为 xml 数据的一些无序元素定义一些 complexType 内容。
xml 数据如下所示:
<country name="India">
<state name="Karnataka">
<!-- about state -->
<capital>Bangalore</capital>
<largestCity>Bangalore</largestCity>
<districts>30</districts>
<population>61130704</population>
<language>Kannada</language>
<!-- cities in state -->
<city name="Bijapur">
<talukas>30</talukas>
<population>611307</population>
</city>
<city name="Belgaum">
<talukas>30</talukas>
<population>6113070</population>
</city>
<!-- cities will be listed here -->
</state>
<state name="Maharashtra">
<!-- about state -->
<largestCity>Mumbai</largestCity>
<capital>Mumbai</capital>
<population>112372972</population>
<language>Marathi</language>
<districts>35</districts>
<!-- cities in state -->
<!-- cities will be listed here -->
</state>
</country>
如上面的 xml 数据所示,每个 'state' 标签下的前五个元素可以以任意顺序出现。
有人可以帮我为这种输入编写 xml 模式定义。我试着写一些这样的东西:
<xs:group name="stateElements">
<xs:all>
<xs:element name="capital" type="xs:string"/>
....
<xs:all>
</xs:group>
<xs:element name="state">
<xs:complexType>
<xs:sequence>
<xs:group ref="stateElements"/>
<xs:element name="city" type="cityType" maxOccurs="unbound"/>
</xs:sequence>
<xs:complexType>
<xs:element>
这是行不通的。
先感谢您