Élément <xsl:fallback>

L'élément <xsl:fallback> est conçu pour traiter les éléments XSLT qui ne peuvent pas être traités par l'analyseur : par exemple, les éléments faisant partie d'une nouvelle version ou d'une extension non reconnue. L'élément <xsl:fallback> fonctionne en appelant le contenu du modèle qui fournit un substitut raisonnable pour le fonctionnement du nouvel élément.

<xsl:fallback>
</xsl:fallback>

Attributs

None

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

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, éléments de sortie

Notes

Lorsqu'un document XSLT est chargé pour la première fois, le préanalyseur XSLT valide tous les éléments XSLT. Si la version transférée à l'élément <xsl:stylesheet> est supérieure à celle prise en charge par l'analyseur, celui-ci exécute les enfants <xsl:fallback> de tout élément inconnu rencontré. Si un élément <xsl:fallback> n'a aucun contenu, l'analyseur n'effectue aucune action. Si un élément est pris en charge, les modèles de ses enfants <xsl:fallback> ne sont jamais instanciés. Si la version indiquée dans la feuille de style est la même que celle prise en charge par le navigateur, une erreur s'affiche.

Les traitements de secours font partie du mécanisme de traitement de transfert utilisé par XSLT pour le traitement des mises à niveau. En créant des alternatives au traitement d'une commande en cas d'élément non pris en charge, le traitement de transfert garantit que le code utilisé est relativement robuste et insensible aux différences de conformité de l'analyseur.

Outre le traitement des différences de versioning, le mécanisme de secours peut également permettre de traiter des éléments définis par les extensions de l'espace de noms. Étant donné qu'il s'avère généralement très difficile d'ajouter une fonctionnalité à la spécification de base, les extensions d'espace de noms permettent aux développeurs de définir la fonctionnalité sans tenir compte de celle déterminée par la spécification XSLT. Si l'espace de noms n'est pas pris en charge (aucune définition de l'espace de noms fournie) ou si un élément ou une fonction de l'espace de noms n'est pas défini, le mécanisme de secours peut permettre d'offrir une autre fonctionnalité.

Pour garantir l'interprétation de l'extension dans l'opération XSLT, vous devez définir l'attribut extension-element-prefixes dans l'élément <xsl:stylesheet> de sorte qu'il contienne le nom du préfixe à interpréter. Vous devez en outre déclarer l'espace de noms pour ce préfixe.

La rubrique suivante fournit un exemple de <xsl:fallback>.