Freigeben über


Schemas, die andere Schemas verwenden

Überblick

Ihre Schemas können groß und kompliziert werden, während Schemas, die die verschiedenen Instanznachrichttypen darstellen, gleiche Abschnitte haben können. In solchen Fällen kann es hilfreich sein, kleinere Schemas in die Schemas zu integrieren, die letztendlich die Struktur der Instanznachrichten definieren, die Sie mit Ihren Handelspartnern austauschen möchten Sie haben zum Beispiel mehrere Nachrichtentypen, in denen eine Versandadresse angegeben werden muss. Sie können die Struktur einer Versandadresse in einem einzelnen Schema definieren und dieses Schema in anderen Schemas verwenden, die beispielsweise Auftrags-, Rechnungs- und Versandbestätigungs-Nachrichtenschemas definieren.

Importieren, Einschließen und Neudefinieren

Die XSD-Sprache (XML-Schemadefinition) bietet drei von BizTalk-Editor unterstützte miteinander verwandte Mechanismen für die gemeinsame Verwendung von mehreren Schemas. In der folgenden Tabelle werden die Merkmale dieser Mechanismen zusammengefasst, die in XSD definiert sind.

Multischema-Mechanismus Verwendungsszenario
Importieren – Greift auf typen zu, die im importierten Schema definiert sind.
- Muss Typen im importierten Schema unverändert verwenden oder neue Typen daraus ableiten; Keine Typänderung zulässig.
– Stellt einen Mechanismus für die Verwendung von Typen bereit, die in anderen Namespaces definiert sind. Ein importiertes Schema muss einen Zielnamespace haben, der sich vom Import-Schema unterscheidet.
– Verwendet das import-Element und seine Namespace - und schemaLocation-Attribute , um auf das andere Schema zu verweisen.
Einschließen – Greift auf Typen zu, die im enthaltenen Schema definiert sind, und verwendet sie.
- Muss Typen im enthaltenen Schema unverändert verwenden oder neue Typen daraus ableiten; Keine Typänderung zulässig.
– Das enthaltene Schema muss sich im gleichen Zielnamespace wie das eingeschlossene Schema befinden, oder der Zielnamespace des eingeschlossenen Schemas muss leer sein.
– Verwendet das include-Element und das zugehörige schemaLocation-Attribut , um auf das andere Schema zu verweisen.
Redefine (Neu definieren) – Greift auf typen zu, die im neu definierten Schema definiert sind.
- Kann Typen im neu definierten Schema unverändert verwenden, neue Typen daraus ableiten oder Änderungen an ihnen angeben.
– Das neu definierte Schema muss sich im gleichen Zielnamespace wie das neu definierende Schema befinden, oder der Zielnamespace des neu definierten Schemas muss leer sein.
– Verwendet das redefine-Element und das zugehörige schemaLocation-Attribut , um auf das andere Schema zu verweisen. Alle Typredefinitionen werden mit dem redefine-Element angegeben. Hinweis: Die Verwendung des Neudefinierungsmechanismus ist ein erweitertes XSD-Konzept und sollte nur verwendet werden, nachdem Sie über ausreichende Kenntnisse darüber verfügen, wie und wann er verwendet werden soll.

Hinweis

Vollständige Informationen zu den Unterschieden und Ähnlichkeiten zwischen import-, include- und redefine-Mechanismen finden Sie in den unter XSD-Ressourcen im Web aufgeführten Verweise.

Wichtige Details

Zum Verwenden eines Typs, der in einem Schema (Schema1) definiert ist, in einem anderen Schema (Schema2), müssen Sie in Schema2 einen Verweis auf Schema1 hinzufügen. Verwenden Sie dazu die Imports-Eigenschaft des Schemaknotens in Schema2. Wenn Sie im Eigenschaftenfeld Imports auf die Schaltfläche mit den Auslassungspunkten (...) klicken, wird das Dialogfeld Importe geöffnet. Wählen Sie in der Dropdownliste Neues Schema importieren als die Option XSD-Import, XSD Include oder XSD Neu definieren aus. Klicken Sie dann auf Hinzufügen , um das Dialogfeld BizTalk-Typauswahl zu öffnen, und navigieren Sie in Ihrem BizTalk-Projekt, um Schema1 auszuwählen.

Ausführliche Anweisungen zu diesen Schritten finden Sie unter Erstellen von Schemas, die andere Schemas verwenden.

Wenn Sie das Dialogfeld Importe verwenden, um ein anderes Schema zu importieren, einzuschließen oder neu zu definieren, wird mindestens eines der XSD-Elemente importieren, einschließen und neu definieren der XSD-Darstellung Ihres Schemas hinzugefügt, einschließlich der entsprechenden Attribute und Attributwerte. Außerdem wird im Fall des Importelements dem Schemaelement eine Präfixdeklaration für den Namespace des anderen Schemas hinzugefügt.

Alle globalen Typen (z. B . ComplexTypes, SimpleTypes, Elementgruppen, Attributgruppen) in einem importierten/eingeschlossenen/neu definierten Schema sind automatisch für die Verwendung innerhalb des Schemas verfügbar, in das das frühere Schema importiert, eingeschlossen oder neu definiert wird. Beispielsweise werden globale ComplexTypes , die in einem importierten/eingeschlossenen/neu definierten Schema definiert sind, der Dropdownliste der Eigenschaft Data Structure Type für alle Record-Knoten im Import, einschließlich oder Neudefinition des Schemas, hinzugefügt. Weitere Details zu dieser Eigenschaft finden Sie in der Referenz zu Benutzeroberflächenleitfaden und API-Namespaces für Entwickler.

Weitere Informationen

Informationen zu Schemas
Erstellen von Schemas, die andere Schemas verwenden
Erstellen von Verweisen auf einen anderen Knoten oder Typ