Skip to main content
Skip table of contents

XSL-Mapping anlegen und verwenden

Mappings lassen sich innerhalb eines ESB-Projekts im Ordner Transformations anlegen.

Hierzu stehen zwei Möglichkeiten zur Verfügung:

  • Menü Project > Add XSL Stylesheet
  • Kontextmenü New > XSL Stylesheet


So legen Sie ein XSL-Mapping an

  1. Klicken Sie im ESB-Projekt mit der rechten Maustaste auf den Ordner Transformations, um das Kontextmenü aufzurufen.
  2. Rufen Sie im Kontextmenü New > XSL Stylesheet auf.
    Eine Auswahl an verfügbaren Vorlagen wird angezeigt.
  3. Wählen Sie eine leere Vorlage oder eine vorhandene Vorlage.

  4. Geben Sie in File Name den Dateinamen ein.

  5. Wählen Sie Finish aus, um das XSL-Mapping anzulegen.
    Das XSL-Mapping wurde angelegt und wird im Mapping Editor geöffnet

Quell- und Zieldatenstruktur im XSL-Mapping definieren

Im ersten Schritt legen Sie die Quelldatenstruktur der Transformation fest. Das heißt, dass Sie den linken Bereich (=Quelldokument-Bereich) des XSL-Mappings mit Quelldaten befüllen.

Dazu haben Sie in der Design-Ansicht drei Möglichkeiten: 

  1. Ziehen Sie ein XML-Quelldokument (XML-Dokument oder XML-Schema) aus der Sicht Projects per Drag&Drop in den Quelldokument-Bereich des Mapping Editors.
    Alternativ können Sie mit der rechten Maustaste in den Quelldokument-Bereich des XSL-Mappings klicken und Assign Input auswählen, um eine Datei zum Einfügen auszuwählen. Zur Auswahl stehen alle Projekte aus der Sicht Projects.



    Der Namespace xmlns:xs="http://www.w3.org/2001/XMLSchema" und das Attribut exclude-result-prefixes="xs" ermöglichen die Verwendung von Datentypen in Verbindung mit XPath 2.0. Beide Einträge sind nur in neu angelegten XSL-Stylesheets enthalten, die nicht auf einer Vorlage basieren.

  2. Klicken Sie mit der rechten Maustaste in den Quelldokument-Bereich des XSL-Mappings, und wählen Sie Paste Input, um den Inhalt der Zwischenablage einzufügen. 
    Beispiel: Sie können beim Debuggen eines Prozesses die Daten aus der Sicht Output in die Zwischenablage kopieren und hier einfügen, oder Sie können XML-Daten aus einem Editor kopieren und hier einfügen. 


  3. a. Um den Output einer Adapter-Operation zu nutzen:
    Ziehen Sie einen Adapter, der in einem Prozess verwendet wird, per Drag&Drop in den Quelldokument-Bereich des XSL-Mappings.
    b. Um den Input einer Adapter-Operation zu nutzen:
    Ziehen Sie einen Adapter, der in einem Prozess verwendet wird, per Drag&Drop in den Stylesheet-Bereich des XSL-Mappings.

    Wenn mehrere Operationen verfügbar sind, öffnet sich ein Dialogfenster zur Auswahl der Operation:

    Wählen Sie eine Adapter-Operation aus und klicken Sie auf OK.


Das eingefügte XML-Quelldokument wird in einer Baumansicht dargestellt:

Im nächsten Schritt legen Sie die Grundstruktur des Zieldokuments im XSL-Mapping an. Dazu gehen Sie wie folgt vor:

  1. Klicken Sie im Stylesheet-Bereich mit der rechten Maustaste auf das Root-Template (template match="/"), um das Kontextmenü zu öffnen.
  2. Wählen Sie im Kontextmenü Add XSL Element, um den XSL Element Creation Wizard zu öffnen.
  3. Fügen Sie alle benötigten Elemente mit der entsprechenden Hierarchie ein.
    Beispiel: Die Struktur des Zieldokuments ist ein HTML-Grundgerüst (<html><body>), das eine Tabelle (<table>) mit einer Zeile (<tr>) mit drei Kopfzellen (<th>) und einer weiteren Zeile (<tr>) mit drei Zellen (<td>) enthält.

    Wenn Sie bereits die XML-Struktur kennen, die durch das XSL-Mapping erzeugt werden soll, dann können Sie per Drag&Drop aus der Sicht Projects ein XML-Dokument oder ein XML-Schema zuweisen. Dieses können Sie dann als Zielstruktur für das Mapping verwenden.

    Beim Zuweisen einer XML-Struktur per Drag&Drop werden Sie gefragt, wie diese eingefügt werden soll:

    • Full XML structure including data fügt die komplette XML-Dokumentstruktur inklusive Element- und Attributwerte ein.

    • Virtual nodes (structure without data) fügt lediglich die Baumstruktur als virtuelle Knoten in den Stylesheet-Bereich ein. Erst per Doppelklick oder über ein Daten-Mapping auf einen virtuellen Knoten werden diese tatsächlich in der Zielstruktur erzeugt.

  4. Wenn Sie Text hinzufügen möchten: Wählen Sie im Kontextmenü Add Other Nodes > Text.
    Beispiel: Kopfzeilen-Beschriftung für die Tabellenkopfzellen einfügen.

