選択されたノードの型とコンテキストに基づいて適用する適切なテンプレートを検索するように、XSLT プロセッサに指示します。
<xsl:apply-templates
select = Expression
mode = QName
</xsl:apply-templates>
属性
- select
この属性を利用すれば、すべての子を処理する代わりに、式で選択されたノードを処理できます。select属性の値は 式 であり、それを使ってノード セットを評価する必要があります。 選択されるノード セットは、別の並べ替え順序が指定されていない限り、ドキュメント順に処理されます。
- mode
mode属性を使用すれば、要素の 修飾名 によって指定された要素を複数回処理し、毎回異なる結果を生成することができます。match属性を持っていない<xsl:template>がmode属性を持つことはできません。mode属性を持っている<xsl:apply-templates>要素は、同じ値のmode属性を持っている<xsl:template>要素のテンプレート規則にのみ適用されます。mode属性を持っていない<xsl:apply-templates>要素は、mode属性を持っていない<xsl:template>要素のテンプレート規則にのみ適用されます。
要素情報
解説
<xsl:apply-templates> 要素は、まず select 属性で指定されている式を使ってノードのセットを選択します。 この属性が指定されていない場合は、現在のノードのすべての子が選択されます。 <xsl:apply-templates> は、選択された各ノードに適用する適切な <xsl:template> テンプレートを検索するように XSLT プロセッサに指示します。 テンプレートの match 属性で指定されている XPath 式をノードと比較することによって、テンプレートの適用性がテストされます。 複数のテンプレートが照合パターンと一致する場合は、最も優先順位の高いテンプレートが選択されます。 複数のテンプレートの優先順位が同じである場合は、スタイル シート内の最後のテンプレートが選択されます。
次のトピックでは、<xsl:apply-templates> 要素の使用例を紹介します。