<xsl:fallback> 元素

<xsl:fallback> 元素专用于处理器无法处理的 XSLT 元素:例如,属于新版本或无法识别的扩展的元素。<xsl:fallback> 元素通过调用模板内容来实现其功能,模板内容为新元素的行为提供合理的替换。

<xsl:fallback>
</xsl:fallback>

特性

元素信息

出现次数

无限制

父元素

xsl:attributexsl:commentxsl:copyxsl:element、xsl:fallback、xsl:for-eachxsl:ifxsl:messagexsl:otherwisexsl:paramxsl:processing-instructionxsl:templatexsl:variablexsl:whenxsl:with-param、输出元素

子元素

xsl:apply-templatesxsl:attributexsl:call-templatexsl:choosexsl:commentxsl:copyxsl:copy-ofxsl:elementxsl:for-eachxsl:ifxsl:processing-instructionxsl:textxsl:value-ofxsl:variable、输出元素

注释

在 XSLT 文档初次加载时,XSLT 预分析器对所有 XSLT 元素进行验证。如果在 <xsl:stylesheet> 元素中传递的版本高于分析器支持的版本,分析器将执行所遇到的任何不熟悉元素的 <xsl:fallback> 子级。如果 <xsl:fallback> 元素没有内容,分析器将不执行任何操作。如果元素受支持,则永远也不会实例化其 <xsl:fallback> 子级中的模板。如果样式表中给定的版本与浏览器支持的版本相同,将调用错误。

备用是 XSLT 在处理升级时使用的前向处理机制的一部分。如果不支持某个元素,通过创建备用的命令处理方法,前向处理可以保证所使用的代码相对可靠,并且对分析器一致性方面的差别不敏感。

除了处理版本的差别之外,备用机制还可以用于处理由命名空间扩展定义的元素。因为为基本规范添加功能通常很难,开发人员通过命名空间扩展来定义 XSLT 规范没有指定的功能。如果不支持该命名空间(未提供命名空间的定义),或未定义命名空间的函数或元素,可以使用备用机制提供备用的功能。

为了保证在 XSLT 操作内解释扩展,您需要在 <xsl:stylesheet> 元素中设置 extension-element-prefixes 属性,以便该元素包含要解释的前缀的名称。此外,还需要声明该前缀的命名空间。

以下主题提供 <xsl:fallback> 的示例。