完整错误消息:
[错误] try.xsd:5:15:cos-all-restricted.2:{最大值出现} 'all'模型组中的元素必须为0或1.值'unbounded' 元素'Child2'无效。
我有以下XML文档:
一
<Parent>
<Child1>value</Child1>
<Child2>value</Child2>
<Child3>value</Child3>
<Child2>value</Child2>
<Child3>value</Child3>
<Child4>value</Child4>
<Child5>value</Child5>
</Parent>
两个
<Parent>
<Child5>value</Child5>
<Child1>value</Child1>
<Child2>value</Child2>
<Child3>value</Child3>
<Child2>value</Child2>
<Child3>value</Child3>
<Child4>value</Child4>
</Parent>
元素以任何顺序出现。所以我定义了这样的架构:
<xs:element name="Parent">
<xs:complexType>
<xs:all>
<xs:element name="Child1" type="xs:int" minOccurs="0"/>
<xs:element name="Child2" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Child3" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Child4" type="xs:string" minOccurs="0"/>
<xs:element name="Child5" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
我面临两个问题:
xs:all
不允许无限制。Child2
和Child3
之间的关系。答案 0 :(得分:0)
xsd:all
的子项不能重复。如果Child2
和Child3
只能无限次出现,请改用xs:sequence
。从理论上讲,支持parent
下的无序儿童可能会略微更好地符合您的实际约束,但在实践中,强制执行命令很少有用,并且通常会有所帮助,例如在这种情况下。Child2
和Child3
之间的关系,但更具体的是,您必须指出您想要的那种关系。