Altova SchemaAgent 2024

Die Tutorial-Schemas book_store.xsd und library.xsd haben unterschiedliche Ziel-Namespaces. Das sehen Sie ganz einfach, wenn Sie beide Schemas aus dem Ordner "import" in das SchemaAgent-Hauptfenster ziehen und deren Namespaces erweitern:

sa_tutorial_import_types1

Laut obigem Diagramm:

 

hat das Schema book_store.xsd den Ziel-Namespace http://www.xmlspy.com/schemas/orgchart. Dies ist auch der Standard-Namespace. Das Präfix xsd ist auf den Namespace http://www.w3.org/2001/XMLSchema gemappt.

Das Schema library.xsd hat den Ziel-Namespace https://www.altova.com/IPO. Dies ist auch der Standard-Namespace. Das Präfix xs ist auf den Namespace http://www.w3.org/2001/XMLSchema gemappt. Das Präfix ns1 ist auf den Namespace http://www.xmlspy.com/schemas/orgchart gemappt.

 

Angenommen, Sie benötigen bei der Arbeit mit dem Schema library.xsd den Typ bookType aus dem Namespace http://www.xmlspy.com/schemas/orgchart (welches der Ziel-Namespace von book_store.xsd ist). Um Schema-Dokumente mit unterschiedlichen Ziel-Namespaces, wie in diesem Fall miteinander zu kombinieren, muss eine Import-Beziehung verwendet werden. Die Import-Beziehung zwischen den beiden Schemas wurde bereits in einem vorherigen Schritt des Tutorials hinzugefügt, siehe Erstellen einer Import-Beziehung. In diesem Teil des Tutorials verwenden Sie einen Typ aus dem importierten Namespace. Zuerst verwandeln wir den lokalen Typ bookType in einen globalen complexType. Anschließend können Sie im Schema library.xsd ein neues Element dieses Typs deklarieren.

So verwandeln Sie die Komponente "book" in einen globalen complexType:

1.Klicken Sie in SchemaAgent Client mit der rechten Maustaste auf book_store.xsd und wählen Sie im Kontextmenü den Befehl In XMLSpy bearbeiten (Strg+Y).

2.Klicken Sie in XMLSpy auf das Symbol Diagramm anzeigen ic_component für das Element book_store, um dessen Content Model anzuzeigen.

3.Klicken Sie auf das "+"-Symbol, um das Element bookInfo zu erweitern.

book_store_content_model3

4.Klicken Sie mit der rechten Maustaste auf das Element book und wählen Sie im Kontextmenü den Befehl Als global definieren | Complex type.

5.Speichern Sie die Datei.

So importieren Sie bookType in library.xsd:

1.Klicken Sie in SchemaAgent Client mit der rechten Maustaste auf library.xsd und wählen Sie im Kontextmenü den Befehl In XMLSpy bearbeiten (Strg+Y).

2.Klicken Sie in XMLSpy auf das Symbol Diagramm anzeigen ic_component für das Element library, um dessen Content Model anzuzeigen.

library_content_model

3.Klicken Sie auf das "+"-Symbol, um das Element bookInfo zu erweitern.

library_content_model2

4.Klicken Sie mit der rechten Maustaste auf das Sequence-Symbol hinter dem Element bookInfo und wählen Sie den Befehl Child hinzufügen | Element.

5.Geben Sie den Namen "bookDetails" für das Element ein.

6.Während das Element "bookDetails" ausgewählt ist, wählen Sie in der Eingabehilfe "Details" in der Dropdown-Liste type den Typ ns1:bookType.

sa_tutorial_import_types5

7.Speichern und schließen Sie die Datei.

 

Wir haben nun einen Typ aus dem Schema book_store.xsd in das Schema library.xsd importiert.

sa_tutorial_import_types6

© 2018-2024 Altova GmbH