Validieren einer XML-Datei

In diesem Tutorial erfahren Sie, wie Sie ein XML-Dokument anhand eines XML-Schemas in der X4 Suite mit dem Adapter XML Validation auf Gültigkeit prüfen.

Ein XML-Schema (auch: XML-Schemadefinition .xsd) beschreibt die Struktur eines XML-Dokuments. Damit können z. B. Elemente und Attribute, die vorhanden sein oder in einer bestimmten Reihenfolge stehen müssen, definiert werden. Mithilfe eines XML-Schemas kann geprüft werden, ob eine XML-Datei gültig ist, d. h. diesem XML-Schema entspricht.

Mit dem Adapter XML Validation der X4 Suite kann anhand eines XML-Schemas geprüft werden, ob eine XML-Datei gültig ist. Wenn die XML-Datei gültig ist, dann gibt der Adapter die Datei unverändert aus; Wenn die XML-Datei nicht gültig ist, dann wird eine XML-Datei mit einer entsprechenden Fehlermeldung ausgegeben.

Dieses Tutorial enthält ein Beispiel, wie der Adapter verwendet werden kann.

Inhaltsverzeichnis

Case

Arbeiten mit Adaptern

X4 Suite-Komponenten

X4 Suite-Adapter

Branchen

Branchenübergreifend

Sie können ein Template zu diesem Tutorial über den Button herunterladen. Entpacken Sie einfach die .zip-Datei und ziehen Sie das Template mit der Dateiendung .x4projecttemplate per Drag & Drop in den Repository Navigator des X4 Designers. Im Download sind auch die Dateien Media-Collection.xml und Schema.xsd enthalten.

Template herunterladen

Projekt erstellen

In diesem Beispiel wollen wir ein XML-Dokument in einem Prozess gegen ein XML-Schema validieren. Dafür benötigen wir ein ESB-Projekt.

Zunächst erstellen wir ein neues ESB-Projekt. Um ein neues ESB-Projekt zu erstellen, klicken Sie im X4 Designer auf File > New > ESB Project.

Neues Projekt anlegen
  • Der Project Creation Wizard öffnet sich.

Geben Sie für Project name ValidateXML ein.

  • Ein neues ESB-Projekt wird angelegt.

Ein Projektname (Project name) darf kein Leerzeichen enthalten!

Für unseren Prozess, mit dem wir ein XML-Dokument anhand eines XML-Schemas validieren, benötigen wir mehrere Elemente:

  • Media-Collection.xml (Im Download enthalten)
    Diese XML-Datei validieren wir gegen das XML-Schema.
  • Schema.xsd (Im Download enthalten)
    Gegen diese Datei wird die XML-Datei validiert.
  • AdapterXML_Validation.fa
    Mit diesem Adapter validieren wir die XML-Datei gegen das XML-Schema.
  • Output.xml
    In dieser XML-Datei speichern wir den Output des Adapters.

XML-Datei Media-Collection erstellen

Diese Elemente legen wir nun an. Wir beginnen mit der XML-Datei Media-Collection .

Klicken Sie im Repository Navigator mit der rechten Maustaste im ESB-Projekt ValidateXML auf den Ordner Resources, um das Kontextmenü zu öffnen.

  • Das Kontextmenü öffnet sich.

Klicken Sie auf New > XML Document.

  • Der File Creation Wizard öffnet sich.

Geben Sie für File name Media-Collection.xml ein.

Um die Datei zu erzeugen, klicken Sie auf Finish.

  • Die XML-Datei wird erzeugt, im Repository Navigator angezeigt und im X4 Designer geöffnet.

