XSLT 1.0 与 2.0 的兼容性及扩展功能详解
1. 引言
XSLT 2.0 和 XPath 2.0 在 XSLT 1.0 和 XPath 1.0 的基础上增添了许多功能。然而,不同版本的 XSLT 处理器对这些功能的支持存在差异,这就需要我们在编写样式表时考虑兼容性问题。同时,为了满足更多的需求,XSLT 和 XPath 也允许实现者进行扩展。
2. 向后兼容性
2.1 测试 XSLT 处理器
可以使用system-property()函数从样式表内部获取 XSLT 处理器的信息。该函数接受一个限定名称格式的字符串作为参数,并返回该属性的值。其中,xsl:version属性能告知处理器支持的 XSLT 版本,XSLT 2.0 处理器返回字符串'2.0',XSLT 1.0 处理器返回数字1.0。
示例代码如下:
<xsl:choose> <xsl:when test="number(system-property('xsl:version')) = 1.0"> ... XSLT 1.0 处理器使用的代码 ... </xsl:when> <xsl:otherwise> ... 其他 XSLT 处理器使用的代码 ... </xsl:otherwise> </xsl:choose>