XML模式构建“任何数量的这些元素 - 以任何顺序”
问题描述:
我需要创建一个看起来像这样的XML模式:XML模式构建“任何数量的这些元素 - 以任何顺序”
<xs:element name="wrapperElement">
<xs:complexType>
<xs:sequence>
<xs:element type="el1">
<xs:element type="el2">
</xs:sequence>
<xs:WhatGoesHere?>
<xs:element type="el3">
<xs:element type="el4">
<xs:element type="el5">
</xs:WhatGoesHere?>
<xs:sequence>
<xs:element type="el6">
<xs:element type="el7">
</xs:sequence>
</xs:complexType>
</xs:element>
我需要的是“WhatGoesHere”的替代品,从而任何数量的el3,el4和el5都可以按任意顺序出现。例如,它可能包含{el3,el3,el5,el3}
有关如何解决此问题的任何想法?
答
你想xs:choice
有发生限制:
<xs:element name="wrapperElement">
<xs:complexType>
<xs:sequence>
<xs:element name="e11"/>
<xs:element name="el2"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="el3"/>
<xs:element name="el4"/>
<xs:element name="el5"/>
</xs:choice>
<xs:element name="el6"/>
<xs:element name="el7"/>
</xs:sequence>
</xs:complexType>
</xs:element>