微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数组 – 定义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文档中明确重复.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。