Name
<xsl:copy-of> — Copies things to the result tree. The select
attribute defines the content to be copied. If the select
attribute identifies a result-tree fragment, the complete fragment is copied to the result tree. If select
identifies a node-set, all nodes in the node-set are copied to the result tree in document order; unlike <xsl:copy>
, the node is copied in its entirety, including any namespace nodes, attribute nodes, and child nodes. If the select
attribute identifies something other than a result-tree fragment or a node-set, it is converted to a string and inserted into the result tree.
Category
Instruction
Required Attributes
- select
Contains an XPath expression that defines the nodes to be copied to the output document.
Optional Attributes
None.
Content
None. <xsl:copy-of>
is an empty element.
Appears in
<xsl:copy-of>
appears inside a template.
Defined in
XSLT section 11.3, Using Values of Variables and Parameters with xsl:copy-of
.
Example
We’ll demonstrate <xsl:copy-of>
with a simple stylesheet that copies the input document to the result tree. Here is our stylesheet:
<?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>
We’ll test our stylesheet with the following document:
<?xml version="1.0"?> <list> <title>A few of my favorite albums</title> <listitem>A Love Supreme</listitem> <listitem>Beat Crazy</listitem> <listitem>Here ...
Get XSLT now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.