|
<xsl:fallback><xsl:fallback> ・・・ </xsl:fallback>xsl:fallbackは、現在使用しているXSLTプロセッサで、要素や関数などが使用できない場合の挙動を 示すのに使用します。xsl:fallbackの内容には、ある要素が利用できない場合にどういった処理を すべきかのテンプレートを記述します。
なお、要素が利用できるのかについては「element-available()」関数で、
関数が利用できるのかについては「function-available()」で確認することができます。
element-available("要素名")
function-available("関数名")
共に、指定した要素名、関数名がXSLTプロセッサで使用できるのならば「真」、
使用できなければ「偽」を返します。
なお、以下のサンプルでは、xsl:fallback内の処理が適用された時と
そうでない時の、両方のサンプルを掲載しています。
最初の「aaa.xml」と「bbb.xsl」では、xsl:fallback
内の処理は無視され、本来の処理を行った結果が出力されます。
■ aaa.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="bbb.xsl"?>
<data>
<word>
<ab>XSLT</ab>
<mean>XSL Transformations</mean>
</word>
<word>
<ab>XML</ab>
<mean>extensible Markup Language</mean>
</word>
<word>
<ab>DTD</ab>
<mean>Document Type Definition</mean>
</word>
</data>
■ bbb.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <xsl:for-each select="data/word"> <xsl:apply-templates select="ab" /><br /> <xsl:fallback> <xsl:for-each select="data/word"> <b><xsl:value-of select="ab" /></b><br /> <xsl:text>(</xsl:text><xsl:value-of select="mean" /><xsl:text>)</xsl:text><br /> </xsl:for-each> </xsl:fallback> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>
次のサンプルでは、「bbb-fallback.xsl」内にXSLTプロセッサが使用できない要素
「<xsl:aaa>」を記述しています。
その為、xsl:fallback内に記述された処理が行われ、その結果が出力されています。
■ aaa-fallback.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="bbb-fallback.xsl"?>
<data>
<word>
<ab>XSLT</ab>
<mean>XSL Transformations</mean>
</word>
<word>
<ab>XML</ab>
<mean>extensible Markup Language</mean>
</word>
<word>
<ab>DTD</ab>
<mean>Document Type Definition</mean>
</word>
</data>
■ bbb-fallback.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <xsl:aaa> <xsl:apply-templates select="ab" /><br /> <xsl:fallback> <xsl:for-each select="data/word"> <b><xsl:value-of select="ab" /></b><br /> <xsl:text>(</xsl:text><xsl:value-of select="mean" /><xsl:text>)</xsl:text><br /> </xsl:for-each> </xsl:fallback> </xsl:aaa> </body> </html> </xsl:template> </xsl:stylesheet> |
XSLT要素一覧
+ <xsl:apply-imports>
+ <xsl:apply-templates> + <xsl:attribute> + <xsl:attribute-set> + <xsl:call-template> + <xsl:comment> + <xsl:copy> + <xsl:copy-of> + <xsl:decimal-format> + <xsl:element> + <xsl:fallback> + <xsl:for-each> + <xsl:if> + <xsl:import> + <xsl:include> + <xsl:key> + <xsl:message> + <xsl:namespace-alias> + <xsl:number> + <xsl:otherwise> + <xsl:output> + <xsl:param> + <xsl:preserve-space> + <xsl:processing-instruction> + <xsl:sort> + <xsl:strip-space> + <xsl:stylesheet> + <xsl:template> + <xsl:text> + <xsl:value-of> + <xsl:variable> + <xsl:when> + <xsl:with-param> |
Copyright © 2006 - ykr414 . All Rights Reserved. |