XSD Schema在complextype中使用maxOccurs和minOccurs

时间:2011-08-26 15:37:42

标签: xsd schema

我正在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>

1 个答案:

答案 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>