数组 – 定义XSD以便XML元素为type =“array”

我的问题涉及定义XSD文档.我的具体问题是如何定义XSD,以便在生成 XML时,元素将具有type =“array”.

期望的结果将是这样的:

<names type="array">
  <name>
  ......
  </name>
</names>

我已经尝试过在几个论坛上推荐使用的方法,但是从我发现在我看来,甚至可能没有数组的类型,这让我感到困惑,因为生成的XML元素可以有一种类型的数组.

解决方法

有些工具可以使用XSD并生成符合XSD的示例XML文档,但您应该了解XSD的主要用途是验证XML文档.

此XSD将验证您的XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="names">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="type"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

还要注意,在XML中使用type =“array”属性 – 值对是非常规的,因为类型信息在XSD中在名称内容模型中传达,不需要在XML文档中明确重复.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念