一致性语句
处理器是 XSL 变换 (XSLT) V2.0 和 XQuery 1.0 W3C 建议的实现。
它实现 XSLT 2.0、XQuery 1.0 和
XPath 2.0 建议的第一个修订版,并在此文中描述一致性级别,还在 XSLT 2.0、XQuery 1.0、XPath 2.0 的第二个修订版的建议的已编辑建议和辅助建议中发布所有勘误表。
请参阅 XSLT 2.0 建议的第 21 部分和 XQuery 1.0 建议的第 5 部分,以获取有关处理器的一致性标准的更多信息。
XSLT 2.0 一致性
处理器作为模式感知 XSLT 处理器符合 XSLT 2.0。它还支持 XSLT 2.0 的以下可选功能:
XQuery 1.0 一致性
此处理器具有 XQuery 1.0 的最小一致性。它还支持 XQuery 1.0 的以下可选功能:
- 此处理器支持从 Infoset 或 PSVI 对 XQuery/XPath 数据模型的实例进行标准构造。缺省情况下,将从 Infoset 对数据模型的实例进行构造。
如果调用了 XFactory 实例的 setValidating 方法,且值为 true,那么将从 PSVI 对处理器创建的数据模型的任何实例进行构造。
有关更多信息,请参阅执行基本 XQuery 操作。
处理器同时支持 XML 1.0 和 XML 1.1。
扩展支持
处理器支持以下更多扩展:
- 如果 XSLT 样式表中显式或隐式 xsl:result-document 指令的缩进序列化参数的值为 yes,那么处理器将使用关联 xsl:output 声明上的任一 indent-amount 扩展属性的值,以确定针对序列化结果中每个元素嵌套级别应增加多少缩进量。
indent-amount 扩展属性在 http://xml.apache.org/xalan 名称空间中。
- 为了加快迁移 XSLT 1.0 样式表,处理器支持 EXSLT 社区计划定义的多个扩展函数。在很多情况下,这些函数会复制 XSLT 2.0、XPath 2.0 和 XQuery 1.0 中已包含的函数。
有关 EXSLT 的更多信息,请参阅 EXSLT website。
- 处理器仅支持 node-set 公共扩展函数。
由于 XSLT 2.0 未限制可针对临时树执行的操作的事实,此函数成为冗余函数。
EXSLT 公共函数在名称空间 http://exslt.org/common 中。
- EXSLT dates-and-times 函数提供工具以操作日期和时间值。这些函数中的大多数函数是冗余的,包含 XSLT
2.0、XQuery 1.0 和 XPath 2.0 中的 XML 模式的新日期和时间数据类型。
EXSLT dates-and-times 函数在名称空间 http://exslt.org/dates-and-times 中。
- 处理器仅支持评估动态扩展函数。
EXSLT 动态函数在名称空间 http://exslt.org/dynamic 中。
- EXSLT 数学函数为多个共用的数学运算提供工具。仅 math:abs、math:max、math:min 和 math:highest 函数在 XSLT 2.0、XQuery
1.0 和 XPath 2.0 中已成为冗余函数。
EXSLT 数学函数在名称空间 http://exslt.org/math 中。
- EXSLT 集合函数定义用于对节点序列执行集合操作的工具。XSLT 2.0、XQuery 1.0 和 XPath 2.0. 中引入的新交集和差集操作以及 << 和 >> 节点比较操作已使这些函数成为冗余。
EXSLT 集合函数在名称空间 http://exslt.org/sets 中。
- EXSLT 字符串函数提供工具,以操作字符串。
在 XSLT 2.0、XQuery 1.0 和 XPath 2.0 中,已通过用于操作字符串的新操作使 tokenize 和 split 函数成为冗余函数,包括 fn:tokenize 函数和 xsl:analyze-string 指令。
EXSLT 字符串函数在名称空间 namespace http://exslt.org/strings 中。
- 处理器仅支持 node-set 公共扩展函数。
由于 XSLT 2.0 未限制可针对临时树执行的操作的事实,此函数成为冗余函数。
- 重定向扩展元素提供一种方式,将输出从 XSLT 样式表定向到多个输出目标。XSLT 2.0 的新的 xsl:result-document 指令将此扩展元素成为冗余元素。
此重定向扩展元素在 http://xml.apache.org/xalan 名称空间中。