Der Inhalt der Datei muss sein wie folgt:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Not complete yet, more media will be added soon -->
<media>
    <last-updated>2018-10-12</last-updated>
    <book type="Non-Fiction" language="es">
        <title> Corazón tan blanco</title>
        <author>Javier Marías</author>
        <isbn>8483461404</isbn>
        <short-text>Pocos meses después de su viaje de novios y sin aún haber podido, o querido, adaptarse a su cambio de estado, Juan se entera casi sin querer de que Teresa, la primera mujer de su padre, se quitó la vida al regreso de su propia luna de miel. Sólo una persona conoce el porqué y ha guardado durante años ese oscuro secreto. A partir de ese momento, el narrador sentirá un creciente malestar —un “presentimiento de desastre”— respecto a su recién inaugurado matrimonio, e intuirá que la explicación tal vez esté en el pasado y por tanto en su propio origen. Lejos de un investigador, el narrador de esta novela es todo lo contrario —un hombre que prefiere no saber, consciente de lo peligroso que resulta escuchar y de que, una vez oídas, las cosas ya no pueden olvidarse. </short-text>
        <release-year>1992</release-year>
        <price country="de">12.99</price>
        <edition>Paperback</edition>
        <location>
            <room>Living room</room>
            <shelf>2</shelf>
        </location>
    </book>
    <book type="Roman" language="en">
        <title>The Lord of the Rings (Trilogy)</title>
        <author>J.R.R. Tolkien</author>
        <isbn>0618129022</isbn>
        <short-text>This is a single-volume edition of J.R.R. Tolkien's Lord of the Rings trilogy, in which the hobbit Frodo and his elfish friends get swept up in a mighty conflict with the dark lord Sauron (who owes much to proud Satan in Paradise Lost), the monstrous Gollum, the Cracks of Doom, and the awful power of the magical Ring. The book's characters--good and evil--are recognizably human, and the realism is deepened by the magnificent detail of the vast parallel world Tolkien devised, inspired partly by his influential Anglo-Saxon scholarship and his Christian beliefs. (He disapproved of the relative sparseness of detail in the comparable allegorical fantasy his friend C.S. Lewis dreamed up in the Chronicles of Narnia, though he knew Lewis had spun a page-turning yarn.) It has been estimated that one-tenth of all paperbacks sold can trace their ancestry to J.R.R. Tolkien. But even if we had never gotten Robert Jordan's The Path of Daggers and the whole fantasy genre Tolkien inadvertently created by bringing the hobbits so richly to life, Tolkien's epic about the Ring would have left our world enhanced by enchantment.</short-text>
        <release-year/>
        <price country="usa">34.95</price>
        <location>
            <room>Living room</room>
            <shelf>3</shelf>
        </location>
    </book>
    <book type="Non-Fiction" language="de">
        <title>Schlank im Schlaf für Berufstätige</title>
        <author>Detlef Pape, Helmut Gillessen, Rudolf Schwarz, Elmar Trunz-Carlisi</author>
        <isbn>3833814357</isbn>
        <short-text>Die Fortsetzung der Schlank-im-Schlaf-Erfolgsgeschichte: das Kochbuch, mit dem auch Berufstätige mit wenig Zeit leicht und bequem abnehmen können. Ein maßgeschneidertes Konzept, das auch unterwegs funktioniert. Kombinationsvorschläge für morgens, mittags und abends zeigen, wie es geht. So ist auch das Essen im Restaurant oder in der Kantine kein Problem. Wer etwas mehr Zeit hat, kombiniert Fertigprodukte mit frisch Zubereitetem. Und wer gern kocht, findet ebenfalls leckere, schnelle Rezepte zum Verwöhnen. Ganz neu: Die SiS-Punkten bei jedem Rezept zeigen den Kohlenhydratgehalt. So behalten Sie Ihre Kohlenhydrat-Bilanz bequem im Blick. Zum Einstieg wird das Wichtigste einfach und in aller Kürze erklärt. Tipps zum cleveren Einkaufen geben zusätzliche Hilfe und Fitness-Übungen fürs Büro machen das Abnehmen noch effektiver. Als Extraservice bietet der SiS-Wochenplan in der hinteren Klappe Vorschläge für eine Woche lecker essen und bequem abnehmen ohne Kochen. </short-text>
        <release-year>2009</release-year>
        <price country="de">14.90</price>
        <location>
            <room>Kitchen</room>
            <shelf>3</shelf>
        </location>
    </book>
    <book type="Childrens book" language="de">
        <title>Harry Potter und der Stein der Weisen (Band 1)  </title>
        <author>Joanne K. Rowling</author>
        <isbn>3551551677</isbn>
        <short-text>Das Haus der Dursleys hatte vier Schlafzimmer: eines für Onkel Vernon und Tante Petunia, eines für Besucher (meist Onkel Vernons Schwester Marge), eines, in dem Dudley schlief, und eines, in dem Dudley all seine Spielsachen und die Dinge aufbewahrte, die nicht mehr in sein erstes Bedroom passten.</short-text>
        <release-year>1999</release-year>
        <price country="de">15.90</price>
        <location>
            <room>childrens room</room>
            <shelf>1</shelf>
        </location>
    </book>
    <book type="Non-Fiction" language="de">
        <title>Ich bin dann mal weg: Meine Reise auf dem Jakobsweg</title>
        <author>Hape Kerkeling</author>
        <isbn>3890293123</isbn>
        <short-text>
