Wie kann ich in XPath 1.0 alle Nachfolgerknoten C des aktuellen (Kontext-) Knotens A auswählen, die nicht in einem dazwischen liegenden Knoten vom Typ B enthalten sind? B. alle <a>
Links im aktuellen Element finden, die nicht in einem <p>
enthalten sind. Aber wenn das aktuelle Element sich selbst in einem <p>
befindet, ist das irrelevant.Wählen Sie Abkömmlingselemente aus, die nicht in einem anderen Elementtyp enthalten sind
<p> <—— this is irrelevant, because it's outside the current element
...
<div> <—— current element (context node)
...
<a></a> <—— the xpath should select this node
...
<p>
...
<a></a> <—— but not this, because it's inside a p, which is inside context
...
<p>
...
</div>
...
</p>
Die ...
im Beispiel mehrere Tiefen des dazwischen liegenden Knoten sein könnte.
Ich schreibe XSLT 1.0, also sind die zusätzlichen Funktionen generate-id()
, current()
und so verfügbar.
So etwas wie '/ p/div/a'? Und das ist ein Duplikat von http://stackoverflow.com/questions/15818191/xpath-select-one-type-of-nodes-only-in-direct-child-nodes – fukanchik
@fukanchik nein, ich bin schon in der ' div "(aktueller Kontextknoten) und ich muss alle" a "auswählen, die nicht innerhalb eines" p "liegen, möglicherweise mit mehreren mittleren Knoten dazwischen, zum Beispiel mehrere Ebenen von" div "dazwischen. – Tobia