<xsl:fallback>-Element

Mit dem <xsl:fallback>-Element können XSLT-Elemente behandelt werden, die nicht mit dem Parser verarbeitet werden können, also beispielsweise Elemente, die Teil einer neuen Version oder einer nicht erkannten Erweiterung sind. Mit dem <xsl:fallback> wird ein Vorlageninhalt aufgerufen, der einen entsprechenden Ersatz für das Verhalten des neuen Elements bereitstellt.

<xsl:fallback>
</xsl:fallback>

Attribute

Keine

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

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

Untergeordnete Elemente

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

Hinweise

Wenn zuerst ein XSLT-Dokument geladen wird, führt der XSLT-Vorparser eine Überprüfung für alle XSLT-Elemente aus. Wenn die mit dem <xsl:stylesheet>-Element übergebene Version größer ist als die vom Parser unterstützte Version, führt der Parser die untergeordneten <xsl:fallback>-Elemente der gefundenen nicht bekannten Elemente aus. Wenn ein <xsl:fallback>-Element keinen Inhalt aufweist, führt der Parser keine Aktionen aus. Wenn ein Element unterstützt wird, werden die Vorlagen in dessen untergeordneten <xsl:fallback>-Elementen nie instanziiert. Wenn es sich bei der im Stylesheet angegebenen Version um die vom Browser unterstützte Version wird, wird ein Fehler aufgerufen.

Fallbacks sind Teil des Forward-Processing-Mechanismus, der von XSLT zum Behandeln von Updates verwendet wird. Durch das Erstellen alternativer Methoden zum Behandeln eines Befehls, falls ein Element nicht unterstützt wird, wird durch Forward-Processing gewährleistet, dass der verwendete Code relativ zuverlässig und unempfindlich gegenüber den Unterschieden in der Parserkonformität ist.

Zusätzlich zum Behandeln von Versionsunterschieden kann der Fallbackmechanismus auch zum Behandeln von Elementen verwendet werden, die durch Namespaceerweiterungen definert werden. Das Hinzufügen von Funktionen zu den Basisspezifikationen ist i. d. R. schwierig. Daher können Entwickler mithilfe der Namespaceerweiterungen Funktionen definieren, die über die angegebene XSLT-Spezifikation hinausgehen. Wenn der Namespace nicht unterstützt wird (z. B. keine Definition für den Namespace vorliegt), oder eine Namespacefunktion bzw. ein Namespaceelement nicht definiert ist, können mithilfe des Fallbackmechanismus alternative Funktionen bereitgestellt werden.

Damit die Erweiterung im XSLT-Vorgang interpretiert wird, müssen Sie das extension-element-prefixes-Attribut im <xsl:stylesheet>-Element festlegen, sodass es den Namen des zu interpretierenden Präfixes enthält. Zusätzlich muss der Namespace für dieses Präfix deklariert werden.

Im folgenden Thema ist ein Beispiel für <xsl:fallback> enthalten.