xsl:apply-templates エレメント


XSL処理モジュールに、選択された各ノードのパターンに基づき、適切なテンプレートを適用するよう指示する

文法

<xsl:apply-templates
    order-by="sort-criteria-list"
    select="pattern"  >

属性

order-by
ソート法をセミコロンで区切られたリストで指定する。最初のソート法による結果が等しい時、次のソート法がチェックされ、それでも等しい時更に次のソート法がチェックされ、というように適用される。個々のソート法の先頭の空白文字以外の文字で、ソートが昇順(+ 省略可)か降順(-)かを指定する。ソート法は、XSLパターンで表現され、select 属性で記述されるパターンに対して適用される。
select
テンプレートが実行されるべきコンテキストを指定する。デフォルト値"node()"は、カレント・ノードの子供で、属性以外の全てのノード・タイプを選択することを示す。

エレメント情報

親に含めるエレメント数 制限なし
親となるエレメント xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:pi, xsl:template, xsl:when, output elements
子となるエレメント xsl:template

特記事項

xsl:apply-templates エレメントは、まず select 属性で指定された query を用いて一群のノードを選択する。この attribute が指定されていない時は、カレント・ノードの全ての子ノードが選択される。xsl:apply-templates は XSL処理モジュールに、選択されたノードそれぞれに対して適用すべき xsl:template を探すように指示する。テンプレートは、ノードとテンプレートの match 属性で指定された XSLパターンとを比較して、適用すべきかどうかをテストされる。二つ以上のテンプレートがマッチ・パターンを満足する時は、そのうちスタイルシート中で最も後方で指定されているテンプレートが選ばれる。

xsl:apply-templates エレメント自体が xsl:template エレメントを含んでいても良い。その場合、それらのテンプレートは、他の場所で定義されているテンプレートよりも先にテストされる。これらのテンプレートは、その xsl:apply-templates の中だけで有効であり、外からは見えない。この仕組みで、ローカルなスコープを持つテンプレートを定義することができる。

order-by 属性の構文は、December XSL Working Draft によって撤廃されたことに注意せよ。December XSL Working Draft では、代りに xsl:sort エレメントが定義されている。将来のリリースで正式の構文をサポートする予定である。



Copyright (C)2000 ASH multimedia lab.
mail : wmaster@ash.or.jp