XML-Kostenschablone
Eine Schablone ist ein XML-Script, das den Inhalt der Kostentabelle zeilenweise beschreibt. Dabei ist der Inhalt explizit als Text oder implizit als Formel beziehungsweise Parameter definiert. Sie können zwar die Schablone manuell erstellen und editieren, jedoch wird aufgrund der internen Verknüpfungen davon abgeraten und stattdessen empfohlen, den in KorFin® integrierten Editor zu verwenden.
Prinzipieller Aufbau einer Kostenschablone:
<?xml version="1.0" encoding="iso-8859-1"?>
<asdatafile>
<table title="Kostenschätzung">
<definitions>
<classes/>
<parameters/>
</definitions>
<cellstyles/>
<columns/>
<rows/>
<cells/>
</table>
</asdatafile>
Der Kopf ist obligatorisch und leitet die Definition der Kostentabelle ein. Sie können mit title die Überschriftszeile definieren. Die Sektionen definitions, cellstyles, columns
beziehungsweise rows
und cells
werden nachfolgend erklärt.
Definitionen (Parameterklassen und Parameter)
Im Definitionsteil legen Sie die in der Kostenschablone verwendbaren Parameter der Tabelle fest. Dazu werden die einzelnen Parameter jeweils genau einer Parameterklasse zugeordnet.
Syntax:
<definitions>
<classes>
<parameterclass type="TSplineCostParametersClass" id="..." name="..."/>
...
</classes>
<parameters>
<parameter type="TSplineCostParameterText|TSplineCostParameterFloat" class="id" name="..." info="..." value="..." />
...
</parameters>
</definitions>
Die Parameterklasse enthält folgende Attribute:
Name | Inhalt | Beschreibung |
| Interne Typdeklaration | Zurzeit immer |
| GUID | Identifikation der Parameterklasse. Es muss sich hierbei um einen "globally unique identifier" in der Form "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" handeln. |
| Text | Bezeichnungstext der Parameterklasse. |
| Wert | Angezeigte Hintergrundfarbe der Parameterklasse im Parameterbereich. |
Jede Definition eines Parameters findet in genau einem XML-Tag "parameter
" statt. Sie können folgendermaßen parametrisieren:
Name | Inhalt | Beschreibung | |
| Interner Typ | Es existieren folgende Parametertypen: | |
TSplineCostParameterText | Textparameter, beliebig festlegbar. | ||
TSplineCostParameterFloat | Zahlparameter, beliebig festlegbar. | ||
TSplineCostParameterTextConstraint | Textparameter, dessen Wert sich in Abhängigkeit einer festgelegten Formel ergibt. | ||
TSplineCostParameterFloatConstraint | Zahlparameter, dessen Wert sich in Abhängigkeit einer festgelegten Formel ergibt. | ||
| GUID | ID der zugeordneten Parameterklasse. Wird keine oder eine ungültige Parameterklasse verknüpft, ist der Parameter automatisch ein interner Parameter, der zwar in der Schablone verwendet werden kann, jedoch nicht durch den Benutzer einstellbar ist. | |
| Bezeichner | Name des Parameters. Der Name muss hierbei in " Wird der Umschluss mit " | |
| Text | Bezeichnung des Parameters zur Anzeige im Parameterbereich des Kostenmoduls. | |
| Text oder Zahl | Vordefinierter Inhalt des Parameters. | |
| Formel | Formelausdruck zur Bestimmung des Inhalts eines bedingten Parameters. |
XML: Darstellungseigenschaften der Zellen (Zellstile)
Zellen können ein spezifisches Aussehen erhalten. Die Stile werden wie folgt definiert:
<cellstyles>
<style id="..." name="..." justify="left|middle|right" formatstyle="..." fontstyle="..."/>
...
</cellstyles>
Mit folgenden Eigenschaften:
Name | Inhalt | Beschreibung | |
| Ganzzahl | Eindeutige Nummer des Zellenstils. | |
| Text | Bezeichnung des Zellenstils. | |
| Zellenausrichtung | Textausrichtung des Zelleninhalts. Folgende Einstellungsmöglichkeiten bestehen: | |
left | linksbündig | ||
right | rechtsbündig | ||
middle | mittig | ||
Erfolgt keine Angabe, wird die Textausrichtung standardmäßig auf linksbündig gesetzt. | |||
| Zahlenformat | Bei Zellen, die eine Zahl enthalten, können Sie die Anzahl der Nachkommastellen definieren und optional die Verwendung eines Trennzeichens (T) an jeder Tausenderstelle vorgeben Zu verwendende Syntax: Nachkommastellen[:T] | |
| Schriftformat | Textstil des Zelleninhalts. Folgende Einstellungsmöglichkeiten bestehen: | |
fett | bold | ||
kursiv | italics | ||
unterstrichen | underline | ||
strikeout | durchgestrichen | ||
Es können auch mehrere Textstile miteinander kombiniert werden: Beispielsyntax fett und kursiv: bold,italics (ohne Leerzeichen!) |
XML: Eigenschaften der Spalten und Zeilen
Bevor die Zellen der Kostentabelle "gefüllt" werden können, müssen Spalten und Zeilen angemeldet werden. Spalten und Zeilen besitzen jeweils eigene spezifische Eigenschaften, die festgelegt werden müssen:
<columns>
<column id="..." [visible="true|false"] name="..." size="..." [ownstyle="id"] style="id"/>
...
</columns>
<rows>
<row id="..." [active="true|false"] [visible="true|false"] [content="..."] linebefore="..." spacebefore="..." linebehind="..." spacebehind="..." backgroundcolor="..."/>
...
</rows>
Pro Tabellenspalte definieren Sie genau einen XML-Tag "column
". Für jede Spalte lassen folgende spezifische Eigenschaften festlegen:
Name | Inhalt | Beschreibung |
| Ganzzahl | Eindeutiger Index der Spalte. |
| Boolean | Angabe, ob die Spalte sichtbar ist oder nicht. Die Angabe ist optional. Erfolgt keine Angabe, wird die Spalte auf sichtbar gesetzt. |
| Text | Spaltenüberschrift. |
| Ganzzahl | Breite der Spalte in ganzzahligen Prozent. Die Summe aller Breiten sollte demnach 100 % ergeben. |
| Ganzzahl | Verweis auf Zellenstil für die Überschrift. Die Nummer wird mit der ID des Zellenstils verbunden. Wenn keine Angabe erfolgt, wird der Stil automatisch auf „normal“ gesetzt. |
| Ganzzahl | Notwendiger Verweis auf einen Zellenstil. Die Nummer wird mit der ID des Zellenstils verbunden. |
Die Reihenfolge der Zeilen in der Kostenschablone ergibt sich aus der Reihenfolge der column-Tags im XML-Quelltext, nicht anhand der ID!
Wie Spalten müssen auch die Zeilen vor dem Befüllen mit Zellen angemeldet werden. Für jede Zeile lassen sich folgende spezifische Eigenschaften festlegen:
Name | Inhalt | Beschreibung | |
| Boolean | Angabe, ob die Zeile aktiv ist oder nicht. Die Angabe ist optional. Erfolgt keine Angabe, wird die Zeile auf aktiv gesetzt. | |
| Boolean | Angabe, ob die Spalte aktiv ist oder nicht. Die Angabe ist optional. Erfolgt keine Angabe, wird die Zeile auf sichtbar gesetzt. | |
| Ganzzahl | Kennzeichnung als Masterzeile (Zeile mit speziellem Inhalt). Folgende Werte können Sie vergeben: | |
1 | Tunnel | ||
2 | Brücke | ||
4 | Stützwand | ||
8 | Lärmschutzwand | ||
16 | Einhausung | ||
Wenn die Zeile keinen speziellen Inhalt hat, können Sie das Attribut content im XML-Quelltext weglassen. | |||
| Zahl | Abstand [dots] vor der Zeile. Wenn keine Angabe erfolgt, wird der Wert automatisch auf “0” gesetzt. | |
| Zahl | Abstand [dots] nach der Zeile. Wenn keine Angabe erfolgt, wird der Wert automatisch auf “0” gesetzt. | |
| Zahl | Höhe einer durchgezogenen Linie [dots] vor der Zeile. Wenn keine Angabe erfolgt, wird der Wert automatisch auf “0” gesetzt. | |
| Zahl | Höhe einer durchgezogenen Linie [dots] nach der Zeile. Wenn keine Angabe erfolgt, wird der Wert automatisch auf “0” gesetzt. | |
| Wert | Hintergrundfarbe der Zeile. Wenn keine Angabe erfolgt, erhält die Zeile einen weißen Hintergrund. |
Die Reihenfolge der Zeilen in der Kostenschablone ergibt sich aus der Reihenfolge der row-Tags im XML-Quelltext, nicht anhand der ID!
XML: Zellen
Im Zeilenteil wird die Tabelle zeilenweise definiert. Dazu wird jede Zelle mit der Angabe der Spalte und Zeile lokalisiert.
<cells>
<cell type="TSplineCostCellSimple|TSplineCostCellEvalText|TSplineCostCellEvalFloat" col="id" row="id" text="..." [style="id"] [name="..." format="..."]/>
...
</cells>
Die Zellen der Liste werden wie folgt parametrisiert:
Name | Inhalt | Beschreibung | |
| Interne Typdeklaration | Jede Zelle entspricht genau einem Zellentyp, der die jeweiligen Fähigkeiten der Zelle aktiviert. Es existieren drei Zellentypen: | |
TSplineCostCellSimple | Einfache Zelle mit konstantem Text. | ||
TSplineCostCellEvalText | Textzelle mit der Fähigkeit, Textparameter zu verwenden. Andere Zellen können auf den Inhalt dieser Zelle referenzieren (Zellverweis). | ||
TSplineCostCellEvalFloat | Zahlzelle mit der Fähigkeit, Zahlparameter zu verwenden. Zur Bestimmung des Zelleninhalts können Formelausdrücke verwendet werden. Andere Zellen können auf den Inhalt dieser Zelle referenzieren (Zellverweis). | ||
| Ganzzahl | Zuordnung der Zelle zu einer Spalte, Positionsangabe über Spaltenindex (id). | |
| Ganzzahl | Zuordnung der Zelle zu einer Zeile über Zeilenindex (id) | |
| Zellenausdruck | Zelleninhalt als Text oder Formelausdruck. | |
| Zellenformat | Verweis auf einen spezifischen Zellenstil. Die Angabe ist optional. Erfolgt keine Angabe, wird der Zellenstil der Spalte übernommen. | |
| Bezeichner | Bezeichner zum Speichern des Ergebnisses des Zellinhalts in einen Verweisparameter. Der Name muss hierbei in " Die Angabe nur erforderlich, wenn Sie einen Zellverweis erstellen wollen. Wird der Umschluss mit " | |
| float|text | Format des erstellten Verweisparameters zur Zelle. Die Angabe ist nur erforderlich, wenn Sie einen Zellverweis erstellen wollen. |
Die Reihenfolge der cell-Tags im XML-Quelltext ist irrelevant, die Positionierung der Zelle ergibt sich implizit aus der Positionierung von Zeile und Spalte.