The xsl:copy-of element can be used to insert a result tree fragment into the result tree, without first converting it to a string as xsl:value-of does (see [7.6.1 Generating Text with xsl:value-of]). The required select attribute contains an expression. When the result of evaluating the expression is a result tree fragment, the complete fragment is copied into the result tree. When it is node-set, all the nodes in the set together with their content are copied in document order over into the result tree. When it is of any other type, the result is converted to a string and then inserted into the result tree, as with xsl:value-of.