单个XML元素可以有多个值吗?
一个产品可以符合零个或多个标准,如STD1、STD2、STD3 XML有一个可选字段,我们称之为单个XML元素可以有多个值吗?,xml,xsd,Xml,Xsd,一个产品可以符合零个或多个标准,如STD1、STD2、STD3 XML有一个可选字段,我们称之为compliance 我能做那样的东西吗?(这里我用逗号。) STD1、STD3或STD2 如何定义这个XSD类型?为具有多个值的元素设计XML结构的正确方法是分别标记每个此类值,在本例中为标准元素: <complies> <standard>STD1</standard> <standard>STD2</standard> <
compliance
我能做那样的东西吗?(这里我用逗号。)
STD1、STD3或STD2
如何定义这个XSD类型?为具有多个值的元素设计XML结构的正确方法是分别标记每个此类值,在本例中为标准元素:
<complies>
<standard>STD1</standard>
<standard>STD2</standard>
</complies>
您可以使用XSD的xs:list
构造:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="complies">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STD1"/>
<xs:enumeration value="STD2"/>
<xs:enumeration value="STD3"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:element>
</xs:schema>
感谢约翰·桑德斯的建议。那么
xs:list
呢?@JohnSaunders:你说得对。我忘了提到xs:list
()。非常感谢。答案已更新。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="complies">
<xs:complexType>
<xs:sequence>
<xs:element name="standard" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STD1"/>
<xs:enumeration value="STD2"/>
<xs:enumeration value="STD3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<complies>STD1 STD2</complies>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="complies">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STD1"/>
<xs:enumeration value="STD2"/>
<xs:enumeration value="STD3"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:element>
</xs:schema>