Xsd 验证xml文档无序元素的xml模式

Xsd 验证xml文档无序元素的xml模式,xsd,xsd-validation,Xsd,Xsd Validation,我正在编写一个用于验证xml文档的xml模式。我坚持为xml数据的一些无序元素定义一些complexType内容 xml数据如下所示: <country name="India"> <state name="Karnataka"> <!-- about state --> <capital>Bangalore</capital> <largestCity>Bangalo

我正在编写一个用于验证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>

班加罗尔
班加罗尔
30
61130704
卡纳达
30
611307
30
6113070
孟买
孟买
112372972
马拉提
35
如上面的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>

....
这是行不通的


提前感谢您

最简单的方法是将所有元素封装在一个名为的文件中,最大出现次数为1。删除该组,让您描述的内容模型的复杂类型成为一个


您必须解决的限制是,合成器下的任何粒子都不得重复(maxOccurs=“1”)。

谢谢Petru Gardea,我不能使用任何混合模型并将其组合在一起。。不幸的是,不,xsd:在很多事情上,所有这些都是非常挑剔的。我知道这是一个枯燥的阅读,但它是最好的来源:,第3.8.6节;然后在同一页上查找有关xsd:all的更多信息。