2009-12-27 7 views
23

J'utilise le XPath-checker de Firefox et je ne peux pas obtenir la bonne syntaxe. J'ai un lien:XPath: Comment faire un appel en minuscules dans xpath

<a>LinkName</a> 

et j'essayer de faire:

//a[lower-case(child::text())='linkname'] 

mais j'ai une erreur de syntaxe. Qu'est-ce que je fais mal?

Merci

Répondre

42

Il n'y a pas de fonction appelée lower-case dans XPath 1.0 qui est la version de XPath utilisée dans Firefox.

Vous devez utiliser la fonction translate laide à la place: -

translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') 

... mais bien sûr, vous devez étendre cette couverture si vous avez besoin d'un plus large jeu de caractères.

+1

Bon indice - non seulement applicable à Firefox :) –

+1

Note: "traduire" doit être en minuscule. –

+3

Voici le tableau complet ANSI: traduire (% s, 'ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸŽŠŒ', 'abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿžšœ') –