Es ist ein sonniger Junimorgen, als Hape Kerkeling, bekennende <![CDATA[>>couch potato<<]]>, endgültig seinen inneren Schweinehund besiegt und in Saint-Jean-Pied-de-Port aufbricht. Sechs Wochen liegen vor ihm, allein mit sich und seinem elf Kilo schweren Rucksack: über die schneebedeckten Gipfel der Pyrenäen, durch das Baskenland, Navarra und Rioja bis nach Galicien zum Grab des heiligen Jakob, seit über 1000 Jahren Ziel für Gläubige aus der ganzen Welt.
        </short-text>
        <release-year>2008</release-year>
        <price country="de">19.99</price>
        <edition>Hardcover</edition>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </book>
    <book type="Non-Fiction" language="de">
        <title>Die XML-Bibel</title>
        <author>Elliotte Rusty Harold</author>
        <isbn>3826608216</isbn>
        <short-text>Die vorliegende 2. Auflage unserer XML Bibel wurde komplett überarbeitet. Sie deckt die neusten XML-Standards ab und beinhaltet die aktuellsten XML-Technologien und -Anwendungen. Damit wurde der Umfang der 2. Auflage stark erweitert. Basierend auf XML 1.0, Second Edition, führt Sie Die XML Bibel Schritt für Schritt in die Geheimnisse dieser mächtigen Sprache ein und vermittelt Ihnen das umfangreiche Know-how, das Sie brauchen, um beispielsweise Web-Seiten auf höchstem professionellem Niveau mit XML zu erstellen. Die XML Bibel beginnt bei den fundamentalen Sprachelementen, erläutert ausführlich XML-basierte Lösungen für Ihre Web-Seiten und zeigt auf, wie Sie XML mit HTML verbinden. Dem XML-Experte Elliotte Rusty Harold gelingt es dabei, das umfangreiche XML-Wissen mit praxisnahen Fallbeispielen zu erläutern.</short-text>
        <release-year>2002</release-year>
        <price country="de">9.95</price>
        <location>
            <room>Study</room>
            <shelf>2</shelf>
        </location>
    </book>
    <book type="Non-Fiction" language="en">
        <title>I'm Off Then: Losing and Finding Myself on the Camino de Santiago</title>
        <author>Hape Kerkeling</author>
        <isbn>1416553878</isbn>
        <short-text>Overweight, overworked, and physically unfit, Kerkeling was an unlikely candidate to make the arduous pilgrimage across the French Alps to the Spanish Shrine of St. James, a 1,200-year-old journey undertaken by nearly 100,000 people every year.</short-text>
        <release-year>2009</release-year>
        <price country="us">12.58</price>
        <edition>Paperback</edition>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </book>
    <book type="Non-Fiction" language="es">
        <title>Bueno, me largo</title>
        <author>Hape Kerkeling</author>
        <isbn>8483650975</isbn>
        <short-text>Hape Kerkeling, reconocido humorista y presentador alemán, recorrió casi 800 kilómetros siguiendo el Camino de Santiago. En este libro recoge su experiencia, su consecución de la fuerza purificadora del peregrinaje.</short-text>
        <release-year>2009</release-year>
        <price country="us">14.58</price>
        <edition>Paperback</edition>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </book>	
    <book type="Non-Fiction" language="en">
        <title>Germany for Dummies</title>
        <author>Donald Olson</author>
        <isbn>0470089563</isbn>
        <short-text>Germany for Dummies will help you make the most of your stay in this picturesque country, with information on Germany's best and most unique experiences. Come along with us and discover spectacular scenery, medieval towns and half-timbered houses, fairy tale castles, and lovely vineyards along the Rhine River. Whether you're a beer lover or a history buff, traveling solo or with a family, Germany for Dummies pares down this vast country and helps you plan the trip that's right for you.</short-text>
        <release-year>2007</release-year>
        <price country="uk">13.99</price>
        <location>
            <room>Guest room</room>
            <shelf>1</shelf>
        </location>
    </book>
    <dvd genre="Comedy" language="de">
        <title>Per Anhalter durch die Galaxis</title>
        <director>Garth Jennings</director>
        <short-text>Arthur Dent hat einen miesen Tag Er muss nicht nur mit ansehen, wie sein Haus platt gewalzt wird, er erfhrt auch noch, dass sein bester Freund ein Auerirdischer ist und die Erde gesprengt werden soll, um einer neuen Weltraumautobahn Platz zu machen. Doch das Ende der Welt ist fr Arthur erst der Anfang Ein vorbei fliegendes Raumschiff nimmt ihn zufllig mit und schnell lernt er die wirklich wichtigen Dinge des ber-Lebens Handtcher sind die ntzlichsten Gegenstnde berhaupt, der Sinn des Lebens ist ein Klacks und alles sonstige Wissenswerte ist im Reisefhrer Per Anhalter durch die Galaxis" zusammengefasst.</short-text>
        <release-year>2005</release-year>
        <duration>104</duration>
        <price country="de">7.95</price>
        <location>
            <room>Living room</room>
            <shelf>DVDs</shelf>
        </location>
    </dvd>	
    <dvd genre="Animation" language="en">
        <title>Wallace &amp; Gromit: The Curse of the Were-Rabbit</title>
        <director>Nick Park</director>
        <short-text>Wallace and his loyal dog, Gromit, set out to discover the mystery behind the garden sabotage that plagues their village and threatens the annual giant vegetable growing contest.</short-text>
        <release-year>2005</release-year>
        <duration>85</duration>
        <price country="uk">5.97</price>
        <location>
            <room>Living room</room>
            <shelf>2</shelf>
        </location>
    </dvd>
    <dvd genre="Fantasyfilm" language="de">
        <title>WALL·E</title>
        <director>Andrew Stanton</director>
        <short-text>In der fernen Zukunft haben die Menschen die Erde längst verlassen und leben in einem überdimensionalen Raumschiff, während Roboter die Unmengen Müll, die sie auf der Erde hinterlassen haben, für sie aufräumen. Doch WALL·E ist mittlerweile der einzige noch funktionsfähige Roboter auf dem Planeten und hat ein eigenes Bewusstsein entwickelt.</short-text>
        <release-year>2008</release-year>
        <duration>98</duration>
        <price country="uk">15.95</price>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </dvd>
    <dvd genre="Drama" language="de">
        <title>Vom Winde verweht</title>
        <director>Victor Fleming</director>
        <short-text>Vom Winde verweht, die Adaption des gleichnamigen Bestsellers von Margaret Mitchell, erzählt die tragische Liebesgeschichte von Scarlett O'Hara (Vivien Leigh) und Rhett Butler (Clark Gable), eingebettet in die Wirren des amerikanischen Bürgerkriegs. Von Tara, einer Südstaatenplantage, zieht Scarlett nach Atlanta. Sie ist bereits Kriegswitwe, als sie nach langem und beharrlichen Werben Butlers diesen schließlich erhört. Aber nachdem ihre Tochter bei einem Reitunfall zu Tode kommt und Scarlett ihr zweites Kind durch eine Fehlgeburt verliert, verliert sie auch Rhett, den sie endlich lieben gelernt hat. Aber da ist immer noch Tara...</short-text>
        <release-year>1939</release-year>
        <duration>233</duration>
        <price country="uk">15.95</price>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </dvd>	
    <cd type="music" style="classic" language="na">
        <title>Toccata und Fuge</title>
        <artist>Simon Preston</artist>
        <komponist>Johann Sebastian Bach</komponist>
        <release-year>2008</release-year>
        <duration>105</duration>
        <price country="de">4.97</price>
        <location>
            <room>Living room</room>
            <shelf>2</shelf>
        </location>
    </cd>
    <cd type="music" style="Pop/Rock" language="en">
        <title>The Beatles (The White Album)</title>
        <artist>The Beatles</artist>
        <komponist>John Lennon et al.</komponist>
        <release-year>1968</release-year>
        <duration>93</duration>
        <price country="de">7.95</price>
        <location>
            <room>Living room</room>
            <shelf>1</shelf>
        </location>
    </cd>
    <cd type="Audiobook" language="de">
        <title>Endlich Nichtraucher</title>
        <artist>Bert Cöll</artist>
        <komponist>Allen Carr</komponist>
        <release-year>2007</release-year>
        <duration>60</duration>
        <price country="de">9.95</price>
        <location>
            <room>Bedroom</room>
            <shelf>1</shelf>
        </location>
    </cd>
