Я знаю, как выбрать атрибут так:Как выбрать атрибут переменной в xquery?
$table/@id
Однако, как мне это сделать, если имя атрибута хранится в переменной. Например:
let $x = "id"
$table/@[$x]
Я знаю, как выбрать атрибут так:Как выбрать атрибут переменной в xquery?
$table/@id
Однако, как мне это сделать, если имя атрибута хранится в переменной. Например:
let $x = "id"
$table/@[$x]
Вы можете использовать функции local-name
или node-name
захватить значение атрибута и соответствует его предикат. local-name
просто вернет строку, которая соответствует имени элемента, и node-name
вернет полное имя, которое обычно рекомендуется, но практически говоря, необходимо только в том случае, если вы имеете дело с пространствами имен.
let $x = "id"
return $table/@*[local-name(.) = $x]
let $x := xs:QName("id")
return $table/@*[node-name(.) = $x]
Отлично! Как это можно расширить, чтобы иметь дело с переменными элементами? например, $ table/$ x' –
Например: 'let $ x: =" foo "return $ table/$ x' –
Здесь задан отдельный вопрос: http://stackoverflow.com/questions/34026352/ как к-выбрать-ан-элемент-с-а-переменной-в-XQuery –