さて、XPathはどこで使う?

XPath は jQuery や Prototype.js と競合する技術ではなく、むしろ共存する技術です - IT戦記について軽く。

僕はGreasemonkeyを書くときに必ずといっていいほどXPathを使っている。XPathなしでいろんなサイトのHTMLを弄ることは最早苦痛でしかなくて、XPathがものすごく強力で、便利なであることは良く実感している。


でも、


僕は自分が管理するサイトでXPathを使うことはない、つまり汎用JSライブラリとXPathを併用することはないだろうなと思う。
理由は簡単で、自分が管理するサイトであれば適切なマークアップによってシンプルにDOM操作を行えるから。
JavaScriptから操作する各要素に、id,name,classなどの適切な属性を指定してあれば、getElementByIdなどのネイティブなメソッドで高速にアクセスできます*1
普通はこれで十分なはずだし、十分でないならXPathを使うことを検討するより、マークアップを見直すことを検討したほうが良いと思う。idとclassが適切に振られていれば、CSSにとっても嬉しいわけだしね。


というわけで、XPathはこれまでのようにGreasemonkeyでしか使わないかなーというのが、個人的な感想でした。

# でも、折角の素晴らしい成果があるので、どこかで使ってみたいという心理もあったり。難しいね。


ああ、そうそう。XPathは標準化されている点は見逃せないか。将来的にはXPathを良く使うようになるかな。ネイティブ実装が普通になるころ。。かな。

追記

あああ、やっぱり誘惑に負けてXPath使うかも。
とっとにかく、使いどころが難しいのは確か。

*1:XPathは複雑な式になるほど強力だけど、逆に簡単な式がパッとしない。//aとgetElementsByTagName('a')だと後者のほうが早かったりする