| 

.NET C# Java Javascript Exception

6
Hi zusammen,
wie sieht denn eine XSD für eine XML-Struktur aus die beliebig viele in sich verschaltete Unterelemente besitzt?

Hier ein kleines Code-Beispiel:
<root>
<folder>
<folder>
<item />
<item />
</folder>
<item />
</folder>
<item />
<folder>
<folder>
<item />
</folder>
<item />
<item />
</folder>
</root>

In dem wurzelelement "root" dürfen die elemente "folder" und "item" beliebig oft vorhanden sein. Zusätzlich dürfen in jedem "folder"-element wiederum beliebig viele "folder"- und "item"-Elemente vorkommen usw.

Danke
24.10.2011
DaTaBeRt 416 1 7
2 Antworten
1
Florian war schneller, was den Kern Deiner Frage angeht, aber da ich schon halb am Tippen war, gibt es hier noch ein Schema, das zu Deinem Beispiel passt (im Sinne von: wenn Du in deinem XML den Namespace ergänzt, dann ist es valide in Bezug auf das Schema):

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="root" type="folder" />
<xs:element name="folder" type="folder" />
<xs:element name="item" type="xs:string" />

<xs:complexType name="folder">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" ref="folder" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="item" />
</xs:choice>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:schema>


EDIT Auf Nachfrage die Deklaration für das Attribut "name" ergänzt. Einen guten Einstieg in XSD bietet z.B. das Tutorial der w3schools.
24.10.2011
Matthias Hlawatsch 13,2k 4 9
Danke, ihr seid die besten :D
DaTaBeRt 24.10.2011
ok, das hat mir weitergeholfen. Jetzt kommt ein weiterer punkt dazu, jeder der "folder"-elemente hat das attribut "name"!
DaTaBeRt 24.10.2011
1
Hab die Antwort aktualisiert. Der nächste Punkt kostet dann aber extra ;-)
Matthias Hlawatsch 24.10.2011
;) danke dir!
DaTaBeRt 24.10.2011
1
Hallo DaTaBeRt,

hier findest Du ein Beispiel, wie man das macht.

Gruß
Florian
24.10.2011
ffordermaier 8,4k 3 9
Danke, ihr seid die besten :D
DaTaBeRt 24.10.2011

Stelle deine Xml-Frage jetzt!