Mein Problem:
Ich habe mittels XML-Schemas unter dem Namespace "../CommonUsed/Types"
einen "complexType" namens "Element" definiert, dieser enthält eine qualifizierte Elementdeklaration "description".
Des weiteren habe ich unter dem Namespace "../Metadata/Types" einen
"complexType" mit dem Namen "Abstract-Stencil" definiert, welcher
"Element" erweitert. Unter dem Namespace "../Metadata" deklariere
ich ein Element("stencil") vom eben diesem Typ("Abstract-Stencil").
Möchte ich nun eine "Instanz" des Namespaces "../Metadata" anlegen,
muss ich für das "description" Element den Namespace
"../CommonUsed/Types" verwenden, was ich aber nicht möchte.
Wenn ich aber die Elementdeklaration für den Typ "Abtstract-Stencil"
in der gleichen Datei halte wie die Definition seiner selbst("Abstract-Stencil"),
so kann ich problemlos das "description" Element unter dem Namespace
im welchem "Abstract-Stencil" definiert und deklariert wurde verwenden.
Ich möchte aber Typdefinition und deren Deklaration weites gehend
voneinander Trennen.
Wie kann ich das Realisieren?
Hier noch ein paar Ausschnitte der wichtigsten Stellen:
<xs:schema targetNamespace="../CommonUsed/Types"
xmlns:target="../CommonUsed/Types"
elementFormDefault="qualified">
<xs:complexType name="Element">
xs:complexContent
<xs:restriction base="xs:anyType">
xs:all
<xs:element name="description"
type="xs:string"
minOccurs="0"
maxOccurs="1"/>
</xs:all>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
<xs:schema targetNamespace="../Metadata/Types"
xmlns:target="../Metadata/Types"
xmlns:types="../CommonUsed/Types"
elementFormDefault="qualified">
<xs:import namespace="../CommonUsed/Types"
schemaLocation="Pfadangabe zum entsprechenden Schema"/>
<xs:complexType name="Abstract-Stencil">
xs:complexContent
<xs:extensionn base="types:Element">
xs:sequence
<xs:element name="stencil"
type="target:Abstract-Stencil"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
<xs:schema targetNamespace="../Metadata"
xmlns:target="../Metadata"
xmlns:types="../Metadata/Types"
elementFormDefault="qualified">
<xs:import namespace="../Metadata/Types"
schemaLocation="Pfadangabe zum entsprechenden Schema"/>
<xs:element name="stencil" type="types:Abstract-Stencil"/>
</xs:schema>
<stencil xmlns="../Metadata"
schemaLocation="../Metadata
Pfadangabe zum entsprechenden Schema">
<decription/><!--
Genau hier wird jetzt der
entsprechende NS gefordert :-(
-->
</stencil>