XSLT 2.0
本部分包含的内容如下:
•向后兼容
•命名空间
符合项
XMLSpy的XSLT 2.0引擎符合万维网联盟(W3C)2007年1月23日的XSLT 2.0建议和2010年12月14日的XPath 2.0建议。
向后兼容性
XSLT 2.0引擎是向后兼容的。通常,XSLT 2.0引擎的向后兼容性会在使用XSLT 2.0引擎处理XSLT 1.0样式表或指令时发挥作用。请注意,XSLT 1.0引擎和向后兼容的XSLT 2.0引擎生成的输出之间可能存在差异。
命名空间
您的XSLT 2.0样式表应该声明以下命名空间,以便能够使用XSLT 2.0中可用的类型构造器和函数。通常使用下面给出的前缀;您可以根据需要使用其他前缀。
命名空间名称 | 前缀 | 命名空间URI |
XML Schema types | xs: | http://www.w3.org/2001/XMLSchema |
XPath 2.0 functions | fn: | http://www.w3.org/2005/xpath-functions |
通常,这些命名空间将在xsl:stylesheet或xsl:transform元素上声明,如下方片段所示:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
...
</xsl:stylesheet>
请注意以下几点:
•XSLT 2.0引擎使用XPath 2.0 and XQuery 1.0 Functions命名空间(已在上表中列出)作为其默认函数命名空间。因此,您可以在样式表中使用XPath 2.0和XSLT 2.0函数,而无需任何前缀。如果您在样式表中使用前缀声明XPath 2.0 Functions命名空间,您可以额外使用声明中指定的前缀。
•使用XML Schema命名空间中的类型构造器和类型时,命名空间声明中使用的前缀必须在调用类型构造器(例如,xs:date)时使用。
•某些XPath 2.0函数与XML Schema数据类型具有相同的名称。例如,对于XPath函数fn:string和fn:boolean,存在具有相同本地名称的XML Schema数据类型:xs:string和xs:boolean。因此,如果您要使用XPath表达式string('Hello'),则表达式将被计算为fn:string('Hello'),而不是xs:string('Hello')。
Schema感知力
XSLT 2.0引擎是Schema感知的。因此,您可以使用用户定义的Schema类型和xsl:validate指令。
特定于实现的行为
下方给出了XSLT 2.0引擎如何处理某些XSLT 2.0函数的具体实现方面的说明。
xsl:result-document
额外支持的编码是(Altova特定的):x-base16tobinary和x-base64tobinary。
function-available
该函数测试范围内函数(XSLT、XPath和扩展函数)的可用性。
unparsed-text
href参数接受(i) base-uri文件夹中文件的相对路径,以及(ii) 带或不带file://协议的绝对路径。额外支持的编码是(Altova特定的):x-binarytobase16和x-binarytobase64。示例:xs:base64Binary(unparsed-text('chart.png', 'x-binarytobase64')).
unparsed-text-available
href参数接受(i) base-uri文件夹中文件的相对路径,以及(ii) 带或不带file://协议的绝对路径。额外支持的编码是(Altova特定的):x-binarytobase16和x-binarytobase64。
提示: | 以下编码值是在RaptorXML的前身产品AltovaXML的早期版本中实现的,现已被弃用:base16tobinary、base64tobinary、binarytobase16和binarytobase64。 |