xs:import

(Auszug aus "XML Schema" von Eric van der Vlist)

Import eines W3C XML Schemas für einen anderen Namensraum.

<xs:import
    id = xs:ID
    namespace = xs:anyURI
    schemaLocation = xs:anyURI
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?)
</xs:import>

Kann auftreten innerhalb von: xs:schema

Beschreibung

xs:import identifiziert den Ort, an dem ein Validierer für W3C XML Schema die Definitionen, die zu anderen Namensräumen als dem Ziel-Namensraum des aktuell vorliegenden Schemas gehören, finden kann.

Alle globalen Definitionen (Elemente, Attribute, Element- und Attributgruppen, einfache und komplexe Typen) sowie Eindeutigkeits- und Schlüsselbedingungen der importierten Schemas können unter Verwendung eines Namensraum-Präfixes, das für den jeweiligen Namensraum-URI definiert wird, referenziert werden.

Die Schema-Orte, die in xs:import-Elementen angegeben sind, werden Schema-Validierern nur als Hinweise zur Verfügung gestellt und dürfen weggelassen werden. In diesem Fall besagt die Recommendation, daß »der Schema-Autor die Identifikation jenes Schemas der Instanz, der Anwendung oder dem Anwender über die in ›Ebene 3: Schemadokument-Zugriff und Web-Interoperabilität‹ definierten Mechanismen überläßt«.

xs:import kann auch verwendet werden, um Komponenten ohne Ziel-Namensraum in Schemas mit Ziel-Namensraum zu importieren.

Einschränkungen

xs:import darf nicht verwendet werden, um Komponentendefinitionen aus dem Ziel-Namensraum zu importieren, da für diesen Zweck zwei andere Elemente bereitstehen (siehe xs:include und xs:redefine).

Nur globale Komponentendefinitionen der importierten Schemas können referenziert werden (lokale Definitionen können nie referenziert werden).

Die Geltungsbereichsregeln, die für das Element xs:keyref beschrieben werden, gelten auch für Verweise zwischen Bedingungen für Elemente, die zu verschiedenen Namensräumen gehören. (Das Wurzelelement der keyref-Bedingung muß ein Ahne des Wurzelelements für die Eindeutigkeits- oder Schlüsselbedingung oder aber dieses Wurzelelement selbst sein.)

Beispiel

<xs:schema targetNamespace="http://dyomedea.com/ns/library" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ppl="http://dyomedea.com/ns/people" xmlns:lib="http://dyomedea.com/ns/library">
    <xs:import namespace="http://dyomedea.com/ns/people" schemaLocation="simple-2-ns-ppl.xsd"/>
    <xs:element name="library">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="book" type="lib:bookType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="bookType">
        <xs:sequence>
            <xs:element name="isbn" type="xs:NMTOKEN"/>
            <xs:element name="title" type="xs:string"/>
            <xs:element name="authors">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element ref="ppl:person"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="characters">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element ref="ppl:person" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="xs:ID" use="required"/>
        <xs:attribute name="available" type="xs:string" use="required"/>
    </xs:complexType>
</xs:schema>

Attribute

id
Element-ID laut W3C XML Schema.

namespace
Namensraum-URI der zu importierenden Komponenten. Wenn dieses Attribut fehlt, wird angenommen, daß die importierten Komponenten keinen Namensraum haben. Anderenfalls muß der Wert ein anderer als der Ziel-Namensraum des importierenden Schemas sein.

schemaLocation
Ort des zu importierenden Schemas. Wenn dieses Attribut fehlt, könnte der Validierer erwarten, die Information von der Anwendung zu erhalten oder sie im Internet zu finden.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML Schema bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2003 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML Schema" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de