<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 プロセッサによって異なります。