Daten-Mapping: for-each verwenden

So bauen Sie mit <xsl:for-each> eine Zielstruktur auf, die sich pro Datensatz wiederholt:

  1. Markieren Sie im Quelldokument die wiederholt vorkommende Knotenstruktur. Halten Sie die Shift-Taste gedrückt, und ziehen Sie die Struktur per Drag&Drop auf das zu wiederholende Zielelement.
    Ein for-each-Element wird erzeugt.
    Beispiel: Verknüpfen Sie  <Dataset> auf diese Weise mit dem zweiten <tr>-Element, um HTML-Tabellenzeilen dynamisch zu erzeugen.

  2. Stellen Sie sicher, dass das for-each-Element unmittelbarer Elternknoten des zweiten <tr>-Elements ist.

Daten-Mapping: value-of verwenden

So übernehmen Sie mit <xsl:value-of> Knoteninhalte vom Quelldokument in das Zieldokument:

  1. Klicken Sie den Quellknoten an, und ziehen Sie ihn per Drag&Drop auf den Zielknoten.
    Beispiel: Weisen Sie das<CustomerName>-Element dem ersten <td>-Element, das Element <CompanyName> dem zweiten <td>-Element und das Element <Address> dem dritten <td>-Element zu.

  2. Ziehen Sie weitere Verbindungslinien.
    Für jede Verbindung wird eine Linie angezeigt.

Daten-Mapping: copy-of verwenden

So kopieren Sie mit <xsl:copy-of> einen Knoten inklusive aller Kindknoten (Elemente, Attribute, Namespace-Definitionen etc.):

  1. Markieren Sie im Quelldokument den zu kopierenden Knoten.
  2. Halten Sie die Strg-Taste gedrückt, und ziehen Sie den Knoten per Drag&Drop auf das Zielelement.
    Ein copy-of-Element wird erzeugt.

Source-Ansicht: XSLT-Funktionen verwenden

Beispiel

Die Elementinhalte von ContactName und ContactTitle sollen über die Funktion concat zusammengeführt werden.
  1. Wählen Sie die Registerkarte Source, um das XSL-Mapping im Quelltext anzuzeigen.

  2. Bearbeiten Sie die XSLT-Syntax.
    Beispiel: Ersetzen Sie die Zeile <xsl:value-of select="ContactName"></xsl:value-of> durch <xsl:value-of select="concat(ContactName, ', ', ContactTitle)"/>.

Ausgabeformat ändern

  1. Passen Sie in Element <xsl:output> in Attribut method="xml" das Ausgabeformat an.
    Beispiel: Zum Erzeugen eines HTML-Dokuments method="html" setzen.

  2. Passen Sie in Element <xsl:output> in Attribut media-type="text/xml" den MIME-Typ des Ausgabedokuments an.
    Beispiel: Zum Erzeugen eines HTML-Dokuments mime-type="text/html" setzen.

XSL-Mapping testen

Wenn ein Input-Dokument verfügbar ist, können Sie die integrierte Vorschaufunktion des Mapping Editors verwenden.

  1. Speichern Sie das XSL-Mapping mit Strg+S.
  2. Klicken Sie in der Symbolleiste auf

     

  und anschließend auf Run Transformation, um das XSL-Mapping lokal auszuführen.
  Das Transformationsergebnis wird nun in der Sicht Output angezeigt.

XSL-Mapping in einen Prozess einbauen

  1. Ziehen Sie das XSL-Mapping aus der Sicht Projects per Drag&Drop in den geöffneten Prozess.
    Beispiel: Zwischen XML-Dokument und Stop-Baustein einfügen.

  2. Definieren Sie bei Bedarf Parameter in der Eigenschaft Component Parameters.
    Diese werden beim Ausführen des Prozesses an XSL-Mapping übergeben. Weitere Informationen hierzu finden Sie unter Prozessbausteine parametrieren.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.