J'essaie de trouver toutes les tables ci-dessous mon nœud actuel sans inclure également les tables imbriquées. Autrement dit, si j'ai, je veux trouver « oui » et non « non »:Définir la différence avec XPath 1.0 - comment puis-je obtenir .//table sans .//table//table?
<table> <!-- outer table - no -->
<tr><td>
<div> <!-- *** context node *** -->
<table> <!-- yes -->
<tr><td>
<table> ... </table> <!-- no -->
</td></tr>
</table>
<table> <!-- yes -->
<tr><td>
<table> ... </table> <!-- no -->
</td></tr>
</table>
</div>
</td></tr>
</table>
est-il un moyen facile de le faire dans XPath 1.0? (En 2.0, il serait .//table except .//table//table
, mais je ne l'ai pas 2.0 en option.)
EDIT: s'il vous plaît, les réponses à ce jour ne respectent pas l'idée du noeud contexte actuel. Je ne sais pas jusqu'où la première couche de la table pourrait être (et elle pourrait différer), et je ne sais pas si je pourrais être dans une autre table (ou deux ou trois).
Littéralement, je veux ce .//table except .//table//table
dans XPath 2.0 serait, mais je ne XPath 1.
Je pense qu'il est impossible d'écrire seulement un XPath 1.0 parce que j'ai besoin d'utiliser un contexte plusieurs fois et ce n'est pas autorisé. Puis-je utiliser deux XPath, un XPath pour obtenir la valeur de la variable et un XPath pour obtenir les tables requises? – Gaim
Vous en avez fait un CW pour quelle raison? C'est une question assez délicate qui aura une bonne réponse, ce n'est pas un candidat pour CW. – AnthonyWJones
Qu'est-ce qu'un "CW"? Et à qui vous adressez-vous comme "vous" là-bas? Moi? Comment en ai-je fait un "CW"? :) –