Схема XSD с использованием maxOccurs и minOccurs в сложном типе - PullRequest
0 голосов
/ 26 августа 2011

Я пишу файл схемы XSD в Visual Studio 2010. Я хочу определить сложный тип, который не требуется и имеет неограниченное количество вводов в xml.Я использовал атрибуты 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 Ответ

2 голосов
/ 26 августа 2011

Это все еще должен быть допустимый синтаксис 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>
...