我有一个类似于这个例子的xml doc(和复杂元素):
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
但是在我的xml中,如果我先添加名字或姓氏,这无关紧要。 所以我想删除“xs:sequence”部分,但我不确定应该用它替换它。
如果不可能 - 那为什么不可能?
更新 如果我用&lt;更改它CX:所有&GT;我收到此错误:“所有组的所有{party}的{max occurrence}必须为0或1”。
答案 0 :(得分:8)
使用<xs:all>
代替<xs:sequence>
:
<xs:element name="employee">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
请参阅架构指标上的W3Schools page:
所有指标
<all>
指标指定 子元素可以出现在任何元素中 顺序,以及每个子元素 必须只出现一次:
答案 1 :(得分:2)
<xs:element name="employee">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" type="xs:string" />
</xs:choice>
</xs:complexType>
</xs:element>
这将允许您拥有任何顺序和数量的元素。
答案 2 :(得分:0)
您需要All indicator(<xs:all>
)。
<xs:element name="employee">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
XML Schema Tutorial上的W3Schools非常有帮助。