L'élément <xsl:attribute> insère un attribut avec le nom indiqué dans l'arborescence d'un document résultant.

<xsl:attribute name="nom_attribut">
   Valeur de l'attribut
</xsl:attribute>

L'attribut name permet d'affecter un nom à l'attribut créé. Evidemment cette commande est obligatoire.

Un autre attribut, namespace permet de désigner un espace de noms.

<xsl:attribute 
                 name="nom_attribut" 
                 namespace="URI-référence">
   Valeur de l'attribut
</xsl:attribute>
Attributs
Attribut Description
name="nom" spécifie un nom pour l'attribut créé.
namespace="URI-référence" indique un espace de noms.

Cet élément peut être contenu dans les instructions suivantes :

L'élément <xsl:attribute> peut contenir les types d'éléments suivants :

Exemple : [voir]
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" 
                        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" media-type="text/xml; charset=ISO-8859-1"/>
  <xsl:template match="/">
  <xsl:element name="recueil">
      <xsl:attribute name="auteur">Achille Chavée</xsl:attribute>
      <xsl:element name="poeme">
        <xsl:attribute name="titre">Blason d'amour</xsl:attribute>
        <xsl:text>
        Es-tu plus belle es-tu moins belle
        qu'auparavant
        et qu'importe
        et qu'en sais-je
        je ne ferai jamais du temps
        un attendu secret
        dans le serment de vie qui nous délivre

        Quelques images pures ont brulé ta mémoire
        ô femme
        Dans l'alcôve secrète de la contagion
        j'ai bu très doucement le philtre

        Droite comme un couteau de rose mémorables
        cloué en nous
        en nos deuc coeurs
        en grave fidélité
        affirme chaque jour son évidence blanche
      </xsl:text>
      </xsl:element>
  </xsl:element>
  </xsl:template>
</xsl:stylesheet>


<xsl:template name="illustration">
  <img src="./image.gif">
  <xsl:if test="@align">
      <xsl:attribute name="align">
        <xsl:value-of select="@align"/>
      </xsl:attribute>
  </xsl:if>
  </img>
</xsl:template>

Dans ce second exemple, la valeur de l'attribut align dépend de la validité du test exécuté par l'élément <xsl:if>. Si un attribut align est trouvé dans le template alors la valeur de l'attribut align sera celle récupérée par l'élément <xsl:value-of> dans l'élément illustration.

En savoir plus :
Découvrez cet élément sur le site du W3CDécouvrez cet élément sur le site de Microsoft