Élément <xsl:apply-templates>
Demande au processeur XSLT de trouver le modèle approprié à appliquer d'après le type et le contexte de chaque nœud sélectionné.
<xsl:apply-templates
select = Expression
mode = QName
</xsl:apply-templates>
Attributs
- select
Peut être utilisé pour traiter des nœuds sélectionnés par une expression, au lieu de traiter tous les enfants. La valeur de l'attributselect
est une Expressions, qui doit donner une collection de nœuds. La collection de nœuds sélectionnée est traitée dans l'ordre du document, à moins qu'un ordre de tri différent ait été spécifié.
- mode
L'attributmode
permet de traiter plusieurs fois un élément spécifié par son Noms qualifiés, en produisant chaque fois un résultat différent. Si<xsl:template>
n'a pas d'attributmatch
, il ne peut pas avoir d'attributmode
. Si un élément<xsl:apply-templates>
a un attributmode
, il s'applique uniquement aux règles de modèle des éléments<xsl:template>
qui ont un attributmode
de même valeur. Si un élément<xsl:apply-templates>
n'a pas d'attributmode
, il s'applique uniquement aux règles de modèle des éléments<xsl:template>
qui n'ont pas d'attributmode
.
Informations sur l'élément
Nombre d'occurrences |
Illimité |
Éléments parents |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, éléments de sortie |
Éléments enfants |
Notes
L'élément <xsl:apply-templates>
sélectionne d'abord une collection de nœuds à l'aide de l'expression spécifiée dans l'attribut select
. Si cet attribut n'est pas spécifié, tous les enfants du nœud actuel sont sélectionnés. Pour chacun des nœuds sélectionnés, <xsl:apply-templates>
demande au processeur XSLT de trouver un <xsl:template>
approprié à appliquer. Pour vérifier si les modèles sont applicables, le processeur compare le nœud à l'expression XPath spécifiée dans l'attribut match
du modèle. Si plusieurs modèles sont applicables, celui qui possède la plus haute priorité est choisi. Si plusieurs modèles ont la même priorité, celui qui apparaît en dernier dans la feuille de style est sélectionné.
La rubrique suivante fournit un exemple d'élément <xsl:apply-templates>
.