xml schema
Michael
- xml
Hallo,
kann man in einem XML Schema ein Element für eine xml instance deklarieren, allerdings darf das element an verschiedenen Stellen vorkommen und dabei unterschiedlich Attribute oder Childs aufweisen. Ich weis, dass dies nicht so optimal wäre, aber es wäre der beste Weg um der Problemstellung Herr zu werden. Etwa
<test>
<blumen>
<Rosen> single text </Rosen>
</blumen>
<verkauf>
<Rosen>
<Anzahl> single text </Rosen>
<Preis> single text </Rosen>
<Rosen>
</verkauf>
</test>
Im beispiel sollte in deml xml schema deklariert werden, dass <Rosen/> innerhalb von <blumen/> nur simpleType sein darf. Innerhalb von <verkauf/> aber <Rosen/> die Unterelemente <Anzahl/> und <Preis/> enthalten muessen.
Wäre dankbar fuer Hilfe.
Gruss, Michael
<
Hi,
Im beispiel sollte in deml xml schema deklariert werden, dass <Rosen/> innerhalb von <blumen/> nur simpleType sein darf. Innerhalb von <verkauf/> aber <Rosen/> die Unterelemente <Anzahl/> und <Preis/> enthalten muessen.
Warum ist Anzahl und Preis in deinem Beispiel nicht geschlossen?
Wäre dankbar fuer Hilfe.
Wenn ich nur genau wüsste, was die Frage ist. Komme nicht dahinter.
Mario
Hi,
das Beispiel hatte ein Fehler hinsichtlich der Wohlgeformtheit. Korrektur:
<test>
<blumen>
<Rosen> single text </Rosen>
</blumen>
<verkauf>
<Rosen>
<Anzahl> single text </Anzahl>
<Preis> single text </Preis>
<Rosen>
</verkauf>
</test>
Die Frage ist nun, wie man am besten vorgeht, um das Element <Rosen/> einmal als simpleType und einmal als complexType zu definieren. Deklariert man hierfuer am besten die Types separat in dem Schema und referiert auf diese oder gibt es andere Wege, dies elegant zu umschiffen.
<test>
<blumen>
<Rosen> single text </Rosen>
</blumen>
<verkauf>
<Rosen>
<Anzahl> single text </Anzahl>
<Preis> single text </Preis>
<Rosen>
</verkauf>
</test>
Also ich habe eine ganze Weile nicht mehr mit XML-Schemas hantiert, aber...
~~~xml
<xs:schema>
<xs:element name="blumen">
<xs:complexType>
<xs:element name="Rosen" type="xs:string" />
<xs:element name="Tulpen" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="verkauf">
<xs:complexType>
<xs:element name="Rosen">
<xs:complexType>
<xs:element name="Anzahl" type="xs:string" />
<xs:element name="Preis" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:schema>
Oder so ähnlich, wie gesagt, ist schon ein paar Tage her, dass ich mich mit dem Thema beschäftigt habe und leider auch nicht mehr gebraucht (geübt).