Hoi,
ich habe eine xml-Datei, in der in Abhängigkeit eines Attributs der Inhalt anders ist. Folgendes Beispiel:
[XML]
<map name="test 1" type="type1">
<bla>Test</bla>
</map>
<map name="test 2" type="type2">
<blub>Test2</blub>
</map>
[/XML]
Wie sieht dazu eine passende Schema Definition aus? Mein aktueller Versuch sieht in etwa so aus:
[XML]
<xs:element name="map" type="type1" minOccurs="0" maxOccurs="1" />
<xs:element name="map" type="type2" minOccurs="0" maxOccurs="unbounded"/>
<xs:complexType name="type1">
<xs:attribute name="type" fixed="type1" type="xs:string"/>
<xs:element name="bla" type="xs:string"/>
</xs:complexType>
<xs:complexType name="type2">
<xs:attribute name="type" fixed="type2" type="xs:string"/>
<xs:element name="blub" type="xs:string"/>
</xs:complexType>
[/XML]
Das geht aber nicht, da ich nur ein element mit dem namen "map" verwenden darf.
Hat jemand ne Idee wie man das sonst definieren kann?
ich habe eine xml-Datei, in der in Abhängigkeit eines Attributs der Inhalt anders ist. Folgendes Beispiel:
[XML]
<map name="test 1" type="type1">
<bla>Test</bla>
</map>
<map name="test 2" type="type2">
<blub>Test2</blub>
</map>
[/XML]
Wie sieht dazu eine passende Schema Definition aus? Mein aktueller Versuch sieht in etwa so aus:
[XML]
<xs:element name="map" type="type1" minOccurs="0" maxOccurs="1" />
<xs:element name="map" type="type2" minOccurs="0" maxOccurs="unbounded"/>
<xs:complexType name="type1">
<xs:attribute name="type" fixed="type1" type="xs:string"/>
<xs:element name="bla" type="xs:string"/>
</xs:complexType>
<xs:complexType name="type2">
<xs:attribute name="type" fixed="type2" type="xs:string"/>
<xs:element name="blub" type="xs:string"/>
</xs:complexType>
[/XML]
Das geht aber nicht, da ich nur ein element mit dem namen "map" verwenden darf.
Hat jemand ne Idee wie man das sonst definieren kann?