<xsl:fallback> |
Diese Anweisung definiert eine Vorlage, die verwendet werden soll, wenn ein Erweiterungselement nicht gefunden werden kann.
Kategorie
Anweisung
Obligatorische Attribute
Keine
Optionale Attribute
Keine
Inhalt
Eine XSLT-Vorlage
Übergeordnetes Element
<xsl:fallback> erscheint innerhalb einer Vorlage.
Definition
XSLT-Abschnitt 15, Rückgriff
Beispiel
Hier ein Stylesheet, das die Anweisung <xsl:fallback> dazu verwendet, die Transformation zu beenden, wenn kein Erweiterungselement gefunden werden kann:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:db="xalan://DatabaseExtension"
      extension-element-prefixes="db">

      <xsl:output method="html"/>

      <xsl:template match="/">
        <html>
          <head>
            <title><xsl:value-of select="report/title"/></title>
          </head>
          <body>
            <h1><xsl:value-of select="report/title"/></h1>
            <xsl:for-each select="report/section">
              <h2><xsl:value-of select="title"/></h2>
              <xsl:for-each select="dbaccess">
                <db:accessDatabase>
                  <xsl:fallback>
                    <xsl:message terminate="yes">
                      Database library not available!
                    </xsl:message>
                  </xsl:fallback>
                </db:accessDatabase>
              </xsl:for-each>
            </xsl:for-each>
          </body>
        </html>
      </xsl:template>

    </xsl:stylesheet>
Wenn ein Dokument mit diesem Stylesheet umgewandelt wird und kein Erweiterungselement gefunden werden kann, wird das Element <xsl:fallback> verarbeitet und es entsteht folgendes Ergebnis:
    Database library not available!

    Processing terminated using xsl:message
In diesem Fall ist das Erweiterungselement die Java-Klasse DatabaseExtension. Wenn, aus welchem Grund auch immer, diese Klasse nicht geladen werden kann, wird das Element <xsl:fallback> verarbeitet. Beachten Sie, dass das Element <xsl:fallback> nur verarbeitet wird, wenn das Erweiterungselement nicht gefunden werden kann. Wird der Code, der das Erweiterungselement implementiert, gefunden, kann aber nicht erfolgreich ausgeführt werden, muss die Situation auf andere Weise gelöst werden. Seien Sie sich auch bewusst, dass das genaue Format der Nachricht und die Art und Weise, wie der Stylesheet-Abbruch erfolgt, vom jeweiligen XSLT-Prozessor abhängt.