In XPath 1.0, come posso selezionare tutti i nodi discendenti C del nodo (contesto) corrente A, che non sono contenuti in un nodo intermedio di tipo B?Seleziona elementi discendenti che non sono contenuti in un altro tipo di elemento
Ad esempio, trovare tutti i collegamenti <a>
contenuti nell'elemento corrente, che non si trovano all'interno di <p>
. Ma se l'elemento corrente si trova all'interno di un <p>
, è irrilevante.
<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>
Il ...
nell'esempio potrebbero essere diverse profondità di nodi intermedi.
Sto scrivendo XSLT 1.0, quindi sono disponibili le funzioni aggiuntive generate-id()
, current()
e simili.
Qualcosa come '/ p/div/a'? E questo è un duplicato di http://stackoverflow.com/questions/15818191/xpath-select-one-type-of-nodes-only-in-direct-child-nodes – fukanchik
@fukanchik no, sono già nel ' div' (current context node) e ho bisogno di selezionare tutti 'a' che non sono all'interno di un' p', possibilmente con diversi nodi intermedi nel mezzo, per esempio diversi livelli di 'div' in mezzo. – Tobia