Jever: Gleiche Attribute in einer XSD abfangen

Hallo,

ich habe eine XML Datei:

  <java>  
    <option para="value">12345</option>  
    <option para="optional">add</option>  
    <option para="extension">.ert</option>  
    <option para="verify">374fnwiuvt3mwu</option>  
  </java>

diese möchte ich mit einer Schemadatei validieren.

Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.

  <xs:element name="option">  
    <xs:complexType mixed="true">  
      <xs:attribute name="para" use="required" fixed="value">  
      </xs:attribute>  
    </xs:complexType>  
  </xs:element>

Leider kann ich ja nicht mehrere:

<xs:attribute name="para" use="required" fixed="value">  
<xs:attribute name="para" use="required" fixed="optional">  
...

hintereinander schreiben.

  1. Hi,

    ich habe eine XML Datei:

    <java>

    <option para="value">12345</option>
        <option para="optional">add</option>
        <option para="extension">.ert</option>
        <option para="verify">374fnwiuvt3mwu</option>
      </java>

    
    >   
    > diese möchte ich mit einer Schemadatei validieren.  
    >   
    > Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.  
      
    Kannst Du das Format der XML-Datei ändern?  
    Denn m.W. ist es nicht möglich, die Anforderung 'Element muß einmal mit para-Attribut="value", danach einmal mit para-Attribut="optional" usw.' in ein Schema zu gießen.  
      
    Sinnvoller wäre es, das XML so aufzubauen:  
      
    ~~~xml
    <java>  
        <value>12345</value>  
        <optional>add</optional>  
        <extension>.ert</extension>  
        <verify>374fnwiuvt3mwu</verify>  
    </java>
    

    <xs:attribute name="para" use="required" fixed="value">

    fixed ist ja auch falsch, denn das para-Attribut des option-Elements soll ja nicht einen fixen Wert haben, sondern einen von 4 verschiedenen.

    Meiner Meinung nach ist <xs:attribute name="bla" use="required" fixed="value"> eigentlich unsinnig - wenn das Attribut immer da sein muß (required) und nur einen einzigen Wert haben darf (fixed), dann kann man es auch ganz weglassen (und diesen Wert in der Logik des Programms unterbringen, das das XML benutzt).

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Hi,

      ich habe eine XML Datei:

      <java>

      <option para="value">12345</option>
          <option para="optional">add</option>
          <option para="extension">.ert</option>
          <option para="verify">374fnwiuvt3mwu</option>
        </java>

      
      > >   
      > > diese möchte ich mit einer Schemadatei validieren.  
      > >   
      > > Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.  
      >   
      > Kannst Du das Format der XML-Datei ändern?  
      > Denn m.W. ist es nicht möglich, die Anforderung 'Element muß einmal mit para-Attribut="value", danach einmal mit para-Attribut="optional" usw.' in ein Schema zu gießen.  
        
      Hallo,  
      dass habe ich mir fast schon gedacht. Hatte es mittlerweile schon geändert nach deinem Vorschlag.  
      Gruß  
        
      Jever