Я пытаюсь сделать что-то подобное в xquery (работа с basex)
let $node := doc('doc.xml')//*:root
let $xpath := "descendant::*:path/*:to/*:node"
let $val := $node//$xpath
Это возможно с functx: dynamic-path
let $val := functx:dynamic-path($node, $xpath)
но этот не позволяет много
Функция поддерживает только имена элементов и имена атрибутов, перед которыми стоят @, , разделенные одиночной косой чертой . Имена могут дополнительно иметь префикс, но они должны использовать тот же префикс, который используется во входном документе. Он не поддерживает предикаты , другие оси или другие виды узлов. Обратите внимание, что большинство процессоров имеют функцию расширения, которая динамически оценивает выражения пути гораздо более полным способом.
Знаете ли вы какие-либо другие функции, которые могут помочь?