Bibliothek für erweitertes Binding


Diese Dokumentation verwendet der Einfachheit halber für diese Dokumentfunktion den umgangssprachlichen, englischen Begriff "Extended Bindings".

Extended Bindings ermöglichen es, über XSLT den Dokumentaufbau zu beeinflussen. Verglichen mit der Dokumentfunktion "Skripte" sind Extended Bindings in der Lage, nebst dem Textinhalt noch weitere Attribute, wie Textfarbe, Grösse angewandter Style etc. zu verändern. Sie bieten viele Möglichkeiten, sind jedoch anspruchsvoll umzusetzen und zu pflegen und haben eine höhere Ladezeit als Dokumente ohne Extended Bindings. Deswegen sollten Extended Bindings sparsam und wenn möglich gar nicht eingesetzt werden.


Tags

Allgemeine Tags

Tag

Funktion

Tag

Funktion

<w:sdtContent></w:sdtContent>

Diese Tags umschliessen das gesamte Extended Binding im Word-Dokument.

<xsl:stylesheet></xsl:stylesheet>

Diese Tags umschliessen alle Vorlagen.

<xsl:template></xsl:template>

Diese Tags umschliessen eine Vorlage.

<xsl:param></xsl:param>

Diese Tags umschliessen einen Parameter.

<xsl:variable></xsl:variable>

Diese Tags umschliessen eine Variable.

<xsl:value-of></xsl:value-of>

Diese Tags umschliessen eine Variable, die ausgegeben wird.

<xsl:call-template></xsl:call-template>

Diese Tags umschliessen einen Vorlagenaufruf.

<xsl:with-param></xsl:with-param>

Diese Tags umschliessen einen Parameter, der beim Vorlagenaufruf mitgegeben wird.

<w:p></w:p>

Diese Tags umschliessen einen Paragraphen.

<w:r></w:r>

Diese Tags umschliessen ein Set von WordprocessingML-Komponenten.

<w:t></w:t>

Diese Tags umschliessen reinen Text.

<w:tbl></w:tbl>

Diese Tags umschliessen eine gesamte Tabelle.

<w:tr></w:tr>

Diese Tags umschliessen eine Tabellenzeile.

<w:tc></w:tc>

Diese Tags umschliessen eine Tabellenzelle.

Diese Aufzählung ist nicht abschliessend.

 

Formatierungscontainer-Tags

Tag

Funktion

Link zu Attributen

Tag

Funktion

Link zu Attributen

<w:pPr></w:pPr>

Innerhalb dieser Tags wird die Formatierung für Paragraphen definiert.

Paragraph Properties

<w:rPr></w:rPr>

Innerhalb dieser Tags wird die Formatierung für Runs definiert.

Run Properties

<w:tblPr></w:tblPr>

Innerhalb dieser Tags wird die Formatierung für gesamte Tabellen definiert.

Table Properties

<w:trPr></w:trPr>

Innerhalb dieser Tags wird die Formatierung für Tabellenzeilen definiert.

TableRow Properties

<w:tcPr></w:tcPr>

Innerhalb dieser Tags wird die Formatierung für Tabellenzellen definiert.

TableCell Properties

<w:t></w:t>

Reiner Text hat keine Property-Tags, Text wird in den Run-Property-Tags definiert.

Text/Run Properties


Operatoren

Operator

Funktion

Operator

Funktion

+

Addition

-

Subtraktion

*

Multiplikation

div

Division

=

Gleich

!=

Ungleich

< / &lt;

Kleiner als

> / &gt;

Grösser als

<= / &gt;=

Kleiner Gleich

>= / &lt;=

Grösser Gleich

or

Logisches Oder

and

Logisches Und

Mod

Modulus

$

wird verwendet, um eine Variable anzusprechen.

//

Doppel-Slash: gibt einen Pfad an mit "Root" als Ausgangspunkt.

/

Einfacher Slash: gibt einen Pfad an mit der jetztigen Position als Ausgangspunkt.

.

Einfacher Punkt: spricht das aktuelle Element an.

..

Doppelpunkt: spricht das Elternelement des aktuellen Elements an.

@

spricht Attribute an.

|

|-Zeichen: ist ein logisches Und; man kann mehrere Elemente miteinander logisch verbinden.

not()

wird für eine Negation verwendet.


Zugriff auf Daten

Mit Extended Bindings kann man, wie auch mit Skripte, auf Daten zugreifen und diese weiter verwenden. Die Daten werden dabei in einer Variable gespeichert.

Beispiel für eine Variable:

<xsl:variable name="[NAME DER VARIABLE]" select="[REFERNZIERTES OBJEKT]" />

 

Beispiel für den Zugriff auf ein Textfeld im Dokument-Parameter:

<xsl:variable name="Subject" select="//Text[@id='DocParam.Subject']" />

Das Präfix 'DocParam' ist nicht zwingend nötig. Die primedocs-Konventionen schreiben jedoch vor, dass Felder im Dokument-Parameter mit diesem Präfix zu versehen sind.

Beispiel für den Zugriff auf eine CheckBox im Dokument-Parameter:

<xsl:variable name="CheckBox" select="//CheckBox[@id='DocParam.CheckBox']" />

Das Präfix 'DocParam' ist nicht zwingend nötig. Die primedocs-Konventionen schreiben jedoch vor, dass Felder im Dokument-Parameter mit diesem Präfix zu versehen sind.

Beispiel für den Zugriff auf eine ComboBox:

Das Präfix 'DocParam' ist nicht zwingend nötig. Die primedocs-Konventionen schreiben jedoch vor, dass Felder im Dokument-Parameter mit diesem Präfix zu versehen sind.

Beispiel für den Zugriff auf ein Skript:

Anders als beim Zugriff auf den Dokument-Parameter ist hier das Präfix 'CustomElements' zwingend notwendig.


Funktionalitäten

Normalize-Space

Die Funktion "Normalize-Space()" bereinigt Variablen, Eingabefelder, etc. Das heisst, sollte in einem Feld versehentlicherweise ein Leerschlag sein, wird dieses als leer betrachtet.

Die obenstehende Variable enthält den Inhalt des Betrefffelds aus dem Dokument-Parameter, bereinigt von überflüssigen Leerschlägen.


If

Die Funktion "If" bietet die Möglichkeit, Aktionen von Bedingungen abhängig zu machen.

Die obenstehende Vorlage prüft, ob das Betrefffeld im Dokument-Parameter nicht leer ist. Wenn das zutrifft, wird der Wert ausgegeben, ansonsten geschieht nichts.


Choose

Die Funktion "Choose" ist eine Erweiterung der Funktion If. Sie bietet zusätzlich die Möglichkeit, eine Anweisung zu machen, wenn die Bedingung nicht zu trifft. Hierfür werden die Tags When und Otherwise verwendet. Was zwischen den When-Tags steht, wird ausgeführt, wenn die Bedingung zutrifft. Was zwischen den Otherwise-Tags steht, wird ausgeführt, wenn die Bedingung nicht zutrifft.

Die obenstehende Vorlage prüft, ob das Betrefffeld im Dokument-Parameter nicht leer ist. Wenn das zutrifft, wird der Wert ausgegeben. Falls das Betrefffeld leer ist, wir der Informationstext 'Subject is empty' ausgegeben.


Substring

Die Funktion "Substring" wird in zwei Unterfunktionen unterteilt; es gibt Substring-before und Substring-after. Man übergibt der Vorlage einen String (Text) und einen Charakter (Zeichen), bei welchen der Text getrennt werden soll.

*Die erste Vorlage gibt alles aus, was in der E-Mail vor dem "@" steht. Die zweite Vorlage gibt alles aus, was nach dem "@" steht.

WICHTIG
Das Zeichen, das als Ausgangspunkt verwendet wird – in diesem Fall "@" – wird nicht mitausgegeben.


Concat

Die Funktion "Concat" ist das Gegenteil der Funktion "Substring": sie verbindet Zeichenketten.

Die obenstehende Vorlage erstellt aus dem Vornamen und Nachnamen eine E-Mail Adresse, zwischen Vornamen und Nachnamen wird ein Punkt gesetzt und nach dem Nachnamen wird noch "@beispiel.com" angehängt.


Beispiele

Empfänger mit Versandart

Die Versandart und der Empfänger haben unterschiedliche Style-Informationen, zudem ist die Versandart eine optionale Eingabe. Wird gewünscht, dass der Empfänger eine Zeile nachrückt, wenn die Versandart nicht ausgefüllt ist, muss das mit einem Extended Binding gelöst werden. Die üblichen Skripte können nicht verschiedene Style-Informationen in einem Skript verwenden.

Beispiel eines Empfängers mit und ohne Versandart

Dynamische Tabellen

Tabellen mit statischer Anzahl Zeilen und Spalten aber optionaler Anzeige der Zeilen und Spalten sind ein weiteres Beispiel für den Einsatz von Extended Bindings. Ob eine Zeile oder Spalte angezeigt wird, kann man im Dokument-Parameter mittels CheckBox definieren.

Beispiel einer Tabelle mit dynamisch angezeigten Zeilen / Spalten

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland