<xsl:fallback> |
拡張要素が見つからない場合に使用するテンプレートを定義します。
カテゴリ
命令
必須の属性
なし。
省略可能な属性
なし。
コンテンツ
XSLT テンプレート。
指定先
<xsl:fallback> テンプレート内に指定します。
定義先
XSLT 15 節「Fallback」
例
拡張要素が見つからない場合に <xsl:fallback> を使用して変換を終了するスタイルシートを次に示します。
    <?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>
このスタイルシートを使用してドキュメントを変換するときに、拡張要素が見つからない場合は <xsl:fallback> 要素が処理されます。
    Database library not available!

    Processing terminated using xsl:message
この場合、拡張要素は Java クラス DatabaseExtension です。何らかの理由でこのクラスを読み込めない場合は、<xsl:fallback> 要素が処理されます。<xsl:fallback> 要素は、拡張要素が見つからない場合にのみ処理されます。拡張要素を実装するコードがある場合は、この要素を別の方法で処理する必要があります。また、メッセージのフォーマットとスタイルシートの処理結果は、XSLT プロセッサによって異なります。