我试图使var1中的无序变量列表出现两次,var2出现无限次(我的项目中的用例不同)。该元素不允许我使用maxOccurs。
我正在尝试做什么工作?
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="testcomment">
<xs:complexType>
<xs:all>
<xs:element name="var1" type="xs:string" maxOccurs="2" />
<xs:element name="var2" type="xs:integer" maxOccurs="unbounded" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:11)
我遇到了同样的问题并且有一个解决方案!看看这个答案:
https://stackoverflow.com/a/3827606/637142
<xs:element name="A">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="B"/>
<xs:element ref="C"/>
</xs:choice>
</xs:complexType>
</xs:element>
答案 1 :(得分:3)
很简单,只需使用<xs:choice maxOccurs="unbounded">
代替<xs:all>
即可。这将产生您正在寻找的效果。
答案 2 :(得分:2)