XSLT Converter

Verwendung

Mithilfe des XSLT Converters lassen sich XML-Dateien in beliebige Dateiformate transformieren. Zum Transformieren verwendet der XSLT Converter ein oder mehrere XSLT-Stylesheets, die angeben, wie der Inhalt der XML-Dateien transformiert wird.

Ein XSLT Converter unterstützt Sie bei folgenden Aufgaben:

  • Dateiformate transformieren, z.B. von einem XML-Format in ein anderes.

  • Erstellen von Nachrichten für System Connector-Module mithilfe von Templates, z.B. für: Web Services Connector, Topcall Connector, SAP Connector, JCA Connector, Datenbank Connector

  • Beliebige Nachrichten anhand von Templates aus dem Repository erstellen.

XSL-Versionen und EXSL-Unterstützung

Der Funktionsumfang, den Sie im XSLT Converter nutzen können, ist abhängig von dem XSL-Prozessor, den Sie verwenden. Der mitgelieferte XSLT-Prozessor unterstützt folgende Funktionen:

  • XSLT 1.0 (veraltet, nicht empfohlen, wird ab INUBIT 8 nicht mehr unterstützt)

  • XSLT 2.0

  • XSLT 3.0

  • EXSLT

    • common

    • sets

    • math

    • dates-and-times

    • random

  • INUBIT XSLT Extensions, unter anderem Funktionen

    • Zum Konvertieren eines Datums

    • Zur Rückgabe von Linefeeds (Zeilenvorschub) und anderen Steuerzeichen

    • Zum Erzeugen von Tags

    • Zum Ersetzen von Umlauten

Wenn gewünscht, können Sie die mitgelieferten XSLT-Prozessoren durch beliebige andere XSLT-Prozessoren ersetzen.

Beim Einsatz von XSL-Transformationen mit Saxon 10 als XSL Prozessor und der Ausgabemethode XHTML können unerwünschte Zeilenumbrüche im resultierenden XHTML-Output auftreten.

<xsl:output method="xhtml" [..] />

Um diese Zeilenumbrüche zu vermeiden, fügen Sie das Attribut indent="no" ein:

<xsl:output indent="no" method="xhtml" [..] />

Beachten Sie die Dokumentation Ihres XSLT-Prozessors für Informationen über dessen Extensions.

Der XSLT-Konverter entfernt beim Parsen der Eingangsnachricht das CR aus der CRLF-Kombination. Dies ist auf den internen Parse-Prozess von dom4j.jar zurückzuführen, der von W3C empfohlen wird.

Siehe

Benutzeroberfläche: XSLT Mapper

XSLT Mapper

Der XSLT Mapper wird nach dem Erzeugen eines XSLT Converters angezeigt:

module guide 911 0
  1. XML-Quelle/XML-Ziel (Stylesheet-Bereich)

    Zeigt das erstellte XSLT-Stylesheet als Abbildungstabelle an. Die Tabellenspalten enthalten

    • XML-Quelle: Werte, XPath-Ausdrücke bzw. Funktionen, meist aus dem Bereich XML-Quelldatei stammend und per Drag’n’Drop in die Spalte gezogen.

    • XML-Ziel: XSLT-Anweisungen (Elemente und Attribute), meist aus dem Bereich Zielstruktur stammend und per Drag’n’Drop in die Spalte gezogen.

    • Parameter hinzufügen: Um die Parameter aus dem importierten Stylesheet in das existierende Stylesheet zu migrieren, klicken Sie auf Parameter hinzufügen. Für Informationen über die Toolbar des Bereichs siehe Funktionen in der Werkzeugleiste.

  2. module guide 911 2 Icon zum Öffnen des XPath-Assistenten

  3. XML-Quelldatei

    Zum Laden und Anzeigen einer Beispiel-Eingangsnachricht, die beim Erstellen des XSLT Stylesheets als Datenquelle dient. Der Bereich ist nicht sichtbar, wenn Sie beim Erstellen des XSLT Converters die Option Eingangsnachricht ignorieren markiert haben.

    Für Informationen über die Toolbar des Bereichs siehe Funktionen in der Werkzeugleiste.

  4. Zielstruktur

    Zum Laden und Anzeigen eines Templates für die Zielstruktur. Als Template können z.B. eine beliebige Beispiel-Datei oder ein Template aus dem Repository dienen. Ein Template kann z.B. auch mithilfe eines SAP-, Datenbank- oder Web Service Explorers erstellt werden.

  5. Ergebnis des Mappings

    Zeigt nach dem Testen des XSLT-Stylesheets das Ergebnis an und die benötigte Ausführungszeit.

    Für Informationen über die Toolbar des Bereichs siehe Funktionen in der Werkzeugleiste.

  6. Ausgabe, Breakpoints, Intern

    Zur Anzeige der Ausgabe des Stylsheets, der definierten Breakpoints und der Struktur des Stylsheets.

