Home >
Online Product Documentation >
Table of Contents >
xsl:apply-templates
xsl:apply-templates
Selects source nodes for processing.
Format
Description
If you specify the
select
attribute, specify a pattern that resolves to a set of source nodes. For each source node in this set, the XSLT processor searches for a template that matches the node. When it finds a matching template, it instantiates it and uses the node as the context node. For example:
When the XSLT processor executes this instruction, it constructs a list of all nodes that match the pattern in the
select
attribute. For each node in the list, the XSLT processor searches for the template whose
match
pattern best matches that node.
If you do not specify the
select
attribute, the XSLT processor uses the default pattern,
"node()"
, which selects all child nodes of the current node.
If you specify the
mode
attribute, the selected nodes are matched only by templates with a matching
mode
attribute. The value of
mode
must be a qualified name or an asterisk (
*
). If you specify an asterisk, it means continue the current mode, if any, of the current template.
If you do not specify a
mode
attribute, the selected nodes are matched only by templates that do not specify a
mode
attribute.
By default, the new list of source nodes is processed in document order. However, you can use the
xsl:sort
instruction to specify that the selected nodes are to be processed in a different order. See
xsl:sort.
Tip
|
|
You can create an
xsl:apply-templates element automatically using the XSLT mapper.
|
Example
In the previous example, the XSLT processor searches for a template that matches
/bookstore/book
. The following template is a match:
The XSLT processor instantiates this template for each
book
element.