Xsd 带有标题的XML模式,然后选择项
我想创建一个XML模式,强制在标题后面加上几个项目中的任何一个。换句话说,这是有效的<代码>必须始终是第一项,但A和B可以是任意顺序Xsd 带有标题的XML模式,然后选择项,xsd,Xsd,我想创建一个XML模式,强制在标题后面加上几个项目中的任何一个。换句话说,这是有效的必须始终是第一项,但A和B可以是任意顺序 <root> <header/> <A/> <B/> <A/> <B/> </root> 我的理解是,我可以允许A和B的顺序如下 <xs:element name="root"> <xs:complexType> <xs:
<root>
<header/>
<A/>
<B/>
<A/>
<B/>
</root>
我的理解是,我可以允许A和B的顺序如下
<xs:element name="root">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="A"/>
<xs:element ref="B"/>
</xs:choice>
</xs:complexType>
</xs:element>
但是如何强制第一个元素是
?组可以嵌套在内容模型中,就像括号中的表达式可以嵌套在正则表达式中一样。在外部级别,您需要一个标题元素,后跟a
和B
元素的组合。因此,使用xs:sequence
来指定该序列
<xs:complexType>
<xs:sequence>
<xs:element ref="root"/>
<xs:choice maxOccurs="unbounded">
<xs:element ref="A"/>
<xs:element ref="B"/>
</xs:choice>
</xs:sequence>
</xs:complexType>