Xml 将xsd:choice与xsd:any或xsd:sequence混合使用?
我有以下两个(不可更改)XML文件,它们的名称空间相同,我需要为它们创建XSD: 伪xml示例#1:Xml 将xsd:choice与xsd:any或xsd:sequence混合使用?,xml,xsd,xsd-validation,xml-validation,Xml,Xsd,Xsd Validation,Xml Validation,我有以下两个(不可更改)XML文件,它们的名称空间相同,我需要为它们创建XSD: 伪xml示例#1: 伪xml示例#2: 如果没有HistoryEntry和UserFiles元素,我将使用xsd:choice进行项目信息和安装。但是如何将HistoryEntry和UserFiles元素引入游戏中呢 是否有标准的XSD机制允许这样做?无序被高估了。只需使用xs:sequence而不是xs:any,即可避免XSD 1.0中出现独特的粒子属性冲突: <xs:schema xmlns:xs
伪xml示例#2:
如果没有HistoryEntry
和UserFiles
元素,我将使用xsd:choice
进行项目信息
和安装
。但是如何将HistoryEntry
和UserFiles
元素引入游戏中呢
是否有标准的XSD机制允许这样做?无序被高估了。只需使用
xs:sequence
而不是xs:any
,即可避免XSD 1.0中出现独特的粒子属性冲突:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Project">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="ProjectInformation"/>
<xs:element name="HistoryEntry"/>
<xs:element name="UserFiles"/>
</xs:sequence>
<xs:element name="Installations"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
无序被高估。只需使用
xs:sequence
而不是xs:any
,即可避免XSD 1.0中出现独特的粒子属性冲突:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Project">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="ProjectInformation"/>
<xs:element name="HistoryEntry"/>
<xs:element name="UserFiles"/>
</xs:sequence>
<xs:element name="Installations"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
谢谢,我不知道我可以在选择中混合序列和元素。。现在适合我了。谢谢,我不知道我可以在选择中混合序列和元素。。现在对我有用。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Project">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="ProjectInformation"/>
<xs:element name="HistoryEntry"/>
<xs:element name="UserFiles"/>
</xs:sequence>
<xs:element name="Installations"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>