2 Stimmen

Fehler bei der XML-Schemaprüfung

Ich verwende das folgende Schema, um die folgende XML-Datei zu überprüfen. Und ich stelle fest, dass die Schemaprüfung fehlschlägt, wenn sich mehr als ein Informationselement innerhalb eines People-Elements befindet. Warum und wie kann ich das Problem beheben (ich möchte, dass das Element "Personen" mehr als ein Informationselement enthalten kann)?

XML-Schema-Datei:

  <xs:element name="People">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Information">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" type="xs:string"/>
            </xs:sequence>
            <xs:attribute name="Id" type="xs:string"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

XML-Datei (Schemaprüfung schlägt fehl):

  <People>
    <Information Id="1">
      <Name>John</Name>
    </Information>
    <Information Id="2">
      <Name>Mike</Name>
    </Information>
  </People>

XML-Datei (Schemaprüfung wird erfolgreich sein):

  <People>
    <Information Id="1">
      <Name>John</Name>
    </Information>
  </People>

vielen Dank im Voraus, Georg

6voto

Mork0075 Punkte 5825

Wenn Sie minOccurs und maxOccurs nicht mit der Sequenz angeben, ist der Standardwert 1.

<xs:element name="Information" minOccurs = "1" maxOccurs = "unbounded">

4voto

<xs:element name="People">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="unbounded" name="Information">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" type="xs:string"/>
            </xs:sequence>
            <xs:attribute name="Id" type="xs:string"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

Probieren Sie dies aus, es wird sicher funktionieren

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X