</media>

Sie müssen den Inhalt der Datei nicht abtippen. Die Datei ist im Download des Tutorials enthalten. Sie können entweder den Inhalt per Copy & Paste übernehmen oder die Datei per Drag & Drop im Repository Navigator in den gewünschten Ordner einfügen.

Speichern Sie die Datei, indem Sie in der Werkzeugleiste auf Speichern bzw. Alle Speichern klicken:

Datei speichern

Sie können Ihre Änderungen auch mit Strg+S speichern.

XML-Schema erstellen

Um unsere XML-Datei gegen ein XML-Schema zu validieren, benötigten wir natürlich auch eine XML-Schema-Datei. Dieses Schema beschreibt alle Elemente und Attribute, die im Dokument vorkommen dürfen und vorkommen müssen. Auch die Reihenfolge und Stellen, an denen bestimmte Elemente verwendet werden dürfen werden beschrieben. Diese Schema-Datei legen wir nun an.

Klicken Sie im Repository Navigator mit der rechten Maustaste im ESB-Projekt ValidateXML auf den Ordner Resources, um das Kontextmenü zu öffnen.

  • Das Kontextmenü öffnet sich.

Klicken Sie auf New > XML Document.

  • Der File Creation Wizard öffnet sich.

Sie müssen den Inhalt der Datei nicht abtippen. Die Datei ist im Download des Tutorials enthalten. Sie können entweder den Inhalt per Copy & Paste übernehmen oder die Datei per Drag & Drop im Repository Navigator in den gewünschten Ordner einfügen.

Geben Sie für File name Schema.xsd ein.

Achten Sie darauf, die richtige Dateiendung .xsd zu verwenden!

Um die Datei zu erzeugen, klicken Sie auf Finish.

  • Die XSD-Datei wird erzeugt, im Repository Navigator angezeigt und im X4 Designer geöffnet.

Der Inhalt der Datei muss sein wie folgt:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="stringtype">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="empty-string">
        <xs:restriction base="xs:string">
            <xs:enumeration value="" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="inttype">
        <xs:union memberTypes="xs:positiveInteger empty-string" />
    </xs:simpleType>

    <xs:simpleType name="dectype">
        <xs:restriction base="xs:decimal"/>
    </xs:simpleType>

    <xs:complexType name="pricetype">
        <xs:simpleContent>
            <xs:extension base="dectype">
                <xs:attribute name="country" type="stringtype" use="required">
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="locationtype">
        <xs:sequence>
            <xs:element name="room" type="stringtype"/>
            <xs:element name="shelf" type="stringtype"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cdtype">
        <xs:sequence>
            <xs:element name="title" type="stringtype"/>
            <xs:element name="artist" type="stringtype"/>
            <xs:element name="komponist" type="stringtype"/>
            <xs:element name="release-year" type="inttype"/>
            <xs:element name= "duration" type="inttype"/>
            <xs:element name="price" type="pricetype"/>
            <xs:element name="location" type="locationtype"/>
        </xs:sequence>
        <xs:attribute name="type" type="stringtype" use="required"/>
        <xs:attribute name="style" type="stringtype"/>
        <xs:attribute name="language" type="stringtype" use="required"/>
    </xs:complexType>

    <xs:complexType name="dvdtype">
        <xs:sequence>
            <xs:element name="title" type="stringtype"/>
            <xs:element name="director" type="stringtype"/>
            <xs:element name="short-text" type="stringtype"/>
            <xs:element name="release-year" type="inttype"/>
            <xs:element name= "duration" type="inttype"/>
            <xs:element name="price" type="pricetype"/>
            <xs:element name="location" type="locationtype"/>
        </xs:sequence>
        <xs:attribute name="genre" type="stringtype" use="required"/>
        <xs:attribute name="language" type="stringtype" use="required"/>
    </xs:complexType>

    <xs:complexType name="booktype">
        <xs:sequence>
            <xs:element name="title" type="stringtype"/>
            <xs:element name="author" type="stringtype"/>
            <xs:element name="isbn" type="inttype"/>
            <xs:element name="short-text" type="stringtype"/>
            <xs:element name="release-year" type="inttype"/>
            <xs:element name="price" type="pricetype"/>
            <xs:element name="edition" type="stringtype" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="location" type="locationtype"/>
        </xs:sequence>
        <xs:attribute name="type" type="stringtype" use="required"/>
        <xs:attribute name="language" type="stringtype" use="required"/>
    </xs:complexType>

    <xs:complexType name="mediatype">
        <xs:sequence>
            <xs:element name="last-updated" type="stringtype"/>
            <xs:element name="book" maxOccurs="unbounded" type="booktype"/>
            <xs:element name="dvd" maxOccurs="unbounded" type="dvdtype"/>
            <xs:element name="cd" maxOccurs="unbounded" type="cdtype"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="media" type="mediatype"/>
