Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Ausgabeformat "Xml"

Dieses Ausgabeformat generiert aus den Indexdaten des Dokumentes eine XML-Datei. Die Dateianlagen des Dokumentes können eingebettet werden oder Referenzen auf extern mitzuführende Dateianlagen können generiert werden.

Eigenschaft

Beschreibung

OutputFormat[].AttachFileMode

Modus, wie zusätzliche Dateianlagen zu der XML-Datei hinzugefügt werden:

  • None: keine Anlagen (Standardwert)

  • Reference: als Dateiverweis in der XML-Datei

  • Embedded: als Base64-kodierte Binärdaten eingebettet in die XML-Datei

Die physische Bereitstellung der Dateien im Dateisystem, die im Modus Reference referenziert werden, ist nicht Bestandteil dieser Ausgabeformaterstellung. Die Bereitstellung muss auf anderem Wege realisiert werden, z. B. über ein dateibasiertes Ausgabesystem wie "File" (siehe auch vergleichbares Beispiel beim Ausgabeformat "InternalJson").

OutputFormat[].FieldNode

Standardmäßig werden beim sukzessiven Aufbau der XML-Datei Knoten gleichen Pfades nur einmalig generiert. Nur Unterknoten, die noch nicht existieren, werden neu angelegt.

Wenn jedoch alle Kopfdaten-Ausgabefelder unter dem gleichen, sich wiederholenden Knotennamen ausgegeben werden, ist hier der Pfad dieses mehrfach zu generierenden Knotens zu definieren. In OutputFormat[].Field[].OutputName sind dann nur die relativen Unterpfade zu diesem Knoten anzugeben. Wenn es keine Unterpfade geben soll, kann der .OutputName einen leeren Wert tragen.

OutputFormat[].ItemNode[]

Teilparameter zur Definition der wiederholt mit gleichem Namen anzulegenden Knoten, die jeweils eine Zeile tabellarischer Daten aufnehmen sollen

Die Arbeitsweise ist analog zu der obigen Eigenschaft .FieldNode.

  1. ItemNode*: betreffender Knoten in XPath-Syntax

  2. FieldName: optionaler Tabellenname der Quellfelder im Feldkatalog

Die Eigenschaft ItemNode kann mehrfach mit unter­schiedlichen FieldName-Parametern definiert werden, wenn mehrere XML-Knoten mit Tabellendaten vorhanden sind, denen Werte aus verschiedenen Quelltabellen zugeordnet werden sollen. Bei Weglassung des Parameters gilt der Eintrag global für alle Tabellen.

Der Pfad auf den zu generierenden Zielknoten ist in den Feldzuordnungen unter .OutputName anzugeben. Dieser Pfad muss bei tabellarischen Daten relativ zu dem Knoten definiert werden, der im Parameter ItemNode festgelegt ist.

OutputFormat[].ItemFieldNode[]

Teilparameter zur Definition der Tabellenfelder, die wiederholt mit gleichem Namen unterhalb eines Tabellenzeilenknotens .ItemNode[] anzulegen sind

Die Arbeitsweise ist analog zu der obigen Eigenschaft FieldNode, bezieht sich hier aber nicht auf Kopfdatenfelder, sondern auf tabellarische Felder:

  1. FieldNode*: betreffender Knoten in XPath-Syntax

  2. FieldName: optionaler Tabellenname der Quellfelder im Feldkatalog

Die Eigenschaft .ItemFieldNode[] kann mehrfach mit unterschiedlichen FieldName-Parametern definiert werden, wenn mehrere XML-Knoten mit Tabellendaten vorhanden sind, denen Werte aus verschiedenen Quelltabellen zugeordnet werden sollen. Bei Weglassung des Parameters gilt der Eintrag global für alle Tabellen.

Der Parameter FieldNode ist relativ zum übergeordneten Tabellenzeilenknoten .ItemNode[] anzugeben. Im .Outputname der Feldzuordnungen sind nur die relativen Pfade bezogen auf den Parameter FieldNode zu konfigurieren.

OutputFormat[].AttachFileNode(*)

Definition von XML-Knoten in XPath-Syntax, unter denen die Referenz auf Dateianlagen oder die Binärdaten von Dateianlagen ausgegeben werden

Diese Definition wird in den Modi Reference und Embedded benötigt.

  1. File*: vollständiger Pfad auf den (Haupt-) Knoten für die Ausgabe der Referenz/Binärdaten

  2. Data: optionaler relativer Pfad für die Referenz/Binärdaten

  3. Name: optionaler relativer Pfad für die zusätzliche Ausgabe des Dateinamens

  4. Type: optionaler relativer Pfad für die zusätzliche Ausgabe des MIME-Typs

Der Pfad, der im Parameter File definiert ist, wird für den untersten Knoten ggf. mehrfach generiert, wenn mehr als eine auszugebende Dateianlage vorhanden ist. Die Parameter Data, Name und Type benötigen relative Pfade bezogen auf den Pfad, der im Parameter File angegeben ist. Der Parameter Data dient dazu, den primären Ausgabewert (Dateireferenz oder Binärdaten) alternativ in einen Unterknoten anstatt direkt in File zu schreiben. Die Parameter Name und Type liefern bei Bedarf ergänzende Metadaten zu einer Dateianlage.

OutputFormat[].AttachFileRefMacro

optionaler Makroausdruck zur Aufbereitung des Dateireferenz-Wertes im Modus Reference

Der Standardwert ist mit dem Ausdruck "%FileName%" vorbelegt, d.h. nur der reine Dateiname wird ausgegeben.

Das folgende Beispiel zeigt den Auszug einer Konfiguration und den daraus resultierenden Aufbau der XML-Daten. Dabei sind primär die XPath-Ausdrücke für die zu generierenden Knoten von Interesse.

Hinweis

XPath ist eine Syntax zum Abfragen von XML-Inhalten. Diese Syntax wurde hier rudimentär adaptiert, um eine vergleichbare Notation auch für die Erstellung von XML-Dateien verwenden zu können. Die unterstützten Syntaxelemente beschränken sich auf einfache Pfadangaben mit Knoten und Attributen. Die Verwendung von Namensräumen wird nicht unterstützt.

{
   "OutputFormat": [
      {
         "ItemNode": [
            "ItemNode: /Document/Item"
         ],
         "AttachFileNode": "File: /Document/File, Name: @name"
         "Field": [
            {
               "Name": "Field1",
               "OutputName": "/Document/Field[@name='Field1']"
            },{
               "Name": "Items.Field1",
               "OutputName": "Field[@name='ItemsField1']"
            }
         ]
      }
   ]
}

Aus dieser Konfiguration werden die folgenden XML-Daten generiert:

<Document>
   <Field name="Field1">…</Field>
   <Item>
      <Field name="ItemsField1">…</Field>
   </Item>
   <File name="…">…</File>
</Document>

Die Konfiguration ist etwas aufwendiger, wenn der Feldname nicht im selben Knoten wie dessen Wert ausgegeben werden soll, sondern in einem parallelen Knoten:

<Field>
   <Name>Field1</Name>
   <Value>…</Value>
</Field>

Diese Variante wird nur in Kombination mit einem gesetzten .FieldNode unterstützt (oder .ItemFieldNode[] für Tabellen). Zur zusätzlichen Definition des Namensknotens und des Wertes wird der .OutputName auf mehrere Teilparameter erweitert:

  1. ValueNode*: relativer Pfad des Knotens zur Ausgabe des Feldwertes in XPath-Syntax

  2. NameNode: relativer Pfad des Knotens zur Ausgabe des Feldnamens in XPath-Syntax

  3. Name: auszugebender Feldname

Diese Eigenschaften sind somit in dem obigen Beispiel zu ergänzen oder zu ändern:

{
   "OutputFormat": [
      {
         "FieldNode": "/Document/Field",
         "ItemFieldNode": [
            "FieldNode: Field"
         ],
         "Field": [
            {
               "Name": "Field1",
               "OutputName": "ValueNode: Value, NameNode: Name, Name: Field1"
            },{
               "Name": "Items.Field1",
               "OutputName": "ValueNode: Value, NameNode: Name, Name: ItemsField1"
            }
         ]
      }
   ]
}