Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单个XML元素可以有多个值吗?_Xml_Xsd - Fatal编程技术网

单个XML元素可以有多个值吗?

单个XML元素可以有多个值吗?,xml,xsd,Xml,Xsd,一个产品可以符合零个或多个标准,如STD1、STD2、STD3 XML有一个可选字段,我们称之为compliance 我能做那样的东西吗?(这里我用逗号。) STD1、STD3或STD2 如何定义这个XSD类型?为具有多个值的元素设计XML结构的正确方法是分别标记每个此类值,在本例中为标准元素: <complies> <standard>STD1</standard> <standard>STD2</standard> <

一个产品可以符合零个或多个标准,如STD1、STD2、STD3

XML有一个可选字段,我们称之为
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>