Hallo,
wahrscheinlich liegt eine Lösung hierzu bereits in den Tiefen des Forums, konnte aber nichts finden. Somit ...
Hier ist die Datenstruktur die ich mittels Schema beschrieben haben müsste:
Alles anzeigen
Ich will das ich mit dem Namen "COL" unterschiedliche komplexe Typen abgeleitet von "TYPE_COL" in unterschiedlicher Reihenfolge verwenden kann (Hier im Beispiel unterscheidet sich DATA zwischen "string" und "integer").
Das bisherige noch nicht funktionierende Schema (Common-Baseline.xsd):
Alles anzeigen
Nehme ich <xs:element name="COL" type="TYPE_COL_INTEGER"/> oder <xs:element name="COL" type="TYPE_COL_STRING"/> raus und reduziere das Beispiel auf entweder "integer" oder "string", dann funktionierts. Aber das ist leider nicht das was ich brauche.
Hat jemand eine Idee und kann mir da helfen ?
Danke, Rob.
wahrscheinlich liegt eine Lösung hierzu bereits in den Tiefen des Forums, konnte aber nichts finden. Somit ...
Hier ist die Datenstruktur die ich mittels Schema beschrieben haben müsste:
Quellcode
- <?xml version='1.0' encoding='UTF-8'?>
- <RESULT_TABLE_TEST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Common-Baseline.xsd">
- <COL>
- <NAME>ID</NAME>
- <DATA>88</DATA>
- </COL>
- <COL>
- <NAME>DESCRIPTION</NAME>
- <DATA>SomeText1</DATA>
- </COL>
- <COL>
- <NAME>COUNT</NAME>
- <DATA>89</DATA>
- </COL>
- <COL>
- <NAME>VALUE</NAME>
- <DATA>SomeText2</DATA>
- </COL>
- <!--
- ...
- -->
- </RESULT_TABLE_TEST>
Ich will das ich mit dem Namen "COL" unterschiedliche komplexe Typen abgeleitet von "TYPE_COL" in unterschiedlicher Reihenfolge verwenden kann (Hier im Beispiel unterscheidet sich DATA zwischen "string" und "integer").
Das bisherige noch nicht funktionierende Schema (Common-Baseline.xsd):
Quellcode
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="RESULT_TABLE_TEST" type="TYPE_COLS"/>
- <xs:complexType name="TYPE_COLS">
- <xs:sequence>
- <xs:element name="COL" type="TYPE_COL_INTEGER"/>
- <xs:element name="COL" type="TYPE_COL_STRING"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="TYPE_COL" abstract="true">
- <xs:all/>
- </xs:complexType>
- <xs:complexType name="TYPE_COL_STRING">
- <xs:complexContent>
- <xs:extension base="TYPE_COL">
- <xs:all>
- <xs:element name="DATA" type="xs:string"/>
- <xs:element name="NAME" type="xs:string"/>
- </xs:all>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="TYPE_COL_INTEGER">
- <xs:complexContent>
- <xs:extension base="TYPE_COL">
- <xs:all>
- <xs:element name="DATA" type="xs:integer"/>
- <xs:element name="NAME" type="xs:string"/>
- </xs:all>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:schema>
Nehme ich <xs:element name="COL" type="TYPE_COL_INTEGER"/> oder <xs:element name="COL" type="TYPE_COL_STRING"/> raus und reduziere das Beispiel auf entweder "integer" oder "string", dann funktionierts. Aber das ist leider nicht das was ich brauche.
Hat jemand eine Idee und kann mir da helfen ?
Danke, Rob.