我的问题与定义XSD文档有关。我的具体问题是如何定义XSD,以便在生成XML时,元素将具有type =“array”。
期望的结果将是:
<names type="array">
<name>
......
</name>
</names>
我已经尝试过在几个论坛上推荐使用的方法,但是我发现在我看来,甚至可能没有数组的类型,这让我感到困惑,因为生成的XML元素可以有一种类型的数组。
答案 0 :(得分:1)
有些工具可以使用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>
另请注意,使用type="array"
属性 - 值对在XML中是非常规的,因为类型信息在names
的内容模型中的XSD中传达,不需要在XML中显式重复文档。