XML | XML-Schema | XPath | XSL-T | XSL-FO | XQuery | XProc | SVG |
XSL-T / Die XSLT - Struktur / xsl:value-of
![]() |
![]() |
➪ Mit xsl:value-of sind Sie in der Lage, die Textinhalte einzelner Elemente, Attribute oder berechneter Werte direkt oder formatiert auszugeben. Darüber hinaus können Sie mit xsl:value-of auch Sequenzen mehrerer Items abarbeiten.
Auf dieser Seite:Siehe auch
In XSLT 1.0 ist xsl:value-of so vorgesehen:
<xsl:value-of
select=(Zeichenkette, oft XPath-Ausdruck)
disable-output-escaping = "yes" | "no" />
In XSLT 2.0 ist xsl:value-of das select-Attribut optional, es kommt noch ein weiteres optionales Attribut separator hinzu:
<xsl:value-of
select? = expression
separator? = { string }
[disable-output-escaping]? = "yes" | "no">
<!-- Content: sequence-constructor -->
</xsl:value-of>
Siehe auch https://www.w3.org/TR/xslt20/#element-value-of.
Siehe auch https://www.w3.org/TR/xslt-30/#element-value-of.
Wie an vielen Stellen bereits beschrieben, besteht die Grundidee von xsl:value-of darin, präzise definierte Einzelwerte auszugeben.
<xsl:value-of
select="/Orte/Ort[1]/name/text()"/>
Unter vielem anderen kommt xsl:value-of zum Einsatz in Zeitfunktionen, Zahlenformatierungen, Zeichenkonvertierungen oder Ersetzungen.
Daneben können Sie xsl:value-of auch bei der Auswertung von mehreren Items einer Sequenz verwenden. Hier habe ich in in string-join und tokenize einige Möglichkeiten beschrieben.
<xsl:value-of
select="//name"
separator="|"/>
bzw.
<xsl:value-of
select="string-join(//name, '|')"/>
Seit XSLT 2.0 können Sie xsl:value-of auch ohne select-Attribut aufrufen:
<xsl:template match="/">
<Ergebnis>
<xsl:value-of separator="|">
<xsl:sequence select="1 to 5"/>
<irgendwie>XML</irgendwie>
<irgendwo>Hier</irgendwo>
<irgendwann>Jetzt</irgendwann>
</xsl:value-of>
</Ergebnis>
</xsl:template>
Dann sieht das Ergebnis so aus:
<Ergebnis>1|2|3|4|5|XML|Hier|Jetzt</Ergebnis>
wg / 10. August 2020
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de