Data Structure To XML Converter
Der Data Structure To XML Converter strukturiert Daten aus unterschiedlichen Quellen und gibt diese als XML-Dokument aus.
XML-Strukturelemente
Eine XML-Datei kann aus mehreren strukturellen Bestandteilen aufgebaut werden. Nachfolgend werden die für den Konverter relevanten Elemente beschrieben.
XML-Element
Ein Element ist die grundlegende strukturelle Einheit in XML.
Ein Element besteht aus:
- Start-Tag
- Optionalen Attributen
- Inhalt
- End-Tag
Beispiel:
<documentId>8001234567890</documentId>XML-Attribut
Ein Attribut ergänzt ein XML-Element um zusätzliche Metainformationen. Attribute werden innerhalb des Start-Tags definiert und bestehen aus einer Key-Value-Zuordnung.
Syntax:
`<Elementname Attributname="Wert">`
`<metadata version="1.0">`XML-Hierarchie
XML ist hierarchisch aufgebaut. Elemente können andere Elemente enthalten und bilden eine strukturierte Baumhierarchie.Jedes XML-Dokument besitzt genau ein Wurzelelement.
Alle weiteren Elemente sind diesem strukturell untergeordnet.
Hierarchieebenen
- Wurzelelement
- Kindelement
- Unterelement
Ein untergeordnetes Element muss vollständig innerhalb des Start- und End-Tags des übergeordneten Elements definiert sein.
Beispiel
<metadata>
<document>
<documentId>8001234567890</documentId>
</document>
</metadata>Strukturanalyse
- metadata ist das Wurzelelement
- document ist ein direktes Kindelement von metadata
- documentId ist ein Kindelement von document
Selbstschließendes XML-Element
Ein Element ohne Inhalt kann selbstschließend definiert werden.
Beispiel:
<recipient id="5673783003" />
<recipient />XML-Version und Encoding
Eine XML-Datei beginnt typischerweise mit einer XML-Deklaration.
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
- version definiert die verwendete XML-Version
- encoding definiert die Zeichenkodierung der Datei
Konfigurationsfelder
| Feld | Beschreibung |
|---|---|
| Datenstruktur | Definition der XML-Struktur über Tag-Pfad, Element/Attribut Name und weitere Parameter. Aufgrund der Komplexität siehe Beispiele unterhalb der Tabelle. |
| Outputname | Definiert den Namen des Contents, in dem das erzeugte XML gespeichert wird. |
| XML-Encoding | Definiert die Zeichenkodierung des XML-Dokuments, z. B. UTF-8. |
| XML-Version | Definiert die verwendete XML-Version, z. B. 1.0. |
Quelle und Feldmapping
Werte können entweder als Konstante angegeben oder aus einer Datenquelle im Prozesskontext gelesen werden. Für ein Mapping werden die beiden Felder Element/Attribut Wert und Element/Attribut Quelle gemeinsam verwendet:
| Element/Attribut Wert | Element/Attribut Quelle | Verhalten |
|---|---|---|
Fester Wert, z. B. 8001234567890 |
leer | Der angegebene Wert wird unverändert verwendet. |
Feldname, z. B. DocumentId |
Datenquelle, z. B. InputData |
Das Feld DocumentId wird aus der Quelle InputData gelesen und als Wert des konfigurierten XML-Elements oder -Attributs verwendet. |
Die Element/Attribut Quelle wird aus den im Prozess verfügbaren DataItems oder Tabellen ausgewählt. Der Eintrag in Element/Attribut Wert ist bei gesetzter Quelle kein Literaleintrag, sondern der Name des Feldes in dieser Quelle. Das Feldmapping wird für Elementwerte und Attributwerte gleichermaßen unterstützt.
Ist die Quelle oder das angegebene Feld nicht vorhanden, wird der Wert als leer behandelt. Ist Wert - Null/Leer erlauben deaktiviert, wird die Verarbeitung mit einem Konfigurationsfehler abgebrochen. Ist die Option aktiviert, wird der leere Wert übernommen.
Beispiel für ein Feldmapping
Im Prozesskontext steht ein DataItem InputData mit den Feldern DocumentId und CreationDate zur Verfügung:
| Tag-Pfad | Element/Attribut Name | Element/Attribut Wert | Element/Attribut Quelle | Wert – Null/Leer zulassen | Wert ist Attribut |
|---|---|---|---|---|---|
| /metadata | false | false | |||
| /metadata/document | false | false | |||
| /metadata/document | documentId | DocumentId | InputData | false | false |
| /metadata/document | creationDate | CreationDate | InputData | false | false |
Die Werte der Felder werden zur Laufzeit aus InputData gelesen. Enthält DocumentId beispielsweise 8001234567890 und CreationDate den Wert 2018-02-26T13:41:04Z, entsteht folgende Ausgabe:
<metadata>
<document>
<documentId>8001234567890</documentId>
<creationDate>2018-02-26T13:41:04Z</creationDate>
</document>
</metadata>Für ein Attribut wird lediglich Wert ist Attribut aktiviert:
| Tag-Pfad | Element/Attribut Name | Element/Attribut Wert | Element/Attribut Quelle | Wert – Null/Leer zulassen | Wert ist Attribut |
|---|---|---|---|---|---|
| /metadata/document | documentId | DocumentId | InputData | false | true |
Aus demselben Mapping entsteht dann <document documentId="8001234567890" />.
Konfiguration Beispiel 1
| Tag-Pfad | Element/Attribut Name | Element/Attribut Wert | Element/Attribut Quelle | Wert – Null/Leer zulassen | Wert ist Attribut |
|---|---|---|---|---|---|
| /metadata | false | false | |||
| /metadata/document | false | false | |||
| /metadata/document | documentId | 8001234567890 | false | false |
Ausgabe
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<document>
<documentId>8001234567890</documentId>
</document>
</metadata>Konfiguration Beispiel 2
| Tag-Pfad | Element/Attribut Name | Element/Attribut Wert | Element/Attribut Quelle | Wert – Null/Leer zulassen | Wert ist Attribut |
|---|---|---|---|---|---|
| /metadata | false | false | |||
| /metadata | version | 4.0 | false | false | |
| /metadata/document | false | false | |||
| /metadata/document | documentId | 8001234567890 | false | false | |
| /metadata/document | creationDate | 2018-02-26T13:41:04Z | false | false | |
| /metadata/document | formOnlineDisplayName | Ihr Kurantrag vom 23.02.2018 | false | false | |
| /metadata/recipient | id | 5673783003 | false | true |
Ausgabe
<?xml version="1.0" encoding="utf-8"?>
<metadata version="4.0">
<document>
<documentId>8001234567890</documentId>
<creationDate>2018-02-26T13:41:04Z</creationDate>
<formOnlineDisplayName>Ihr Kurantrag vom 23.02.2018</formOnlineDisplayName>
</document>
<recipient id="5673783003" />
</metadata>