Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Élément <xsl:element>

Crée un élément de sortie et lui donne le nom spécifié.

<xsl:element
  name = "element-name"  
  namespace = "uri-reference"
  use-attribute-sets = QName
</xsl:element>

name

Requis. Nom de l'élément à créer. Si cette valeur est un Noms qualifiés (XSLT), le nœud d'élément est créé dans l'espace de noms actuellement lié au préfixe, sauf s'il est remplacé par un attribut namespace. La valeur de l'attribut name est interprétée comme un modèle de valeur d'attribut, les expressions entre accolades étant évaluées et converties en chaînes, comme dans <xsl:value-of>. Cela permet de calculer le nom de l'élément ou de l'obtenir du XML source.

namespace

URI d'espace de noms de l'élément créé. Si l'attribut name contient un nom qualifié, le préfixe spécifié sera lié à l'espace de noms spécifié dans l'attribut namespace. Cela pourrait exiger des déclarations d'espaces de noms supplémentaires lors de la sérialisation. La valeur namespace est interprétée comme un modèle de valeur d'attribut.

use-attribute-sets

Liste d'ensembles d'attributs, séparés par des espaces, spécifiée par un Noms qualifiés (XSLT). La spécification de cet attribut déclare chaque attribut dans chaque ensemble d'attributs de la liste.

L'élément <xsl:element> permet de créer un élément avec un nom calculé. Le nom de l'élément à créer est spécifié par un attribut name obligatoire et un attribut namespace facultatif. Le contenu de l'élément <xsl:element> est un modèle pour les attributs et les enfants de l'élément créé.

Cet élément fournit un mécanisme d'échappement pour créer des éléments avec des conflits d'espace de noms, comme XSLT même.

L'élément <xsl:element> est nécessaire car les éléments XSLT ne peuvent pas être utilisés comme éléments de sortie. Cet exemple montre comment générer un élément <xsl:template>.

Fichier XML (item.xml)


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="element.xsl" ?>
<root>
   <item>My Item</item>
</root>


Fichier XSLT (element.xsl)


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="item">
   <xsl:element name="xsl:template">
      <xsl:attribute name="match">cost</xsl:attribute>
      <xsl:attribute name="xml:space">preserve</xsl:attribute>
      <xsl:apply-templates/>
   </xsl:element>
</xsl:template>

</xsl:stylesheet>


Sortie

Voici les données en sortie formatées :

My Item

Voici les données en sortie du processeur ; des sauts de ligne ont été ajoutés pour plus de clarté.

<?xml version="1.0"?>
<xsl:template match="cost" 
      xml:space="preserve" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
My Item</xsl:template>
Afficher: