É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'attribut select est une Expressions (XSLT), 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'attribut mode permet de traiter plusieurs fois un élément spécifié par son Noms qualifiés (XSLT), en produisant chaque fois un résultat différent. Si <xsl:template> n'a pas d'attribut match, il ne peut pas avoir d'attribut mode. Si un élément <xsl:apply-templates> a un attribut mode, il s'applique uniquement aux règles de modèle des éléments <xsl:template> qui ont un attribut mode de même valeur. Si un élément <xsl:apply-templates> n'a pas d'attribut mode, il s'applique uniquement aux règles de modèle des éléments <xsl:template> qui n'ont pas d'attribut mode.
Informations sur les éléments
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>.