Thomas J.S.: Namensraeume und W3C Schema

Beitrag lesen

Hallo,

ich wuerde ja erwarten, dass z.B. Folgendes geht:
<Bibliothek xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Bibliothek.xsd">
<Books id="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Book1.xsd">
</Books>
<Books id="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Book2.xsd">
</Books>
</Bibliothek>

Das ginge hier nur dann tatsächlich, wenn du einen Namensraum für das  2. <Books> einführen würdest.

--------------------------------------------------
war nur eine Skizze.

Habe jetzt folgendes gemacht:
1.) ein Include: '<xs:include schemaLocation="http://.../Schema-2.xsd"/>'
2.) ein Attribut 'ref' gesetzt: '<xs:element  ref="RequestEnv" minOccurs="0">'

Wobei RequestEnv das Root-Element von "Schema-2" ist. Dann geht's.

Alternativ habe ich zum Root-Element von "Schema-2" einen komplexen Typ angelegt, der alle Elemente beinhaltet, die auch das Rootelement beinhaltet. Dann kann ich, wiederum nach einem Include, in "Schema-1" einem Element den 'type' (s.o. - komplexer Typ) zuweisen.

Was ich da aber genau mache, bleibt mir doch sehr unklar.   ;-)
-----------------------------------------------------

Die "einfachste" alternative wäre, wenn du in deinem <Books> beliebige Elemente zuläßt:

<xs:any namespace="##any" prozessContent="lax" minOccurs="0" maxOccurs="unbounded" />

Danke fuer Deine Hilfe, uebrigens.

Ich bin sicher, man würde mich missverstehen wenn ich sagte "dazu ist das Forum da" ;-)

Grüße
Thomas