<xsl:fallback> 的示例
fallback.xsl 样式表提供 XML 文档的备选处理方法。fallback.xsl 样式表尝试处理带有假设的 <xsl:import-table> 元素的 XML 文档。因为当前版本的分析器中不支持此元素,所以,文档将改由 fallback 元素中的脚本进行处理。
XML 文件 (records.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="fallback.xsl"?>
<records>
<record>
<name>Adam Barr</name>
<address>222 Cherry</address>
<phone>555-797-2355</phone>
</record>
<record>
<name>Jeff Adell</name>
<address>730 Elm</address>
<phone>555-797-5555</phone>
</record>
</records>
XSLT 文件 (fallback.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<HTML>
<HEAD><TITLE>Output Table</TITLE></HEAD>
<BODY>
<xsl:import-table href="blah.html" name="sample">
<xsl:fallback>
<p>
This version of the parser does not support the creation of a
table with the 'xsl:import-table' element, so the following
table has been generated using the 'fallback' element.
</p>
<table border='2'>
<xsl:for-each select='records/record'>
<tr>
<td><xsl:value-of select='name'/></td>
<td><xsl:value-of select='address'/></td>
<td><xsl:value-of select='phone'/></td>
</tr>
</xsl:for-each>
</table>
</xsl:fallback>
</xsl:import-table>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
输出
在此方案中,当前版本的分析器不支持创建带有 <xsl:import-table> 元素的表,所以使用 <xsl:fallback> 元素生成下表:
Adam Barr |
222 Cherry |
555-797-2355 |
Jeff Adell |
730 Elm |
555-797-5555 |