Java XML模式以无序模式显示元素
我有一个模式XSD文件,其中包含序列中列出的元素。问题在于,顺序强制XML文件按顺序列出元素。现在,我想使用选项标记。但是根据xml规范,choice只允许声明中包含的一个元素出现在包含元素中。另外,我不能使用All标记,因为我希望出现多次。但是,我想 在无序模式中显示所有A、B、C、D和E。有什么建议吗 Xml模式文件Java XML模式以无序模式显示元素,java,c#,xml,xsd,Java,C#,Xml,Xsd,我有一个模式XSD文件,其中包含序列中列出的元素。问题在于,顺序强制XML文件按顺序列出元素。现在,我想使用选项标记。但是根据xml规范,choice只允许声明中包含的一个元素出现在包含元素中。另外,我不能使用All标记,因为我希望出现多次。但是,我想 在无序模式中显示所有A、B、C、D和E。有什么建议吗 Xml模式文件 XML文件(我希望这些元素按任意顺序排列) a B C D E 此XSD <xsd:schema xmlns:xsd="http://www.w3.org/2001/
XML文件(我希望这些元素按任意顺序排列)
a
B
C
D
E
此XSD
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="r">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="A" />
<xsd:element name="B" />
<xsd:element name="C" />
<xsd:element name="D" />
<xsd:element name="E" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
将验证元素A
到E
作为r
的子元素,以任意顺序和任意次数出现
解释
xsd:choice
元素上的出现约束允许选择本身重复指定的次数。因此,您可以在子元素之间选择零次,并获得r
的空内容模型。有一次,你可以选择任何一个孩子。第二次,您可以选择与第一次相同的孩子,或任何其他孩子。正如您所看到的,这个连续的操作允许任意数量的子元素以任意顺序出现
例子
以下所有XML文档都对上述XSD有效:
- 本XSD
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="r">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="A" />
<xsd:element name="B" />
<xsd:element name="C" />
<xsd:element name="D" />
<xsd:element name="E" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
将验证元素A
到E
作为r
的子元素,以任意顺序和任意次数出现
解释
xsd:choice
元素上的出现约束允许选择本身重复指定的次数。因此,您可以在子元素之间选择零次,并获得r
的空内容模型。有一次,你可以选择任何一个孩子。第二次,您可以选择与第一次相同的孩子,或任何其他孩子。正如您所看到的,这个连续的操作允许任意数量的子元素以任意顺序出现
例子
以下所有XML文档都对上述XSD有效:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="r">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="A" />
<xsd:element name="B" />
<xsd:element name="C" />
<xsd:element name="D" />
<xsd:element name="E" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>