Moin,
ich möchte ein Schema für generische Datentypen erstellen.
Die XML-Dateien können wie folgt aussehen:
und meine bisherige XML Schema Definition sieht wie folgt aus
Wie immer bin ich offen für Verbesserungsvorschläge, aber insbesondere der 'tree' macht mir Probleme, da die Validierung "Element 'node' cannot have character [children], because the type's content type is element-only." ergibt. Ich verstehe, daß ich es erlauben muß entweder einen Text oder ein node-Element zu erlauben - aber ich sehe im Moment nicht, wie das definiert werden müßte.
Danke im voraus!
Cheers
Vince
ich möchte ein Schema für generische Datentypen erstellen.
Die XML-Dateien können wie folgt aussehen:
Code:
<?xml version="1.0" encoding="UTF-8"?> <data> <list> <item>One</item> <item>Two</item> <item>Three</item> </list> <table> <list> <item>1</item> <item>2</item> <item>3</item> </list> <list> <item>One</item> <item>Two</item> <item>Three</item> </list> <list> <item>I</item> <item>II</item> <item>III</item> </list> </table> <database> <table> <list> <item>1</item> <item>2</item> <item>3</item> </list> <list> <item>One</item> <item>Two</item> <item>Three</item> </list> <list> <item>I</item> <item>II</item> <item>III</item> </list> </table> <table> <list> <item>10</item> <item>20</item> <item>30</item> </list> <list> <item>Ten</item> <item>Twenty</item> <item>Thirty</item> </list> <list> <item>X</item> <item>XX</item> <item>XXX</item> </list> </table> </database> <tree> <node> <node>1.1</node> <node>1.2</node> </node> <node> <node> <node>2.1.1</node> <node>2.1.2</node> </node> <node> <node>2.2.1</node> </node> <node> <node>2.3.1</node> <node>2.3.2</node> <node>2.3.3</node> </node> </node> <node/> </tree> </data>
Code:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- Data --> <xs:element name="data"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="list" /> <xs:element ref="table" /> <xs:element ref="database" /> <xs:element ref="tree" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <!-- List --> <xs:element name="list"> <xs:complexType> <xs:sequence> <xs:element name="item" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Table --> <xs:element name="table"> <xs:complexType> <xs:sequence> <xs:element ref="list" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Database --> <xs:element name="database"> <xs:complexType> <xs:sequence> <xs:element ref="table" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Tree --> <xs:element name="tree"> <xs:complexType> <xs:sequence> <xs:element ref="node" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Tree node --> <xs:element name="node" type="nodeType" /> <!-- Tree node type --> <xs:complexType name="nodeType"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="node" type="nodeType"></xs:element> </xs:sequence> </xs:complexType> </xs:schema>
Danke im voraus!
Cheers
Vince
Comment