XMLMemSaveTemplateParserUnit

Gruppe

Integration Units

Funktion

Die Unit verhält sich im Prinzip wie die XMLTemplateParserUnit, arbeitet jedoch intern mit einer temporären Datei und verbraucht somit zur Laufzeit deutlich weniger Hauptspeicher.

Beschreibung


Wichtiger Hinweis: Bitte Verwenden Sie für Neuentwicklungen die XMLNoTemplateUnit.


Die Unit verhält sich im Prinzip wie die XMLTemplateParserUnit (dort wird auch die Verwendung von Templates erklärt), arbeitet jedoch intern mit einer temporären Datei und verbraucht somit zur Laufzeit deutlich weniger Hauptspeicher als die XMLTemplateParserUnit. Der zusätzliche Parameter Write mandatory empty field bewirkt mit dem Wert true, dass auch leere Pflichtfelder erzeugt werden, selbst dann, wenn with empty fields nicht aktiv ist. In der Template-Datei können Profil-Variablen (außerhalb einer DataWizardSection und in der Notation @VAR_NAME@) und dynamische XML-Elementnamen verwendet werden. Es werden auch CDATA-Elemente unterstützt.

Die XMLMemSaveTemplateParserUnit erlaubt es, XML-Elemente dynamisch zu benennen. Dabei wird der Wert, den ein Feld hat, als Elementname verwendet. Nehmen wir an, ein Zielfeld hat den Namen xy2 und in der XML-Templatedatei wird ein XML-Element mit dem Platzhalter-Namen __VALUE_xy2_EULAV__ definiert, dann wird der Platzhalter zur Laufzeit durch den aktuellen Wert des Feldes xy2 ersetzt. Die an anderer Stelle der XML-Template-Datei übliche Platzhalter-Syntax @feldname@, also mit dem Präfix @ und dem Postfix @, kann in diesem Fall nicht angewendet werden, weil der Name eines XML-Elements keine Sonderzeichen @ bzw. # enthalten darf. Als Präfix wird deshalb __VALUE_ (mit doppeltem Unterstrich am Anfang) verwendet und als Postfix die selbe Zeichenfolge umgekehrt. Der Feldname selbst darf auch kein # enthalten. Das Feld muss also gegebenenfalls manuell umbenannt werden.

Mit dem optionalen Attribut onlyRecord wird gesteuert, ob ein Knoten nur bei einem bestimmten Datenblatt ausgegeben werden soll. Dazu muss die Template-Datei manuell ergänzt werden. Zum Beispiel würde <DataWizardSection node="OrderHeader" onlyRecord="1"> den Knoten OrderHeader nur für das erste Datenblatt ausgeben. Mit onlyRecord="2" würde der Knoten nur beim zweiten, bei onlyRecord="-1" nur beim letzten und bei onlyRecord="-2" nur beim vorletzten Datenblatt ausgegeben werden.

Beschreibung der Parameter


Parametername

Erlaubte Werte

Default-Wert

Beschreibung

Do not encode quote and apos char

true, false

false

Falls true, dann werden Quote-Zeichen und Apostrophen nicht kodiert.

Encode content with Base64

true, false

false

Über den Parameter kann mit true eine Base64-Kodierung der Textattribute erreicht werden.

Insert this DOCTYPE declaration



Der Einzufügende Dokumententyp (DOCTYPE). Hinweis: Möchten Sie einen anderen als den Default-XML-Header <?xml version="1.0" encoding="UTF-8"?> verwenden, dann können Sie diesen hier angeben. Verwenden Sie dann zusätzlich den Parameter Without XML-Header=true, um den Default-XML-Header zu entfernen.

Replace by new namespace prefix



Neuer Namespace-Präfix.

Replace orig. namespace prefix

true, false


Originale Namespace-Präfixe durch neue Präfixe ersetzen.

Text mode (normalize, preserve, trim, trim-full-white)

normalize, preserve, trim, trim-full-white

trim

Regelt die Art, wie Werte in das XML aufgenommen werden sollen.

preserve - Der Text wird unverändert übernommen. Alle Leerzeichen (führend, nachfolgend, …) verbleiben im XML.

trim-full-white - Siehe preserve mit der Ausnahme, dass ein Text, der nur aus Leerzeichen besteht, durch einen leeren Text ersetzt wird.

trim - Alle führenden und nachfolgenden Leerzeichen werden entfernt.

normalize - Siehe trim mit der zusätzlichen Funktion, dass aufeinander folgende, innere Leerzeichen zu einem einzelnen zusammengefasst werden (..1..2.. → 1.2, ein Punkt repräsentiert ein Leerzeichen).

Use XML short form for empty fields

true, false

false

Verwendung der Kurzschreibweise für XML-Elemente bei leeren Felder.

Without XML-Header

true, false

false

XML-Datei ohne Header schreiben.

Write mandatory empty field

true, false

false

Leere Pflichtfelder schreiben.

Write xml in a single line

true, false

false

XML-Datei in eine einzige Zeile schreiben.

file encoding


UTF-8

Des Name des Zeichensatzes, der in den XML-Header aufgenommen werden soll. Achtung: Der gleiche Zeichensatz muss beim entsprechenden Ausgangsweg in Phase 6 des Profils angegeben werden, damit die Datei auch tatsächlich damit ausgegeben wird. Ansonsten ist mit Fehlern auf Leseseite zu rechnen (Pflichtwert).

template-file



Die Template-Datei. Siehe Abschnitt XMLTemplateParserUnit.

with empty fields

true, false

false

Alle leeren Felder (nicht nur Pflichtfelder) schreiben.