</xs:schema>

Genauere Informationen zu XML-Schema-Dateien finden Sie z. B. unter https://www.w3schools.com/xml/schema_howto.asp.

Speichern Sie die Datei, indem Sie in der Werkzeugleiste auf Speichern bzw. Alle Speichern klicken:

Datei speichern

Sie können Ihre Änderungen auch mit Strg+S speichern.

Adapter XML_Validation erstellen

Als nächstes erstellen wir unseren Adapter.

Klicken Sie im Repository Navigator mit der rechten Maustaste im ESB-Projekt ValidateXML auf den Ordner Adapters, um das Kontextmenü zu öffnen.

  • Das Kontextmenü öffnet sich.

Klicken Sie auf New > Adapter.

  • Der File Creation Wizard öffnet sich.
Neuen Adapter anlegen

Wählen Sie den Adapter XML Validation aus.

Sie können den Adapter über das Suchfeld im oberen Bereich des File Creation Wizard suchen.

Geben Sie als File name XML_Validation.fa ein.

Um den Adapter anzulegen, klicken Sie auf Finish.

  • Der Adapter wird angelegt und geöffnet.

Stellen Sie den Adapter wie folgt ein:

ParameterWertBeschreibung
SchemaUrlxstore://%CURRENT_PROJECT%/Resources/Schema.xsdPfad zur Schema-Definition

Um die XStore-URL zu erhalten, klicken Sie mit der rechten Maustaste auf die Datei zu der Sie die XStore-URL erhalten möchten. Klicken Sie im Kontextmenü auf Copy XStore URL to Clipboard. Klicken Sie mit der rechten Maustaste in das Wertefeld der Einstellung. Klicken Sie im Kontextmenü auf Einfügen.

Mit einer XStore-URL können Sie zur Laufzeit eines Prozesses auf Dokumente im X4 Repository des aktuellen Benutzers zugreifen. So können Sie in XSL-Mappings und Adapter-Parametern auf Repository-Dateien verweisen.

Speichern Sie die Datei, indem Sie in der Werkzeugleiste auf Speichern bzw. Alle Speichern klicken:

Sie können Ihre Änderungen auch mit Strg+S speichern.

Der Platzhalter %CURRENT_PROJECT% wird zum aktuellen Projektnamen aufgelöst. Damit können Pfade angegeben, ohne Abhängigkeiten zum tatsächlichen Projektnamen zu erhalten. Weitere Informationen zu Systemplatzhaltern finden Sie in der Dokumentation der X4 Suite.

XML-Datei Output erstellen

Wir benötigen noch eine Datei, in der wir den Output des Adapters speichern können.

Klicken Sie im Repository Navigator mit der rechten Maustaste im ESB-Projekt ValidateXML auf den Ordner Resources, um das Kontextmenü zu öffnen.

  • Das Kontextmenü öffnet sich.

Klicken Sie auf New > Text Document.

  • Der File Creation Wizard öffnet sich.

Geben Sie für File name Output.xml ein.

Um die Datei zu erzeugen, klicken Sie auf Finish.

  • Die XML-Datei wird erzeugt, im Repository Navigator angezeigt und im X4 Designer geöffnet.

Die Datei hat keinen Inhalt. Der Inhalt wird später durch den Prozess erzeugt und geschrieben.

Prozess ValidateXML erstellen

Die eben erzeugen Elemente wollen wir nun in einem Prozess zusammenführen. Dafür müssen wir in unserem ESB-Projekt einen Prozess anlegen.

Klicken Sie im Repository Navigator mit der rechten Maustaste im ESB-Projekt ValidateXML auf den Ordner Processes, um das Kontextmenü zu öffnen.

  • Das Kontextmenü öffnet sich.

Klicken Sie auf New > Process.

  • Der File Creation Wizard öffnet sich.

Wählen Sie ein leeres Template und geben Sie als File name ValidateXML.wrf ein.

Um den Prozess zu erstellen, klicken Sie auf Finish.

  • Der Prozess wird erstellt und angezeigt.

Fügen Sie die benötigten Elemente per Drag & Drop aus dem Repository Navigator zum Prozess hinzu:

  • Media-Collection.xml
  • XML-Validation.fa
  • Output.xml

Der Prozess sieht nun so aus:

Prozess ValidateXML erstellen

Nun müssen wir die einzelnen Bausteine noch konfigurieren. Wählen Sie den linken Baustein, die XML-Datei Media-Collection aus, indem Sie darauf klicken.

In der linken unteren Ecke werden Ihnen die Properties (Eigenschaften) dieses Bausteins angezeigt. Stellen Sie die Properties wie folgt ein. Bestätigen Sie die jeweilige Eingabe, indem Sie die Enter-Taste drücken.

PropertyWertBeschreibung
LabelXML-DocumentBeschriftung des Bausteins

Wählen Sie den Adapter XML_Validation aus, indem Sie darauf klicken.

In der linken unteren Ecke werden Ihnen die Properties (Eigenschaften) dieses Bausteins angezeigt. Stellen Sie die Properties wie folgt ein. Bestätigen Sie die jeweilige Eingabe, indem Sie die Enter-Taste drücken.

PropertyWertBeschreibung
LabelValidateBeschriftung des Bausteins
OperationValidateOperation, die durch den Adapter ausgeführt wird.

Wählen Sie die Text-Datei Output aus, indem Sie darauf klicken.

In der linken unteren Ecke werden Ihnen die Properties (Eigenschaften) dieses Bausteins angezeigt. Stellen Sie die Properties wie folgt ein. Bestätigen Sie die jeweilige Eingabe, indem Sie die Enter-Taste drücken.

PropertyWertBeschreibung
LabelOutputBeschriftung des Bausteins
OperationWriteBestimmt, ob die Datei geschrieben oder gelesen wird.

Nicht erwähnte Properties müssen Sie nicht anpassen.

Wir setzen die Operation der Datei auf Write, damit wir den Output des Adapters abspeichern können. Jedes Mal, wenn ein neuer Output durch den Adapter generiert wird, wird die Datei überschrieben.

Unser Prozess sieht nun so aus:

Prozess ValidateXML bearbeiten

Prozess ValidateXML testen

Jetzt möchten wir natürlich wissen, ob unser Prozess funktioniert und ob der eingegebene Text richtig umgewandelt wird.

Klicken Sie in der Werkzeugleiste des X4 Designer auf Start Debugging.

Debuggen starten

Wir können den Prozess Schritt für Schritt (1, Resume) oder auf einmal (2, Step into / Step over) ausführen lassen.

Debug Mode wählen

Sobald der Prozess beendet ist, können wir prüfen, ob der Adapter eine Datei ausgegeben hat, die die XML-Datei enthält. Um die Datei zu öffnen, klicken Sie doppelt auf den Baustein Output in unserem Prozess ValidateXML.

  • Die eben im Prozess validierte und abgespeicherte XML-Datei wird geöffnet.

Dieses Beispiel zeigt das Ergebnis einer erfolgreichen Validierung. Falls die Validierung fehlgeschlagen wäre, wäre der Output des Adapters eine XML-Datei, die eine detaillierte Fehlermeldung zu allen Fehlern im validierten XML-Dokument enthält. Weitere Informationen zu den möglichen Ausgaben des Adapters finden Sie im Abschnitt zum Adapter XML Validation der Dokumentation zur X4 Suite.

Falls etwas im Prozess nicht wie erwartet funktioniert, können wir den Prozess im Debug-Modus Schritt für Schritt überprüfen. Für jeden Schritt können wir uns die Ausgaben jedes einzelnen Prozessbausteins ansehen. Dazu müssen wir nur auf das kleine Symbol oben rechts neben dem Baustein klicken:

Output debuggen