Funktionen in der Werkzeugleiste

In jedem Bereich gibt es eine Werkzeugleiste, über die Sie folgende Funktionen erreichen:

  • module guide 912 1 Öffnet ein Untermenü mit folgenden Befehlen:

    • Neu: Löscht den aktuellen Inhalt und erstellt ein neues Dokument mit dem Element root.

    • Öffnen: Zum Laden einer Datei aus dem Dateisystem, aus dem Repository oder aus der Zwischenablage. Im Editor wird automatisch die zum Dateityp passende Ansicht geladen. Weiterhin zum Laden von Business Object-Diagrammen oder URLs oder von Templates aus folgenden Explorern:

    • Speichern:

      • Datei: Zum Speichern des angezeigten Inhalts.

      • Datei als: Öffnet einen Dateiexplorer zum Speichern des angezeigten Inhalts an beliebiger Stelle und in beliebigem Format.

      • Repository: Zum Speichern des angezeigten Inhalts im Repository.

      • Zwischenablage: Kopiert die angezeigten Inhalte in die Zwischenablage.

      • Drucken: Öffnet den Drucker-Dialog zum Ausdrucken der aktuellen Datei.

        Die folgenden Funktionen sind nicht in allen Bereichen verfügbar!

    • Geeignete Editoren für den Inhalt anzeigen: Reduziert die verfügbaren Editoren auf diejenigen, welche für das aktuell angezeigte Dateiformat geeignet sind.

    • XML-Schema-Template erzeugen: Erstellt aus einer XML-Datei eine Vorlage für ein XML Schema.

    • Vergleichen: Vergleicht eine XML-Datei mit einer Datei im Dateisystem, einer Datei im Repository oder mit dem Inhalt der Zwischenablage.

    • XPath-Suche: Wenn markiert, dann kann im Suchen-Feld auch nach XPath-Ausdrücken gesucht werden.

    • Editierbar: Wenn diese Option markiert ist, dann können Sie angezeigte Datei bearbeiten.

    • Parameter aus der Zwischenablage: Kopiert Variablen aus der Zwischenablage in das XSLT-Stylesheet

    • Toolbar an Content anpassen: Abhängig vom Format des aktuellen Inhalts werden für den Bereich die passenden Befehle aktiviert. So sind z.B. bei ASCII-Textdateien die Ansichten Schema-Ansicht und Baum-Ansicht nicht verfügbar.

    • Mehrfache Knoten ausblenden: Blendet alle mehrfach vorhandenen Elemente aus

    • Daten aus der Struktur löschen: Löscht alle Inhalte, die weder ein Element noch ein Attribut sind.

    • Nur Textknoten aus der Struktur löschen: Löscht alle Inhalte von Elementen. Attributwerte bleiben erhalten.

    • Nur Attributtexte aus der Struktur löschen: Löscht alle Werte von Attributen. Elementinhalte bleiben erhalten.

    • DTD-Prüfung der Ergebnisdatei: Führt eine Validierung der Ergebnisdatei gegen eine DTD durch.

    • Schema-Prüfung der Ergebnisdatei: Führt eine Validierung der Ergebnisdatei gegen ein XML-Schema. durch.

  • module guide 913 0 XSLT Mappingtabelle

    Ansicht, in der per Drag’n’Drop ein XSLT-Stylesheet erstellt werden kann. Wird nach dem Anlegen eines XSLT Converter Moduls automatisch angezeigt.

    • Links: Anzeige von XPath-Ausdrücken und Werten

    • Rechts: Elemente und Attribute

      Zu den Farbeinstellungen, siehe Einstellungen der INUBIT Workbench ändern

    • Mittlere Spalte:

      • Zelle mit Gleichheitszeichen: einem Attribut (rechte Spalte) wird ein Wert (linke Spalte) zugewiesen

      • Zelle mit Pfeil: Zeigt an, dass einem Element (rechte Spalte) ein XPath-Ausdruck (linke Spalte) zugewiesen wird.

        Mit einem Klick auf das Icon öffnen Sie den XSLT-Kommandoassistenten.

  • module guide 913 1 Schema-Ansicht

    Zum Bearbeiten eines Schemas (nur verfügbar, wenn ein Schema geladen wurde)

  • module guide 913 2 Baum-Ansicht

  • module guide 913 3 Text-Ansicht

    Zeigt die Elemente der Datei als Text an.

  • module guide 913 4 Externen Editor öffnen

    Zeigt eine Liste aller Applikationsprofile an, die zum Öffnen der Datei verwendet werden können.

  • module guide 913 5 Suche

