XSL / Die XSLT - Struktur / xsl:attribute
![]() |
![]() |
➪ Mit der Anweisung xsl:attribute ist es möglich, ein Attribut in eine XML- bzw. HTML-basierte Zielstruktur einzufügen.
Auf dieser Seite:Siehe xsl:attribute.
<xsl:attribute
name = { qname }
namespace = { uri-reference }>
<!-- Content: template -->
</xsl:attribute>
Siehe auch https://www.w3.org/TR/xslt-10/#creating-attributes.
<xsl:attribute
name = { qname }
namespace? = { uri-reference }
select? = expression
separator? = { string }
type? = qname
validation? = "strict" | "lax" | "preserve" | "strip">
<!-- Content: sequence-constructor -->
</xsl:attribute>
Siehe auch https://www.w3.org/TR/xslt20/#element-attribute.
<xsl:attribute
name = { qname }
namespace? = { uri }
select? = expression
separator? = { string }
type? = eqname
validation? = "strict" | "lax" | "preserve" | "strip" >
<!-- Content: sequence-constructor -->
</xsl:attribute>
Siehe auch https://www.w3.org/TR/xslt-30/#element-attribute.
Für das Einfügen eines Attribute in eine baumartige Struktur gibt es mehrere Möglichkeiten. Ein Weg ist, ein Attribut direkt in Attributschreibweise zu implementieren. In diesem Fall hilft die "Kurzschreibweise" {}, Werte zuzuweisen. Eine Alternative ist, mit xsl:attribute den Namen des Attributs zu definieren und mit xsl:value-of select die Werte zuzuweisen.
<Person nachname="{name}">
<xsl:attribute name="vorname">
<xsl:value-of select="vorname"/>
</xsl:attribute>
</Person>
Das Ergebnis mag so aussehen:
<Person nachname="Sinnlos" vorname="Susi"/>
Eine weitere Alternative ist die Arbeit mit einer xsl-Variablen, die ein komplexes Element p mit zwei Attributen nachname und vorname definiert.
<xsl:variable name="vPerson">
<p nachname="Holzflos" vorname="Hugo"/>
</xsl:variable>
Darüber hinaus besteht noch die Möglichkeit, ein xsl:attribute-set zu deklarieren, das eine ganze Anzahl einzelner xsl:attribute vordefiniert. Das hat den Vorteil, dass häufig benutzte Attribut-Sets nur einmal deklariert werden müssen, um sie beliebig oft wiederverwenden zu können.
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