Gast: Validierung von Attributen: entweder oder

Hallo,

ich möchte in meinem RELAX-NG-Compact-Schema folgendes ausdrücken: Foo hat entweder das Attribut quux und ein Kindelement, oder das Attribut bar und gar keine Kindelemente. Ich habe die Spec gelesen und dazu nix gefunden. Ist das überhaupt in Schemas möglich?

element Foo {
    attribute bar { ... },
    attribute quux { ... },
    element Foo_child {
        ...
    },
}

  1. Hallo,

    ich möchte in meinem RELAX-NG-Compact-Schema folgendes ausdrücken: Foo hat entweder das Attribut quux und ein Kindelement, oder das Attribut bar und gar keine Kindelemente. Ich habe die Spec gelesen und dazu nix gefunden. Ist das überhaupt in Schemas möglich?

      
    datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"  
      
    element foo {  
        ( attribute bar { xsd:string } )  
        | ( attribute quux { xsd:string }, element foo_child { xsd:string } )  
    }  
    
    

    Grüße
    Thomas

    1. |

      Das funktioniert. Danke!