Weitere Funktionen im XSLT Converter

Drag’n’Drop

Der XSLT Mapper bietet folgende Möglichkeiten, Elemente, XPath-Ausdrücke oder Strukturen per Drag’n’Drop zu erstellen:

Der Bereich, in dem etwas erstellt werden soll, muss schreibbar sein. Wählen Sie dazu aus der Werkzeugleiste module guide 914 1 > Editierbar.

  • Elemente kopieren zwischen allen Bereichen per Drag‘n‘Drop

  • Elemente innerhalb eines Bereichs kopieren:

    Halten Sie beim Drag’n’Drop die Strg-Taste gedrückt.

  • Neue Quell- oder Zielstruktur erstellen

    1. Wählen Sie aus der Werkzeugleiste module guide 914 1 > Neu > <Typ_der_neuen_Datei>.

    2. Ziehen Sie ein Element in den Bereich.

  • XPath-Ausdruck erstellen

    Ziehen Sie ein Element aus der XML-Quell-Datei in die linke Spalte des Stylesheet-Bereichs.

Kontextmenüs

Im Stylesheet-, Quell- und Zielbereich können Sie über die Kontextmenüs der Elemente folgende Funktionen nutzen:

Funktion Erläuterung

Kopieren

Text ausrichten

Nur in den Textansichten verfügbar Verändert das Dokument

Ausschneiden

Einfügen

Knoten verschieben – nach links

Knoten vorher markieren

Knoten verschieben – nach rechts

Knoten vorher markieren

Knoten verschieben – nach oben

Knoten vorher markieren

Knoten verschieben – nach unten

Knoten vorher markieren

Knoten zuklappen

Knoten vorher markieren

Knoten aufklappen

Knoten vorher markieren

Alle untergeordneten Knoten aufklappen

Knoten vorher markieren

Eingabefeld für die Suche öffnen

Menü unter dem Pfeil öffnen

Um Menü zu schließen, ohne einen Befehl auszuwählen, Escape drücken.

Finde verwendete Knoten im Quelldokument

Wenn Sie ein Element in der Mapping-Tabelle markieren und diese Option aufrufen, werden alle Knoten in der XML-Quelldatei markiert, die für das Element benutzt werden. Wird kein Knoten in der XML-Quelldatei gefunden, wird dies mit einem Warnton angezeigt.

XSLT-Kommandoassistent

Öffnet den XSLT Kommandoassistenten

XSLT-Datei testen

Sie können Ihr XSLT-Stylesheet während der Erstellung testen.

Tasten und ihre Funktion

Taste Funktion

Entf

Löscht das ausgewählte Element oder Attribut

Pos1, Ende,

Bild module guide 915 1, Bild module guide 915 2

Zum Navigieren im Stylesheet

Enter

Navigiert eine Zeile nach unten

Umschalt-Enter

Navigiert eine Zeile nach oben

Umschalt-module guide 915 1,

Umschalt-module guide 915 2

Markiert die aktuelle und die folgende(n) Zeile(n)

Tabulator

Zwischen XML-Quelle und XML-Ziel wechseln

Einfg und hier nicht aufgeführte Tasten

Wechselt in den Editiermodus für das ausgewählte Element/Attribut

XSLT - Oracle Datenbank Explorer

In Datenbanken wie PostgreSQL, MySQL, MSSQL, MariaDB und DB2 kann ein einzelner Benutzer mehrere Schemas haben, sodass die Benutzer mehrere Schematabellendetails sehen können.

Da ein Benutzer in Oracle jedoch nur über ein Schema verfügt, müssen diesem Benutzer die entsprechenden Berechtigungen für den Zugriff auf die Schemas anderer Benutzer erteilt werden.

So gehen Sie vor

  • Öffnen Sie im XSLT-Converter das Menü und wählen Sie Öffnen > Datenbank Explorer aus. Der Dialog Datenbank Explorer wird angezeigt.

  • Wählen Sie Modul aus. Der Schemaname und SQl-Befehl werden geladen.

  • Wählen Sie Schemaname aus. Der entsprechende SQL-Anweisung und die Tabellen werden geladen.

Sowohl die Person, die den Zugriff gewährt, als auch die, die ihn erhält, müssen alle Rechte haben.

Führen Sie die folgende Abfrage aus:

GRANT ALL PRIVILEGES TO <Benutzer>;

GRANT SELECT ANY DICTIONARY TO <Benutzer>

XSLT-Kommandoassistent

Aufruf

Führen Sie im Stylesheet-Bereich eine der folgenden Aktionen aus:

  • In der rechten Spalte Element markieren > Kontextmenü öffnen > XSLT-Kommandoassistent

  • In der mittleren Spalte module guide 915 3 oder module guide 915 4 klicken.

Aus Zellen mit einem Gleichheitszeichen (Attribut mit Wertzuweisung) können Sie den Assistenten nicht aufrufen!

module guide 916 0

Der XSLT-Kommandoassistent gibt Ihnen Informationen zu dem XSLT-Element, das im Stylesheet-Bereich markiert ist, und fügt Elemente und Attribute an der gewünschten Position ein. Der XSLT-Kommandoassistent besteht aus folgenden Bereichen:

  1. Element-Liste

    Wahlweise XSLT 1.0 (veraltet), 2.0 oder 3.0.

  2. Element-Erläuterungen

    Zu dem Element, das in der Liste markiert ist

  3. Attribut-Erläuterungen

    Zu dem Attribut, das in der Attribut-Tabelle markiert ist.

  4. Attribut-Tabelle

    Anzeige aller Attribute und Attributwerte des markierten Elements.

    • Schwarze Schrift: obligatorisches Attribut

    • Graue Schrift: optionales Attribut

      Die Wertebereiche der Attribute werden als Tooltipps über den Value-Feldern angezeigt. Um einem Attribut einen Wert zuzuweisen, klicken Sie in das Feld Value und geben den Wert ein.

      Existiert für ein XSLT-Kommando das Attribut select, können Sie durch Klicken auf den module guide 916 1-Button den XPath-Assistenten öffnen.

  5. Position des XSLT-Elements

    • Voranstellen: Der Befehl wird auf die Hierarchieebene gestellt, auf der das aktuell markierte Element stand. Das Element wird darunter eingerückt.

    • Austauschen: Wechselt den vorhandenen XSLT Befehl gegen den ausgewählten Befehl aus.

    • Anhängen: Der Befehl wird unter das aktuell markierte Element und damit eine Hierarchieebene tiefer gestellt.

Saxon 10-Kompatibilität sicherstellen

Aktion

Vorhandene XSLT-Stylesheets migrieren, falls XSLT-Skripte fehlschlagen oder um die volle Saxon 10-Kompatibilität sicherzustellen.

So gehen Sie vor

  • Öffnen Sie den Tab Modul-Editor

  • Wählen Sie Data Converter > XSLT Converter im Modulbaum

  • Öffnen Sie das Kontextmenü und wählen Sie Nach Saxon 10 migrieren

  • Öffnen Sie den Tab Repository

  • Wählen Sie Repository Table

  • Öffnen Sie das Kontextmenü und wählen Sie Nach Saxon 10 migrieren

XSLT-Stylesheets testen

Sie können Ihr XSLT-Stylesheet bereits während der Erstellung testen.

So gehen Sie vor

Wählen Sie aus dem Menü Bearbeiten > XSLT-Datei testen oder klicken Sie in der Toolbar auf module guide 917 0.

