Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Ausgabeformat "Text"

Dieses Ausgabeformat generiert aus den Indexdaten des Dokumentes eine einfache Textdatei ("plain text"). In die Textdatei können Referenzen auf die Dateianlagen eingebunden werden.

Abweichend vom Standard werden die auszugebenden Felder nicht über OutputFormat[].Fields[] definiert. Stattdessen müssen die Felder direkt als Variablen in die zu konfigurierende Textvorlage eingefügt werden, die den Inhalt der Ausgabedatei beschreibt. Die Variablen sind in der Syntax %{Variablenname}% anzugeben. Der Name entspricht bei Indexfeldern dem Namen der Eigenschaft .Field[].Name im Feldkatalog.

Die zusätzliche Angabe einer Ausgabefelddefinition ist nur erforderlich, wenn für einen typisierten Wert eine spezielle Formatierung seiner Textrepräsentation gewünscht ist. Dabei ist nur das .Fields[].OutputFormat zu setzen. Der .Fields[].OutputName hat hier keine Relevanz.

Eigenschaft

Beschreibung

OutputFormat[].Line[]*

OutputFormat[].ItemLine[]

OutputFormat[].AttachFileLine[]

Über diese Konfigurationseigenschaften wird die Textvorlage definiert, die den Inhalt der Ausgabedatei beschreibt. Die Definition erfolgt zeilenweise, d.h. jeder Array-Eintrag entspricht einer Ausgabezeile.

.Line[] ist die übergeordnete Eigenschaft und enthält die primären Zeilen. .ItemLine[] und .AttachFileLine[] stellen untergeordnete Fragmente dar, die jeweils nur die Zeilen für eine einzelne Tabellenposition oder Dateianlage darstellen, sofern diese mit ausgegeben wird.

Zur Laufzeit werden diese Fragmente entsprechend der Anzahl der Tabellenpositionen/Dateianlagen ggf. mehrfach generiert, zu einem Block zusammengefügt und an einer vorgegebenen Position in die primären Zeilen eingefügt. Diese Einfügeposition ist durch die internen Variablen %ItemLine% bzw. %AttachFileLine% festzulegen.

In den Zeilen aller 3 Eigenschaften können Variablen für Kopfdatenfelder sowie allgemeine Dokument-, System- und Umgebungsvariablen genutzt werden. Nur in .ItemLine[] kann außerdem die Systemvariable %ItemNo% für die laufende Zeilennummer genutzt werden.

In .ItemLine[] können Variablen für Tabellenfelder genutzt werden und in .AttachFileLine[] können Dateivariablen genutzt werden. Mit expliziter Angabe einer konkreten Zeilennummer sind Tabellenfelder zudem auch in .Line[] und .AttachFileLine[] nutzbar.

Als generelle funktionale Einschränkung gilt für dieses Ausgabeformat, dass keine multiplen Tabellen von Indexdaten innerhalb eines Dokumentes unterstützt werden, sondern nur maximal eine Tabelle.

OutputFormat[].LineFeed(#)

Zeilenumbruchzeichen, die zur Trennung der definierten Ausgabezeilen genutzt werden

Standardwert: <#>0D0A</#> ("Carriage Return" und "Line Feed")

OutputFormat[].ItemLineSep(#)

OutputFormat[].AttachFileSep(#)

optionale Angabe von Trennzeichen

Mit diesen Trennzeichen werden die multiplen Fragmente voneinander abgegrenzt, die über .ItemLine[] und .AttachFileLine[] generiert werden.

Standardmäßig erfolgt die Trennung mit dem Zeilenumbruch, der in .LineFeed definiert ist. Um die Fragmente stattdessen alle innerhalb einer Zeile auszugeben, kann ein anderes Trennzeichen definiert werden, z. B. ein Komma.

OutputFormat[].Encoding

Zeichenkodierung der zu erstellenden Textdatei (siehe Verschiedenes)

Standardwert: Utf8

Das folgende Beispiel zeigt einen Auszug der Konfiguration für ein Dokument mit 2 Tabellenzeilen und 2 Dateianlagen sowie den Aufbau der Textdatei, die daraus resultiert.

{
   "OutputFormat": [
      {
         "Line": [
            "--- DOCUMENT ---"
            "Field 1: %Field1%",
            "--- ITEMS ---",
            "%ItemLine%",
            "--- ATTACHMENTS ---",
            "%AttachFileLine%"
         ],
         "ItemLine": [
            "(#%ItemNo%) Items Field 1: %Items.Field1%"
         ],
         "AttachFileLine": [
            "(#%FileNo%) Name: %FileName%"
         ]
      }
   ]
}

Aufbau der generierten Textdatei:

--- DOCUMENT ---
Field 1: …
--- ITEMS ---
(#1) Items Field 1: …
(#2) Items Field 1: …
--- ATTACHMENTS ---
(#1) Name: …
(#2) Name: …