xsl:attribute og xsl:attribute-set
På samme måde som vi med xsl:element kan generere dynamiske elementer kan man med de to ovennævnte generere dynamiske attributter i forbindelse med at man genererer nye xml dokumenter.
Syntaksen er
<xsl:attribute name="attribut navn">
Og som med xsl:element kan vi skrive
<Navn><xsl:attribute name="ID">123</xsl:attribute>Thor Østergaard</Navn>
Vil producere
<Navn ID="123">Thor Østergaard</Navn>
Og
<Navn><xsl:attribute name="{.}">123</xsl:attribute>Thor Østergaard</Navn>
Vil indsætte indholdet af det aktuelle element som attribut navn. Husk at sørge for at navnet er lovligt!
Grupper af atributter
Har man en gruppe af atributter man gerne vil kunne sætte samtidig kan man bruge <xsl:attribute-set> i stedet. Det kunne se sådan her ud:
<xsl:attribute-set name="IdSize">
<xsl:attribute name="ID">A-213</xsl:attribute>
<xsl:attribute name="Size">A-213</xsl:attribute>
</xsl:attribute-set>
Og nås man skal bruge det skriver man:
<xsl:element name="order" use-attribute-sets="IdSize" />
Vil producere
<order ID="A-213" Size="123" />