Das Ergebnis und die benötige Ausführungszeit werden im Bereich XML-Zieldatei im Register Ergebnis des Mappings angezeigt.

Ergebnis validieren

Sie haben folgende Möglichkeiten, die Gültigkeit des Mappings zu prüfen:

  • Gegen eine DTD validieren

    Menü Bearbeiten > DTD Prüfung der Ergebnisdatei

    Sie können diese Prüfung auch in der Werkzeugleiste des Bereichs Ergebnis des Mappings starten (Untermenü DTD Prüfung der Ergebnisdatei).

  • Gegen ein XML-Schema validieren

    Menü Bearbeiten > Schemaprüfung der Ergebnisdatei

    Sie können diese Prüfung auch in der Werkzeugleiste des Bereichs Ergebnis des Mappings starten (Untermenü Schemaprüfung der Ergebnisdatei).

Der Pfad zum Schema bzw. zur DTD muss im XSLT-Stylesheet angegeben sein; wenn nicht, dann werden Sie aufgefordert, eine passende Datei zu öffnen.

Das Ergebnis der Validierung wird in einem eigenen Dialog angezeigt. Falls Fehler gefunden wurden, dann werden diese präzise angegeben, damit Sie Ihr Mapping entsprechend ändern können.

Extensions und Java-Packages verwenden

Überblick

Um in einem XSLT-Stylesheet Funktionalitäten zu realisieren, die nicht durch den XSLT-Befehlssatz abgedeckt werden, verwenden Sie Extensions oder Funktionen aus Java-Packages.

Extensions verwenden

Eine Vielzahl gebrauchsfertiger Extensions siehe:

Sobald Sie Prozessor-spezifische Extensions einsetzen, ist Ihr XSLT-Stylesheet abhängig von dem ausgewählten XSLT-Prozessor!

So gehen Sie vor

  1. Zeigen Sie Ihr XSLT-Stylesheet an.

  2. Fügen Sie dem xsl:stylesheet Element über das Kontextmenü ein namespace-Attribut für Ihre Extension hinzu, z.B.:

    <xsl:stylesheet xmlns:string="http://exslt.org/string"/>
  3. Fügen Sie das folgende Attribut hinzu:

    extension-element-prefixes="string"

Extensions aufrufen

Eine Extension-Funktion wird über den festgelegten Namensraum und ihren Namen aufgerufen, z.B.:

<xsl:template match="/">
  <tokens>
    <xsl:for-each
      select="string:tokenize('A,B,C,D,' , ',' )">
      <xsl:copy-of select="."/>
    </xsl:for-each>
  </tokens>
</xsl:template>

Java-Packages der INUBIT-Software einbinden

Voraussetzungen

Sie haben beim Installieren der INUBIT-Software das SDK installiert.

Für Beschreibungen der INUBIT-eigenen Java-Packages öffnen Sie den folgenden Link: <inubit-installdir>/documentation/apidoc/index.html

Package: com.inubit.ibis.xsltext

Class: Formatter und Misc

So gehen Sie vor

  1. Zeigen Sie Ihre XSLT stylesheet an.

  2. Fügen Sie dem xsl:stylesheet Element über das Kontextmenü ein namespace-Attribut hinzu. Geben Sie als Wert den Package-Namen an, z.B.:

    <xsl:stylesheet xmlns:Formatter="java:com.inubit.ibis.xsltext.Formatter"/>

Funktion aus dem Package aufrufen

Eine Methode aus einem Package wird mit dem festgelegten Präfix und Namen aufgerufen:

<xsl:template match="/">
  <DateTime>
    <xsl:value-of select="Formatter:getDateTime('yyyyMMddHHmmss')"/>
  </DateTime>
</xsl:template>

Beliebige XSLT-Prozessoren einbinden

Neben dem mitgelieferten XSLT-Prozessor können Sie beliebige andere XSLT-Prozessoren verwenden. Dazu benötigen Sie eine JAR-Datei mit dem XSLT Prozessor, dieses muss dem dafür festgelegten Java Interface entsprechen.

