電子書籍の厳選無料作品が豊富!

お世話になります。

現在、サンプルのXSLTスタイルシート内を解析中なのですが、
各テンプレート内に、
<xsl:apply-templates />という単独での要素が、
いくつも出てきます。

ネット上で調べてみたところ、
「ほかのテンプレートの処理に移ることが出来る」
ということのようですが、
いまいち、この単独での要素を、
記述する意味が、よくわかりません。
(最近、XSLTを本で勉強しはじめたばかりなのですが、
  その本には、”<xsl:apply-templates select="mains">”みたいな例しか掲載されておらず、
  <xsl:apply-templates />という単独での説明が、残念ながら存在しておりませんでした・・・)

そこでご質問内容ですが、
XSLTスタイルシート内のテンプレート内に、
<xsl:apply-templates />という単独で、
で記述するのは、
どのようなことを実現させたいときに、
記述しているのでしょうか?

以上になります。
出来ましたら、例などを出していただきまして、
具体的に理解しやすく教えていただけますと
助かります。
どうぞよろしくお願いします。

A 回答 (1件)

わからないときは、仕様で確認するといいかも。


「select 属性が無いときは、カレントノードの全ての子ノード」ってかいてあったよ?

5.4 Applying Template Rules - XSL Transformations (XSLT)
http://www.w3.org/TR/xslt/#section-Applying-Temp …

「In the absence of a select attribute, the xsl:apply-templates instruction processes all of the children of the current node, including text nodes.」


だから、
select="node()"
の省略とみなして、いい気がする。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

仕様の確認方法を教えていただきましたので、
今後は、まずそちらを見て確認していくことにいたします。

あわせて、
「select="node()"の省略」
とのご回答をいただき、
ようやくスッキリと理解出来ました。

本当に助かりました。
ありがとうございました。

お礼日時:2012/08/13 21:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!