我已经用了两天的时间来解决这个问题,我花了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)...
非常感谢你的帮助。
此致