So gehen Sie vor

  1. Zeigen Sie in der INUBIT Workbench das Register Administration an.

  2. Um die JAR-Datei auf die INUBIT Process Engine zu laden, wählen Sie im Burger-Menü Konfiguration > Library Manager.

    Ein Dialog öffnet sich.

    Weitere Schritte siehe Bibliotheken verwalten

    Vor dem Hochladen der JAR-Datei wählen Sie Treiber-Bibliothek im Bereich Bibliothekstyp.

  3. Öffnen Sie die Eigenschaften Ihres XSLT Converters zum Bearbeiten oder erzeugen Sie ein neues Modul.

  4. Geben Sie im Feld XSLT Prozessor den Klassennamen des neuen XSLT-Prozessors ein.

  5. Klicken Sie auf Fertigstellen.

→ Nun können Sie den neuen XSLT-Prozessor verwenden.

Variablen verwenden

Sie können im XSLT Converter auf Variablen zugreifen, um z.B. verständliche Fehlermeldungen an einen Fehlerausgang zu senden.

Beachten Sie beim Einsatz von Variablen mit dem Typ base64Binary in XSLT Convertern aus INUBIT-Versionen 5.1 und älter: Der Variablen-Inhalt wurde bei diesen XSLT Convertern komprimiert ausgegeben. Daher müssen Sie zum Dekodieren des Variablen-Inhalts die XPath-Funktion misc:decodeWithDecompression($variable) verwenden. Alternativ legen Sie einen neuen XSLT Converter an. Bei diesem können Sie direkt auf den unkomprimierten Variablen-Inhalt zugreifen.

So gehen Sie vor

  1. Erstellen Sie ein XSL Converter Modul und integrieren Sie es in einen Technical Workflow.

  2. Testen Sie den Technical Workflow.

  3. Doppelklicken Sie den Watchpoint vor dem XSLT Converter Modul. Ein Dialog öffnet sich und zeigt die Ergebnisdatei mit allen Variablen an:

  4. Um die Ergebnisdatei mit den Variablen in die Zwischenablage zu kopieren, klicken Sie auf Daten kopieren. Schließen Sie den Dialog.

  5. Öffnen Sie das XSLT Converter Modul zum Bearbeiten.

  6. Öffnen Sie im Stylesheet-Bereich das Menü (module guide 920 1) und wählen Sie Parameter aus der Zwischenablage. Ein Fenster zum Auswählen einer Variablen öffnet sich.

  7. Markieren Sie eine Variable und klicken Sie auf OK.

Das Fenster schließt sich. Aus der Variablen wird ein gleichnamiger Parameter erstellt und im Stylesheet-Bereich angezeigt:

module guide 920 2

Siehe

Dialog XSLT Converter Eigenschaften

Transformator Eigenschaften

  • XSLT Prozessor

    Zum Auswählen eines XSLT-Prozessors. Die XSLT-Prozessoren unterscheiden sich hinsichtlich des von ihnen unterstützten Sprachumfangs.

  • Prozessor-Attribute

    In dieser Tabelle geben Sie Eigenschaften mit Werten für den XSLT-Prozessor an (implementierungsspezifische Transformer-Factory-Attribute).

Mapper Eigenschaften

  • Quell- und Zieldateien in der Process Engine speichern

    Wenn markiert, dann werden die Quell- und Zieldateien auf der INUBIT Process Engine gespeichert und können somit auch auf anderen Client-Rechnern bearbeitet werden.

    Wenn die Quell- und Zieldateien auf der INUBIT Process Engine sehr groß sind, kann die Performance beeinträchtigt werden, weil die Dateien bei jeder Ausführung des XSLT Converters geladen werden.

    Wenn Sie das Modul bereits publiziert haben und später diese Option abwählen, dann werden die Dateien von der INUBIT Process Engine und die Referenz zur lokalen Kopie auf dem Client-Rechner gelöscht.

  • Eingangsnachricht ignorieren

    Wenn die Option markiert ist, dann wird der Bereich XML-Quelldatei im XSLT Mapper ausgeblendet.

    Diese Option ist sinnvoll, um mit einem oder mehreren XSLT-Stylesheets strukturierte Ausgangsnachrichten neu zu erstellen.

  • XSLT Stylesheet cachen

    Wenn der XSLT Converter mehrfach kurz hintereinander aufgerufen wird, dann verbessert das Cachen des Stylesheets die Performance.

    Das Modul im Cache wird beim Serverstart und beim Publizieren des Moduls aktualisiert.