XQuery 3.1
XMLSpy的XQuery 3.1引擎符合万维网联盟(W3C)2017年3月21日的XQuery 3.1建议并包括对XPath和XQuery函数3.1的支持。XQuery 3.1规范是3.0规范的超集。因此XQuery 3.1引擎支持XQuery 3.0功能。
命名空间
您的XQuery 3.1文档应该声明以下命名空间,以便能够使用XQuery 3.1中所有可用的类型构造器和函数。通常使用下面给出的前缀;您可以根据需要使用其他前缀。
命名空间名称 | 前缀 | 命名空间URI |
XML Schema types | xs: | http://www.w3.org/2001/XMLSchema |
XPath/XQuery 3.1 functions | fn: | http://www.w3.org/2005/xpath-functions |
Math functions | math: | http://www.w3.org/2005/xpath-functions/math |
Map functions | map: | http://www.w3.org/2005/xpath-functions/map |
Array functions | array: | http://www.w3.org/2005/xpath-functions/array |
XQuery, XSLT, and XPath Error Codes | err: | http://www.w3.org/2005/xpath-functions/xqt-errors |
Serialization functions | output | http://www.w3.org/2010/xslt-xquery-serialization |
请注意以下几点:
•XQuery 3.1引擎将上方列出的前缀识别为与相应的命名空间绑定的。
•由于上方列出的内置函数命名空间(参见fn:)是XQuery中的默认函数命名空间,因此在调用内置函数时,不需要使用fn:前缀(例如,string("Hello")将调用fn:string函数)。然而,fn:可用于调用内置函数,而无需在查询prolog中声明命名空间(例如:fn:string("Hello"))。
•您可以通过在查询prolog中声明default function namespace表达式来更改默认函数命名空间。
•在使用XML Schema命名空间中的类型时,可以使用xs:前缀,而无需在查询prolog中明确声明命名空间并将这些前缀绑定到它们。(示例:xs:date和xs:yearMonthDuration。)如果您希望为XML Schema命名空间使用其他前缀,则必须在查询prolog中明确声明它。(示例:declare namespace alt = "http://www.w3.org/2001/XMLSchema"; alt:date("2004-10-04")。)
如果函数、类型构造器、节点测试等的命名空间被错误分配,则会报告错误。请注意,某些函数与Schema数据类型具有相同的名称,例如fn:string和fn:boolean。(xs:string和xs:boolean都有被定义。)命名空间前缀决定了是使用函数,还是类型构造函数。
特定于实现的行为
特定于实现的特性与XQuery 1.0相同。
此外,Altova特定的编码x-base64tobinary可用于创建二进制结果文档,例如图像。