我正在Visual Studio 2010中编写一个XSD架构文件。我想定义一个不需要的复杂类型,并且在xml中具有无限制的entires。我使用了minOccurs和maxOccurs属性,但是我在编辑器中遇到一个错误,即不允许这些属性(minOccurs / maxOccurs)。我可以将它们添加到简单类型但不是复杂类型。如何定义复杂类型可以有0到多次出现?
这是我正在使用的xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="patient" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:2)
那应该仍然是有效的XSD语法。 VS编辑器只是突出显示它并告诉你它是不允许的吗?它可能只是报告错误。
编辑:哦,你需要一系列复杂的类型!
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="patients">
<xs:complexType>
<xs:sequence>
<xs:element name="patient" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:elemennt>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>