Fehlermeldung bei XML-XSD Validierung



  • Hallo,

    habe ein Problem mit meinem XML- Schema. Kann mir bitte jemand helfen? 😕

    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <Liste>
     <Personen Tabelle="Muenchen">
        <Feld FeldName="zero">
          <Name>Christa</Name>
          <Nummer>1</Nummer>
        </Feld>
        <Feld Feldname="Bonn">
          <Name>Leon</Name>
          <Nummer>5</Nummer>
          <Zustand>aktiv</Zustand>
        </Feld>
        <Feld Datenbankfeldname="Stuttgart">
          <Name>Theo</Name>
          <Familienstand>verheiratet</Familienstand>
          <Anzahl_Kinder>2</Anzahl_Kinder>
        </Feld>
      </Personen>
    </Liste>
    

    und hier das entsprechende Schema:

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <xs:element name="Liste">
     <xs:complexType mixed="true" /> 
    </xs:element>
      <xs:element name="Personen">
        <xs:complexType mixed="true" /> 
      </xs:element>
          <xs:element name="Feld" >
           <xs:complexType>
    	    <xs:choice>
    	      <xs:sequence>
    	         <xs:element name="Name" type="xs:string" >
    	         <xs:element name="Nummer" type="xs:integer" />   
    	         <xs:element name="Zustand" type="xs:integer" >
    	         <xs:element name="Familienstand" type="xs:integer">
                      <xs:restriction base="string">
                        <xs:enumeration value="verheiratet"/>
    		  <xs:enumeration value="ledig"/>
    		  <xs:enumeration value="verwitwet"/>
    		  <xs:enumeration value="geschiede"/>
    		  <xs:enumeration value="getrennt lebend"/>
    		  <xs:enumeration value="Lebensgemeinschaft"/>
                      </xs:restriction>
    	         <xs:element name="Anzahl_Kinder" type="xs:string"/>
    		 </xs:sequence>
    	         </xs:choice>
    
            <xs:attribute name="Tabelle" type="xs:string" use="required" />
            <xs:attribute name="Feldname" type="xs:string" use="required" />
    
     </xs:complexType>
    </xs:element>
    
    </xs:schema>
    

    Bevor ich die enumeration Geschichte eingefügt habe, war die Validation okay.
    Danach aber nicht mehr. Ich muss aber einschränken, dass z.B. der Knoten Familienstand nur die aufgeführten Inhalte (Values) besitzten darf.

    Hier die Fehlermeldung: Element xs:restriction ist unter xs:sequence nicht zulässig.

    Wenn ich das sequence raushole, obwohl die Reihenfolge der Inhalte schon wichtig ist, dann klappt es auch nicht, dann sagt er, dass xs:restriction nicht unter </xs:choise> sein darf usw.

    Bitte um eure Hilfe 🙂

    Vielen Dank



  • Übigens sind die Enttags, die ich bei Zustand und Familienstand vergessen habe schon aufgefallen. Konnte das hier im Nachhinein aber leider nicht korrigieren.
    Daher hier der Hinweis.

    Danke


Anmelden zum Antworten