请我有一个名为PLAT的标签,它可以再次包含VIANDE标签一次,LEGUMES标签所有这些标签可以按任何顺序出现 我尝试使用序列,但它们将按顺序显示,所有都以任何顺序出现,但a标签不能出现多次,关于选择问题是只是一个可以出现的元素
的salade
<PLAT> Plat du jour: Poulet
<VIANDE>Omelette</VIANDE>
<LEGUMES>Frites</LEGUMES>
<VIANDE>Poulet</VIANDE>
</PLAT>
<DESSERT>Tartelette</DESSERT>
</MENU>
<MENU jour="mardi">
<ENTREE>Pâté</ENTREE>
<PLAT> Plat du jour: Lapin
<LEGUMES>Frites</LEGUMES>
<VIANDE>Poulet</VIANDE>
</PLAT>
<DESSERT>Banane</DESSERT>
</MENU>
我想做的是VIANDE可以出现一次或多次,LEGUMES只出现一次,但任何订单
这是我的XML Schema
<xs:element name="MENUS">
<xs:complexType>
<xs:sequence>
<xs:element name="MENU">
<xs:complexType>
<xs:sequence>
<xs:element name="ENTREE" type="xs:string"/>
<xs:element name="PLAT">
<xs:complexType mixed="true">
<xs:all >
<xs:element name="VIANDE" type="xs:string" />
<xs:element name="LEGUMES" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DESSERT" type="xs:string"/>
</xs:sequence>
<xs:attribute name="jour" type="jourSemaine" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
答案 0 :(得分:0)
我想做的是VIANDE可以出现一次或多次和LEGUMES 只需一次,但任何订单
您可以将minOccurs="1" maxOccurs="1"
添加到LEGUMES,将minOccurs="1"
添加到VIANDE
您的XML
<MENUS>
<MENU jour="mardi">
<ENTREE>Pâté</ENTREE>
<PLAT> Plat du jour: Lapin
<LEGUMES>Frites</LEGUMES>
<VIANDE>Poulet</VIANDE>
</PLAT>
<DESSERT>Banane</DESSERT>
</MENU>
</MENUS>
所需的XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MENUS" type="MENUSType"/>
<xs:complexType name="MENUType">
<xs:sequence>
<xs:element type="xs:string" name="ENTREE"/>
<xs:element type="PLATType" name="PLAT"/>
<xs:element type="xs:string" name="DESSERT"/>
</xs:sequence>
<xs:attribute type="xs:string" name="jour"/>
</xs:complexType>
<xs:complexType name="PLATType" mixed="true">
<xs:sequence>
<xs:element type="xs:string" name="LEGUMES" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:string" name="VIANDE" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MENUSType">
<xs:sequence>
<xs:element type="MENUType" name="MENU"/>
</xs:sequence>
</xs:complexType>
</xs:schema>