Elemento <xsl:copy>

Copia el nodo actual del origen al resultado.

<xsl:copy
  use-attribute-sets = QNames
</xsl:copy>

Atributos

  • use-attribute-sets
    Una lista de conjuntos de atributos separados por espacios en blanco, especificada como lista de Nombres completos. Al especificar este atributo se declara cada atributo en los conjuntos de atributos listados.

Información del elemento

Número de apariciones

Ilimitado

Elementos primarios

xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementos de salida

Elementos secundarios

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, elementos de salida

Comentarios

El elemento <xsl:copy> crea un nodo en el resultado con el mismo nombre, espacio de nombres y tipo como el nodo actual. Los atributos y los secundarios no se copian automáticamente. Este elemento hace la transformación de identidad posible.

Ejemplo

En el siguiente ejemplo se realiza una transformación de identidad en un documento entero. La transformación de identidad copia cada uno de los nodos del origen al resultado para proporcionar un árbol equivalente desde el punto de vista lógico. No produce una equivalencia carácter por carácter: las entidades se expandirán y se eliminará el espacio en blanco que no se haya marcado como significativo.

Archivo XML (booksshort.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="identityxfm.xsl"?>
<catalog>
    <book id="bk101">
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
        <publish_date>2000-10-01</publish_date>        
        <description>An in-depth look at creating applications with
 XML.</description>
    </book>
    <book id="bk102">
        <author>Ralls, Kim</author>
        <title>Midnight Rain</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-12-16</publish_date>
        <description>A former architect battles corporate zombies,
 an evil sorceress, and her own childhood to become queen of the
 world.</description>
    </book>
    <book id="bk103">
        <author>Corets, Eva</author>
        <title>Maeve Ascendant</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-11-17</publish_date>
        <description>After the collapse of a nanotechnology society
 in England, the young survivors lay the foundation for a new 
society.</description>
    </book>
</catalog>

Archivo XSLT (identityxfm.xsl)

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

  <xsl:template match="/ | @* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

Resultados

Esta es una parte del resultado con formato, truncado en el lado derecho:

Gambardella, MatthewComputer44.952000-10-01Un examen detallado y su propia infancia para convertirse en reina del mundo.Corets, EvaFa

Este es el resultado del procesador:

<?xml version="1.0"?><?xml-stylesheet type="text/xsl" 
href="identityxfm.xsl"?><catalog><book id="bk101"><author>Gambardella, 
Matthew</author><title>XML Developer's 
Guide</title><genre>Computer</genre><price>44.95</price><publish_date>2000
-10-01</publish_date><description>An in-depth look at creating 
applications with
 XML.</description></book><book id="bk102">
...
</book></catalog>