J'ai un document XML qui ressemble à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<c>
  <a id='1'>xx</a>
  <a id='2'>yy</a>
  <b id='3'>yy</b> 
</c>
//c[a = b] sélectionne le nœud c. En effet, le toString des nœuds '2' et '3' sont égaux (à yy). Par contre, //c[contains(a, b)] ne le sélectionne pas. Pourtant 'yy' est contenu dans 'yy'.

Si maintenant je réduis mon document à:
//c[a = b] ne sélectionne plus le nœud c. Désormais, //c[contains(a, b)] le sélectionne.


Je ne trouve pas ni dans la Spécification de XPath ni dans la doc de Saxon, la raison de cette différence entre = et contains.

Merci de votre aide.

PS. j'utilise XPath 2.0 avec le 'backward compatibilty mode'