apply-templates

xslt:apply-templates 要素

[1] xslt:apply-templates 要素は、特定の節集合それぞれについて雛形を適用し、 結果木中のこの要素に相当する位置に適用結果を接木するのに使います。 <http://www.w3.org/TR/xslt#element-apply-templates>

[2] 属性:

modeQName(なし)モード
select節集合式child::node()適用対象

内容には xslt:with-param 要素と xslt:sort 要素を零個以上使えます。

xslt:apply-templates 要素は雛形中の禁止されていない任意の位置で使えます。

[3] 例えば、

<doc>
  <sec>
     <h>Chapter 1</h>
     <p>Paragraph 1.1</p>
     <p>Paragraph 1.2</p>
     <sec>
       <h>Section 1.1</h>
       <p>Paragraph 1.1.1</p>
       <p>Paragraph 1.1.2
     </sec>
  </sec>
</doc>

という原始木に、

<xsl:template match="sec">
  <list>
    <apply-templates match="child::node()"/>
  </list>
</xsl:template>
<xsl:template match="h">
  <item>HEADING</item>
</xsl:template>
<xsl:template match="p">
  <item>PARAGRAPH</item>
</xsl:template>

というスタイル・シート片を適用したとすると、 結果木片は

  <list>
    <item>HEADING</item>
    <item>PARAGRAPH</item>
    <item>PARAGRAPH</item>
    <list>
      <item>HEADING</item>
      <item>PARAGRAPH</item>
      <item>PARAGRAPH</item>
    </list>
  </list>

になります。