Bibliothek für erweitertes Binding
- 1 Tags
- 2 Operatoren
- 3 Zugriff auf Daten
- 4 Funktionalitäten
- 4.1 Normalize-Space
- 4.2 If
- 4.3 Choose
- 4.4 Substring
- 4.5 Concat
- 5 Beispiele
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 |
---|---|
| Diese Tags umschliessen das gesamte Extended Binding im Word-Dokument. |
| Diese Tags umschliessen alle Vorlagen. |
| Diese Tags umschliessen eine Vorlage. |
| Diese Tags umschliessen einen Parameter. |
| Diese Tags umschliessen eine Variable. |
| Diese Tags umschliessen eine Variable, die ausgegeben wird. |
| Diese Tags umschliessen einen Vorlagenaufruf. |
| Diese Tags umschliessen einen Parameter, der beim Vorlagenaufruf mitgegeben wird. |
| Diese Tags umschliessen einen Paragraphen. |
| Diese Tags umschliessen ein Set von WordprocessingML-Komponenten. |
| Diese Tags umschliessen reinen Text. |
| Diese Tags umschliessen eine gesamte Tabelle. |
| Diese Tags umschliessen eine Tabellenzeile. |
| Diese Tags umschliessen eine Tabellenzelle. |
Diese Aufzählung ist nicht abschliessend.
Formatierungscontainer-Tags
Tag | Funktion | Link zu Attributen |
---|---|---|
| Innerhalb dieser Tags wird die Formatierung für Paragraphen definiert. | |
| Innerhalb dieser Tags wird die Formatierung für Runs definiert. | |
| Innerhalb dieser Tags wird die Formatierung für gesamte Tabellen definiert. | |
| Innerhalb dieser Tags wird die Formatierung für Tabellenzeilen definiert. | |
| Innerhalb dieser Tags wird die Formatierung für Tabellenzellen definiert. | |
| Reiner Text hat keine Property-Tags, Text wird in den Run-Property-Tags definiert. |
Operatoren
Operator | Funktion |
---|---|
| Addition |
| Subtraktion |
| Multiplikation |
| Division |
| Gleich |
| Ungleich |
| Kleiner als |
| Grösser als |
| Kleiner Gleich |
| Grösser Gleich |
| Logisches Oder |
| Logisches Und |
| 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. |
| 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.
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.
PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland