Das separator-Attribut von xsl:value-of

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 1.)

Der andere Umstand, der Ihnen beim eben gezeigten Beispiel aufgefallen sein mag, ist dem Verhalten von xsl:value-of gegenüber Sequenzen zuzuschrei­ben, nicht der Sequenz selbst.

Es betrifft die Ausgabe im vorherigen Fall: Zwischen den Stringwerten der einzel­nen, verarbeiteten Items wird zusätzlich ein Leerzeichen ausgegeben. Das mag zwar naheliegend erscheinen und ist im Grunde auch praktisch. Ebenso logisch wäre es aber, wenn xsl:value-of beide Stringwerte einfach direkt verket­ten würde: ha haha ha anstelle von ha ha ha ha.

Der Grund besteht darin, dass die Instruktion ein bisher nicht erwähntes Attri­buts separator besitzt, dessen Default-Wert hier zum Tragen kommt. Das Attribut regelt eben die Zeichenkette, die zwischen den Stringwerten der ein­zelne Items auszugeben ist. Ist es nicht gesetzt, so wird stillschweigend ein Leer­zeichen als Trenner verwendet. Im Grunde steht hier also:

<xsl:value-of select="(lachen, lachen)" separator=" "/>

ergibt: ha ha ha ha

Natürlich kann auch ein anderes Zeichen verwendet werden:

<xsl:value-of select="(lachen, lachen)" separator="+"/>

ergibt: ha ha+ha ha

Oder eine beliebige Kette mehrerer Zeichen:

<xsl:value-of select="(lachen, lachen)" separator=", hoho, "/>

ergibt: ha ha, hoho, ha ha

Ordnet man mit separator="" explizit den leeren String als Trenner an, so werden die Einzelstringwerte unmittelbar verkettet.

Das separator-Attribut von xsl:value-of legt das als Trenner zwischen den Stringwerten der Items einzufügende Zeichen oder eine Zeichenkette fest. Default-Wert ist ein einzelnes Leerzeichen. Nach dem letzten Stringwert wird kein Trenner eingefügt.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn