...
Random verschlechtert die Performance bei der der Dokumenterstellung und kann bei großen XML-Dateien dazu führen, dass ein Dokument gar nicht mehr erstellt werden kann.
Diese Anweisung (Attribut) sollte daher nur nicht standardmäßig in alle Vorlagen implementiert werden sondern nur wenn dort wo es tatsächlich benötigt wird.
Anleitung
Öffnen Sie die relevante Vorlage mit Microsoft Office Word. Eine Übersicht aller Vorlagen finden Sie hier.
In diesem Beispiel wird das Aktenstammblatt "ABLATT1.docx" unter "...\ADVOKAT\Daten\Vorlagen\Akt" beschrieben
...
xyz
...
.
Es handelt sich hierbei um die XML-Datei für ein erzeugtes Aktenstammblatt basierend auf der Vorlage laut Punkt 1.
Grundsätzlich hat man immer Zugriff auf das gerade aktive Template und alle übergeordneten Elemente und die Transformparameter.Codeblock <Akten AktenfilterSql="Akt ist ADVOKAT/TEST"> <TransformParameter ANr="14443" RA="MM" SB="MM" RALang="Dr. Max Mustermann" SBLang="Max Mustermann" RAOrt="Innsbruck" Language="0" wze="€" BKDir="G:\A2000\A3\DATEN\WW\BK\"/> <Akt RANNr="30324" GRANNr="0" RABK="1" AKurz="ADVOKAT/TEST" ANr="14443" RA="MM" SB="MM" AnlageDatum="28.06.2013" Causa="Testcausa" Klient1="29296" Gegner1="56112" RaLang="Dr. Martin Mandler" Betreff="Dokumentbetreff" Memo="" StatusLang="Klage" Gericht="211" SbLang="Max Mustermann" RaOrt="Innsbruck" GZ="607HV1/20x" AktivPassiv="A"> <Klienten Anzahl="2"> <Klient NNr="29296" Funktion="Klient" Funktion1="Client" Reihung="1" > <Person NNr="29296" NKurz="MUSTERM" Titel="" FirmaJN="-1" Vorname="" Name1="Mustermann KG" Name3="" Name4="" Anrede="S. g. Firma," Kurzanrede="" Beruf="" BeziehungKanzlei="Klient" Straße="Teststraße 1234" Int="A" Plz="6020" Ort="Innsbruck" FBNr="" ADVMCode="" Rechtsform="Gesellschaft m.b.H."/> </Klient> <Klient NNr="59675" Funktion="Klient" Funktion1="Client" Reihung="2"> <Person NNr="59675" NKurz="TEST1" Titel="Dr." FirmaJN="0" Vorname="Marina" Name1="Musterfrau" Name2="" Name3="" Name4="" Anrede="" Kurzanrede="" Beruf="" BeziehungKanzlei="" Straße="Teststraße 5678" Int="" Plz="6020" Ort="Innsbruck"/> </Klient> </Klienten> <Gegners Anzahl="1"> <Gegner NNr="56112" Funktion="Gegner" Funktion1="Opponent" Reihung="1" > <Person NNr="56112" NKurz="TEST2" Titel="Mag." FirmaJN="0" Vorname="Michael" Name1="Mustermann" Name2="" Name3="" Name4="" Anrede="Sehr geehrter Herr #!" Kurzanrede="Firma" Beruf="" BeziehungKanzlei="" Straße="Teststraße 9" Int="" Plz="6020" Ort="Innsbruck"/> </Gegner> </Gegners> <AktBeteiligte Anzahl="1" Anzahl_Auftraggeber="0"> <AktBeteiligter NNr="29550" Funktion="gegn. VS" Funktion1="gegn. VS" Reihung="1"> <Person NNr="29550" NKurz="V-WA" Titel="" FirmaJN="-1" Vorname="" Name1="Allianz Elementar Versicherungs-Aktiengesellschaft" Name2="" Name3="" Name4="" Anrede="Sehr geehrte Damen und Herren!" Kurzanrede="An die" Beruf="" BeziehungKanzlei="Versicherung" Straße="Hietzinger Kai 101-105" Int="A" Plz="1130" Ort="Wien" Rechtsform="Aktiengesellschaft"/> </AktBeteiligter> </AktBeteiligte> </Akt> </Akten>
...
Wie unter Punkt 2 ersichtlich kann in der Vorlage folgender Aufbau verwendet werden:
Codeblock
...
<template match="Akt"> <template match="Klienten"> <template match="Klient"> ... </template> </template> </template>
Erklärung
In diesem Fall hat man Zugriff auf alle Attribute der Elemente "Klient", "Klienten" und "Akt".
Wurde im XML bereits das Element "AktBeteiligte" abgearbeitet, kann man ohne Random nicht mehr auf das Element "Klienten" zugreifen, da dieses vor dem Element "AktBeteiligte"
...
steht.
In diesem Beispiel wird nun das Attribut random="1" ergänzt.
Codeblock language xml <template match="Akt" random="1"> <template match="Klienten"> <template match="Klient"> ... </template> </template> </template> <template match="Aktbeteiligte"> ... </template>
Erklärung
Mit <template match="Akt" random="1"> hat man dagegen zu jeder Zeit Zugriff auf alle Unterelemente des Elements "Akt", auch auf bereits
...
abgearbeitete Elemente.
In diesem Beispiel hat man folglich zusätzlich zu den Attributen der Elemente "AktBeteiligte" und "Akt" Zugriff auf Attribute der Elemente "Klienten", "Klient", "Gegners", "Gegner".
In diesem Beispiel wird nun das Attribut random="^" ergänzt.
Codeblock language xml <template match="Akt
...
"> <template match="Klienten" random="^"> <template match="Klient"> ...
...
</template> </template> <template match="Aktbeteiligte"> ... </template> </template>
Erklärung
Mit <template match="Klienten" random="^"> hat man ebenfalls Zugriff auf alle Unterelemente des Elements "Akt", da hier der Random-Zugriff auf der Ebene oberhalb von "Klienten" gesetzt wird.