<xsl:copy-of>  
結果ツリーにコンテンツをコピーします。select 属性は、コピーするコンテンツを定義します。select 属性が結果ツリーフラグメントを識別する場合、完全なフラグメントが結果ツリーにコピーされます。select がノードセットを識別する場合、ノードセットのすべてのノードがドキュメント順に結果ツリーにコピーされます。一方、<xsl:copy> では、名前空間ノード、属性ノード、および子ノードを含めて、ノード全体がコピーされます。select 属性が結果ツリーフラグメントまたはノードセット以外のコンテンツを識別する場合、そのコンテンツは文字列に変換され、結果ツリーに挿入されます。
 
カテゴリ

命令

 
必須の属性
select
出力ドキュメントにコピーするノードを定義する XPath 式が含まれます。

 
省略可能な属性

なし。

 
コンテンツ

なし。<xsl:copy-of> は空の要素です。

 
指定先

<xsl:copy-of> はテンプレート内に指定します。

 
定義先

XSLT 11.3 節「Using Values of Variables and Parameters with xsl:copy-of

 

結果ツリーに入力ドキュメントをコピーする単純なスタイルシートを使用して、<xsl:copy-of> について示します。スタイルシートは次のとおりです。

<?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>

次のドキュメントに対してスタイルシートをテストします。

<?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>

XML ドキュメントを変換すると、結果は入力ドキュメントに非常に似たものになります。

<?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>

2 つのドキュメントの唯一の違いは、スタイルシートエンジンが encoding を XML 宣言に追加したことです。これを <xsl:copy> 要素の例と比較してください。