Возможно ли получить доступ к родительскому узлу внутри цикла? - PullRequest
2 голосов
/ 19 ноября 2010

У меня есть такой цикл:

for $a in local:distinct-nodes($x/input/book[@stat = 'ok'])
let $b:=string($a/../input/@docid)

Возвращает пустую строку ($ b пусто). Итак, мне интересно, как я могу получить доступ к родительскому узлу в этой ситуации. Я не очень хочу получить к нему доступ из корня (// xxxx), потому что файл XML довольно большой.

1 Ответ

2 голосов
/ 20 ноября 2010

У меня есть такой цикл:

 for $a in local:distinct-nodes($x/input/book[@stat = 'ok']) 
 let $b:=string($a/../input/@docid) 

Возвращает пустую строку ($b пусто).

Да, это то, что должно быть произведено.

Все узлы $ a являются book элементами.

$a/..  

являются input элементами

$a/../input

должно быть input/input элементов, но, скорее всего, input элементов не имеют input children.

То, что вы хотите, это :

$a/../@docid
...