<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <code class="XSLTe"><var>xslt:</var>copy</code> 要素を使うと、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">現在節</anchor>をそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果木</anchor>に複製できます。
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xslt#element-copy" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/xslt#element-copy</anchor-external></p><p>但し、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">子節</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性節</anchor>は複製されません。
ですから、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素節</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タグ</anchor>に当たる部分
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性指定並び</anchor>を除く。) だけが複製されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 属性:<table><tbody><tr><td><code class="XSLTa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">use-attribute-sets</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">qnames</anchor></td><td>(なし)</td><td>追加の属性集合</td></tr></tbody></table></p><p><code class="XSLTa">use-attribute-sets</code> は、
要素節が複製される場合のみ使われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> この要素は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">雛形</anchor>中の禁止されていない適当な場所で使うことが出来ます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> この要素の内容は、複製された節の内容となる雛形です。
ただし、属性節や子節を持つことが出来る種類の節、
すなわち<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">根節</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素節</anchor>が複製される場合にのみ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実現値化</anchor>されます。
その他の場合は意味を持ちません。 <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書いちゃ駄目とはかかれていないので、<anchor>誤り</anchor>ではありません。</weak></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 複製されるのが根節であるときには、
本来結果木の根節は暗黙のうちに生成されるものですから、
特に何も起こりません。内容が実現値化されるだけです。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">他の節の子節の雛形に根節を複製せよとあったらどうなるかには触れられていませんが、仕様書を素直に解釈すれば、単に内容が実現値化されるだけで誤りではありません。もっとも、こんなことしても何の意味もないでしょうけどね。</weak></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 複製されるのが属性節であるときには、
<code class="XSLTa"><var>xslt:</var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor></code>
要素で同様のことをしようとしたら誤りとなることは、
やはり誤りとなります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 注意: 便宜上、或いはスタイル・シート中の雛形の表現上、
属性節や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈節</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">処理指令節</anchor>の子節として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文節</anchor>が来ることがありますが、
基本的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT</anchor> (or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>) 
のモデルではこれはなくて、
それぞれの節の値でしかありません。
ですから、属性節などを複製すると、要素節とは違って値まで複製されます。</p><p>例:<pre>&lt;element attr=&quot;attr&quot;&gt;
 text
 &lt;child/&gt;
&lt;/element&gt;</pre></p><p>について、<pre><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="xsl:template select=&quot;element&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">xsl:template select=&quot;element&quot;</anchor-external>
  <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="xsl:copy/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">xsl:copy/</anchor-external>
&lt;/xsl:template&gt;</pre></p><p>では<pre>&lt;element/&gt;</pre></p><p>になりますが、<pre><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="xsl:template" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">xsl:template</anchor-external>
  &lt;el&gt;
    &lt;!-- この for-each は、単に @attr を選択する
         ためだけのもの。 --&gt;
    <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="xsl:for-each select=&quot;@attr&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">xsl:for-each select=&quot;@attr&quot;</anchor-external>
      <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="xsl:copy/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">xsl:copy/</anchor-external>
    &lt;/xsl:for-each&gt;
  &lt;/el&gt;
&lt;/xsl:template&gt;</pre></p><p>では<pre>&lt;el attr=&quot;attr&quot;/&gt;</pre></p><p>となります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間節</anchor>は複製されます。</p></body></html>