2010-11-19 12 views
2

Ich habe eine Schleife wie folgt aus:Ist es möglich, auf den Elternknoten innerhalb der Schleife zuzugreifen?

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

Dies gibt eine leere Zeichenfolge ($ b ist leer). Ich frage mich also, wie ich in dieser Situation auf den Elternknoten zugreifen kann. Ich möchte nicht wirklich von root (// xxxx) darauf zugreifen, weil die XML-Datei ziemlich groß ist.

+0

Gute Frage, +1. Sehen Sie meine Antwort zur Erklärung des Problems, das Sie haben, und für eine einfache Korrektur. :) –

Antwort

2

Ich habe eine Schleife wie folgt aus:

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

Dies gibt eine leere Zeichenfolge ($b ist leer).

Ja, das sollte produziert werden.

Alle $ a-Knoten sind book Elemente.

$a/.. 

sind input Elemente

$a/../input 

sollte input/input Elemente sein, aber die meisten wahrscheinlich input Elemente nicht input Kinder haben.

Was Sie wollen, ist:

$a/../@docid 
+0

Dimitre, danke für die Antwort. Ich kann nicht verstehen, wie ich diese einfache Sache vermissen könnte. – user3111525

Verwandte Themen