XQuery 3.1
El motor XQuery 3.1 de StyleVision cumple con la propuesta de recomendación XQuery 3.1 del 21 de marzo de 2017 del consorcio W3C y es compatible con funciones XPath y XQuery 3.1. La especificación XQuery 3.1 es un supraconjunto de la especificación 3.0. El motor XQuery 3.1, por tanto, es compatible con las características de XQuery 3.0.
Espacios de nombres
En su documento XQuery 3.1 debe declarar estos espacios de nombres para poder usar todos los constructores de tipo y las funciones disponibles en XQuery 3.1. Los prefijos que aparecen a continuación son los que se suelen usar, pero puede usar otros prefijos si quiere.
Espacio de nombres | Prefijo | URI del espacio de nombres |
Tipos XML Schema | xs: | http://www.w3.org/2001/XMLSchema |
Funciones XPath/XQuery 3.1 | fn: | http://www.w3.org/2005/xpath-functions |
Funciones matemáticas | math: | http://www.w3.org/2005/xpath-functions/math |
Funciones de asignación | map: | http://www.w3.org/2005/xpath-functions/map |
Funciones de matriz | array: | http://www.w3.org/2005/xpath-functions/array |
Códigos de error Xquery, XSLT y XPath | err: | http://www.w3.org/2005/xpath-functions/xqt-errors |
Funciones de serialización | output | http://www.w3.org/2010/xslt-xquery-serialization |
Es necesario tener en cuenta que:
•El motor XQuery 3.1 entiende que los prefijos de la tabla anterior están enlazados con los correspondientes espacios de nombres.
•Como el espacio de nombres de funciones integradas (véase fn:) es el espacio de nombres de funciones predeterminado de XQuery, no es necesario usar el prefijo fn: cuando se invocan funciones integradas (por ejemplo, string("Hello") llamará a la función fn:string). No obstante, el prefijo fn: se puede utilizar para llamar a una función integrada sin necesidad de declarar el espacio de nombres en el prólogo de la consulta (por ejemplo: fn:string("Hello")).
•Puede cambiar el espacio de nombres de funciones predeterminado declarando la expresión default function namespace en el prólogo de la consulta.
•Cuando use tipos del espacio de nombres XML Schema, puede usar el prefijo xs: sin necesidad de declarar los espacios de nombres de forma explícita ni enlazar estos prefijos a los espacios de nombres en el prólogo de la consulta. (Ejemplo: xs:date y xs:yearMonthDuration.) Si quiere usar otros prefijos para el espacio de nombres de XML Schema, estos se deben declarar en el prólogo de la consulta. (Ejemplo: declare namespace alt = "http://www.w3.org/2001/XMLSchema"; alt:date("2004-10-04").)
Si se asignaron mal los espacios de nombres para funciones, constructores de tipo, pruebas de nodo, etc., se emite un error. Sin embargo, recuerde que algunas funciones se llaman igual que los tipos de datos de esquema (p. ej. fn:string y fn:boolean.) (Se definen xs:string y xs:boolean.) El prefijo del espacio de nombres determina si se usa el constructor de funciones o el de tipos.
Comportamiento propio de esta implementación
Tiene las mismas características de implementación que el motor XQuery 1.0.
Además, el cifrado de Altova x-base64tobinary se puede usar para crear un documento de resultados binario, como una imagen.