使用xsd:all意味着Notepad ++中的“无法解析XML模式”

时间:2013-08-30 09:42:41

标签: xsd schema notepad++

我已经用了两天的时间来解决这个问题,我花了4个小时在互联网上检查我做错了什么没有成功......我希望你能帮助我!

我正在尝试使用Notepad ++创建XML Schema。我想做什么:我有一个名为A的主元素。在这个元素中,我将有子元素1,2,3和4。所有thos元素都有自己的simpletypes作为属性(我将它们作为例子的元素)。

我的XSD就是这样:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="TEST" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="A">
    <xs:complexType>
      <xs:sequence>
      <xs:element name="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="id"/>
              <xs:element type="xs:string" name="name"/>
              <xs:element type="xs:string" name="comment"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      <xs:element name="2">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="id"/>
              <xs:element type="xs:string" name="name"/>
              <xs:element type="xs:string" name="comment"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      <xs:element name="3">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="id"/>
              <xs:element type="xs:string" name="name"/>
              <xs:element type="xs:string" name="comment"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      <xs:element name="4">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="id"/>
              <xs:element type="xs:string" name="name"/>
              <xs:element type="xs:string" name="comment"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

重点是我的XML可能是:

<A>
  <3>
    <id>20130</id>
    <name>test</name>
    <comment>Test</comment>
  </3>
  <4>
    <id>98654</id>
    <name>test2</name>
    <comment>Test2</comment>
  </4>
</A>

因此,当使用序列时,我得到一个错误,因为它期望1.当使用选择时,它不期望4(但只有3)。使用all,Notepad ++告诉我“无法解析XML Schema”

注意:我想保留4可以在3之前发生的可能性,并且我可以有多次出现1,2,3或4.可能使用minOccur和Maxoccur作为答案(但因此我有尊重1,2,3和4的ordre)...

非常感谢你的帮助。

此致

0 个答案:

没有答案