<xsl:copy-of> |
Copie des éléments dans l'arborescence de résultat. L'attribut select définit le contenu à copier. Si l'attribut select identifie un fragment d'arbre de résultat, le fragment complet est copié dans l'arborescence de résultat. Si l'attribut select identifie un ensemble de nœuds, tous les nœuds de cet ensemble sont copiés dans l'arborescence de résultat dans l'ordre du document ; contrairement à <xsl:copy>, le nœud est copié dans sa totalité, y compris les nœuds d'espace de noms, les nœuds d'attribut et les nœuds enfants. Si l'attribut select identifie un élément autre qu'un fragment d'arbre de résultat ou qu'un ensemble de nœuds, cet élément est converti en chaîne et inséré dans l'arborescence de résultat.
Catégorie
Instruction
Attributs obligatoires
select Contient une expression XPath qui définit les nœuds à copier dans le document de sortie.
Attributs facultatifs
Aucun.
Contenu
Aucun. <xsl:copy-of> est un élément vide.
Apparaît dans
<xsl:copy-of> apparaît dans un modèle.
Défini dans
XSLT section 11.3, Utilisation de valeurs de variables et de paramètres avec xsl:copy-of.
Exemple
La feuille de style simple suivante utilise <xsl:copy-of> pour copier le document d'entrée dans l'arborescence de résultat. La feuille de style est la suivante :
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="xml"/>

      <xsl:template match="/">
        <xsl:copy-of select="."/>
      </xsl:template>

    </xsl:stylesheet>
La feuille de style est appliquée au document suivant :
    <?xml version="1.0"?>
    <list>
      <title>A few of my favorite albums</title>
      <listitem>A Love Supreme</listitem>
      <listitem>Beat Crazy</listitem>
      <listitem>Here Come the Warm Jets</listitem>
      <listitem>Kind of Blue</listitem>
      <listitem>London Calling</listitem>
      <listitem>Remain in Light</listitem>
      <listitem>The Joshua Tree</listitem>
      <listitem>The Indestructible Beat of Soweto</listitem>
    </list>
Une fois le document XML transformé, la ressemblance entre les résultats et le document d'entrée est frappante :
    <?xml version="1.0" encoding="UTF-8"?>
    <list>
      <title>A few of my favorite albums</title>
      <listitem>A Love Supreme</listitem>
      <listitem>Beat Crazy</listitem>
      <listitem>Here Come the Warm Jets</listitem>
      <listitem>Kind of Blue</listitem>
      <listitem>London Calling</listitem>
      <listitem>Remain in Light</listitem>
      <listitem>The Joshua Tree</listitem>
      <listitem>The Indestructible Beat of Soweto</listitem>
    </list>
Seule différence entre les deux documents, le moteur de la feuille de style a ajouté un encoding à la déclaration XML. Cet exemple peut être comparé avec celui de l'élément <xsl:copy>.