C#.NET * C++ * JAVASCRIPT * PYTHON * DIVERSES
XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT



XSL / Die XSLT - Struktur / xsl:attribute

xsl:attribute

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-Syntax in XSLT 1.0:


<xsl:attribute
  name = { qname }
  namespace = { uri-reference }>
  <!-- Content: template -->
</xsl:attribute>

Siehe auch https://www.w3.org/TR/xslt-10/#creating-attributes.

xsl:attribute-Syntax in XSLT 2.0:


<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-Syntax in XSLT 3.0:


<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 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.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/xsl_attribute.html