Teniendo en cuenta este documento xml:El uso de XQuery/XPath para obtener el valor del atributo del nodo padre de un elemento
<?xml version="1.0" encoding="UTF-8"?>
<mydoc>
<foo f="fooattr">
<bar r="barattr1">
<baz z="bazattr1">this is the first baz</baz>
</bar>
<bar r="barattr2">
<baz z="bazattr2">this is the second baz</baz>
</bar>
</foo>
</mydoc>
que está siendo procesado por este xquery:
let $d := doc('file:///Users/mark/foo.xml')
let $barnode := $d/mydoc/foo/bar/baz[contains(@z, '2')]
let $foonode := $barnode/../../@f
return $foonode
me sale el siguiente error:
"Cannot create an attribute node (f) whose parent is a document node".
parece que la operación se ../ tipo de eliminación de los nodos coincidentes del resto del documento de tal manera que cree que es el nodo del documento.
Estoy abierto a otros enfoques, pero la selección de la matriz depende del atributo secundario que contiene una cierta subcadena.
¡Salud!
De hecho lo hice! Muchas gracias. –