stringtranslate.com

XPath 3

XPath 3 es la última versión del lenguaje de rutas XML , un lenguaje de consulta para seleccionar nodos en documentos XML . Reemplaza a XPath 1.0 y XPath 2.0 .

XPath 3.0 se convirtió en una recomendación del W3C el 8 de abril de 2014, mientras que XPath 3.1 se convirtió en una recomendación del W3C el 21 de marzo de 2017.

Nuevas características en XPath 3.0

En comparación con XPath 2.0 , XPath 3.0 agrega las siguientes características nuevas:

Expresiones de función en línea
Se pueden crear funciones anónimas en un contexto de expresión . Por ejemplo, la expresión crea una función que devuelve el producto de sus dos argumentos. La expresión crea una secuencia de funciones, cada una de las cuales devuelve un nodo diferente de una colección.function($a as xs:double, $b as xs:double) as xs:double { $a * $b }collection()/(let $a := . return function() { $a })
Llamadas de funciones dinámicas
Se pueden llamar valores de funciones sin que se haga referencia a ellos por su nombre. Por ejemplo, obtiene el segundo elemento de la secuencia y lo invoca como una función, pasando la cadena como argumento.$f[2]("Hi there")$f"Hi there"
Tipos de uniones
Los tipos de unión , tal como se definen en el esquema XML , se pueden utilizar en conversiones de tipos y firmas de tipos de funciones .
Literales de espacios de nombres
Se puede hacer referencia a los espacios de nombres XML mediante literales URI entre llaves . Por ejemplo, el nombre completo se puede expandir a , incrustando el URI del espacio de nombres dentro del prefijo.math:piQ{http://www.w3.org/2005/xpath-functions/math}pi
Operador de concatenación de cadenas
El nuevo || operador se puede utilizar para la concatenación de cadenas : $a || $bes equivalente a .fn:concat($a, $b)
Operador de mapeo
El nuevo !operador realiza una asignación simple: E1 ! E2evalúa E2cada elemento de la secuencia E1y concatena los elementos resultantes. Esto es comparable al operador de ruta /, pero el !operador no realiza la eliminación de duplicados ni la ordenación de los documentos de los resultados.

Nuevas características en XPath 3.1

XPath 3.1 agrega principalmente compatibilidad con tipos de datos de matriz y mapa ( matriz asociativa ). Estos tipos y sus funciones asociadas tienen como objetivo facilitar el trabajo con datos JSON .

Otra innovación es el operador de flecha =>para el encadenamiento de funciones. Por ejemplo, la expresión XPath 2.0

contiene ( mayúsculas ( subcadena antes ( $ en , ' ' )), 'X' )  

Ahora se puede escribir

$ in = > substring-before ( ' ' ) = > mayúscula () = > contiene ( 'X' )      

Referencias