Mehrere Schemaquellen

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  SPS-Datei: Struktur > Schemaquellen >

Mehrere Schemaquellen

Sie können in Ihrem SPS mehrere Schemaquellen verwenden. Auf diese Art können Sie Daten aus verschiedenen XML-Dokumenten in der Ausgabe kombinieren. Angenommen Sie haben in dem einen XML-Dokument die Struktur eines Unternehmens mit seinen verschiedenen Abteilungen. In einem anderen XML-Dokument haben Sie eine Auflistung des Personals in den verschiedenen Abteilungen. Im Ausgabedokument können die Daten der Unternehmensstruktur (erstes XML-Dokument) und die Personaldaten (zweites XML-Dokument) miteinander kombiniert werden.

 

Anmerkung:Wenn es in der Reihe der verwendeten Schemas zwei oder mehrere globale Elemente gibt, die denselben erweiterten QName haben, kommt es zu einem Namenskonflikt und eines oder mehrere der betroffenen Schemadokumente werden ungültig. Sie müssen daher gewährleisten, dass nicht zwei globale Elemente in den zahlreichen verwendeten Schemas denselben erweiterten QName haben. Lokale Elemente in mehreren Schemas haben denselben erweiterten QName wie andere lokale Elemente und verursachen keine Namenskonflikte.

 

Hinzufügen mehrerer Schemas

Um die dynamischen XML-Daten aus verschiedenen Dokumenten miteinander zu kombinieren, müssen Sie zuerst die verschiedenen beteiligten Schemas zum SPS hinzufügen. Dies erfolgt in der Seitenleiste "Design-Übersicht" (Abbildung unten). Daraufhin wird in der Seitenleiste "Schema-Struktur" eine Baumstruktur für die einzelnen Schemas erstellt. Sie können für jedes hinzugefügte  Schema die XML-Arbeitsdatei, die XML-Vorlagendatei und Root-Elemente hinzufügen (siehe Abbildung unten und das Kapitel Seitenleiste "Design-Übersicht"). Die globalen Elemente in allen  hinzugefügten Schemas werden in der Struktur "Alle globalen Elemente" der Seitenleiste "Schema-Struktur" aufgelistet und stehen zur Erstellung als globale Vorlagen zur Verfügung.

 

WinSchemaSrcMultipleXSD

 

Beachten Sie, dass XML-Signaturen nur für die Hauptquelldatei aktiviert werden können.

 

Jede Schemaquelle wird durch einen Parameter in der Form $XML1 (DTD oder XML-Schemas) oder $DB1 (DB-basiertes Schema) oder $USER1 (benutzerdefiniertes Schema) gekennzeichnet. Diese drei Arten von Schemas können in einem einzigen SPS kombiniert werden (siehe Abbildung unten). Beachten Sie jedoch, dass zwar beliebig viele DTDs und/oder XML-Schemas zu einem SPS hinzugefügt werden können, jedoch nur je ein Datenbank-basiertes Schema und ein benutzerdefiniertes Schema.

 

WinSchemaSrcMultipleMixedXSD

 

Auswahl des Hauptschemas

Von allen Schemas, die zum SPS hinzugefügt wurden, kann nur eines als Hauptschema definiert werden. In der Seitenleiste "Schema-Struktur" und in der Seitenleiste "Design-Übersicht" wird dies dadurch gekennzeichnet, dass neben dem Hauptschema das Wort (main) angezeigt wird. Der Dokument-Node des XML-Dokuments, der dem Hauptschema entspricht, ist der Ausgangspunkt für die Transformation. Um das Hauptschema auszuwählen, rechtsklicken Sie in der Seitenleiste "Design-Übersicht" auf das Schema und wählen Sie Als Hauptschema definieren.

 

Hinzufügen von Nodes aus verschiedenen Schemas zum Design

In der Hauptvorlage werden Nodes aus verschiedenen Schemas zum Design hinzugefügt. Ziehen Sie dazu die entsprechenden Nodes aus ihrer Schemastruktur in  die Hauptvorlage. Eine globale Vorlage wird auf dieselbe Weise wie bei einem einzelnen Schema erstellt. Sie kann kopiert oder von einer lokalen Vorlage verwendet werden oder Sie kann bei Aufruf über die Hauptvorlage über die Anweisung "Restlicher Inhalt" anstelle der vordefinierten Vorlage verwendet werden.

 

Verwendung von Schemaparametern in externen Transformationen

Jedes Schema, das zum SPS hinzugefügt wurde, wird durch einen Parameter gekennzeichnet. Z.B. $XML (für DTDs oder XML-Schemas) oder $DB (DB-basiertes Schema) oder $USER (benutzerdefiniertes Schema). In StyleVision ist die XML-Arbeitsdatei, die mit den einzelnen Schemas verknüpft ist, der Applikation bekannt, sodass die korrekten Dokument-Nodes aufgerufen werden, sodass Daten aus XML-Quellen in der Authentic-Ansicht und den Ausgabe-Vorschauen angezeigt werden. Beim Generieren von XSLT Stylesheets anhand des SPS sind allerdings im Stylesheet keine Verknüpfungen mit XML-Dateien enthalten. Um eine XML-Datei mit den einzelnen Schemas im XSLT Stylesheet zu verknüpfen, müssen Sie den Pfad zur XML-Datei als Wert des entsprechenden Schemaparameters übergeben. So hätte z.B. der Schemaparameter $XML der obigen Abbildung zufolge einen Wert "[path]NanonullOrg.xml".

 

Anmerkung: Beachten Sie bitte die folgenden Punkte.

 

Bei Datenbank-basierten Schemas sollte als Wert des $DB Parameters die von der Datenbank generierte XML-Datei (über Datei | Generierte Dateien speichern) übergeben werden.
Alle Werte, die für den Hauptschemaparameter übergeben werden, werden ignoriert. Das XSLT Stylesheet verwendet als Ausgangspunkt den Dokument-Node des transformierten XML-Dokuments.

 

 

 


© 2019 Altova GmbH