É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, 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, 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 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

xsl:sort, xsl:with-param

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>.