LPO検索→
Introduction to using XPath in JavaScript - MDC
最低限ロケーションパスの記述だけは、押さえておきたい。
2.5 省略シンタックス
以下の例は、省略シンタックスを使用したロケーションパスである。
paraはコンテキストノードのparaという名前の子エレメントを選択する。
*はコンテキストノードのすべての子エレメントを選択する。
text()はコンテキストノードのすべての子テキストノードを選択する。
@nameはコンテキストノードのnameという名前のアトリビュートを選択する。
@*はコンテキストノードのすべてのアトリビュートを選択する。
para[1]はコンテキストノードの最初のparaという名前の子エレメントを選択する。
para[last()]はコンテキストノードの最後のparaという名前の子エレメントを選択する。
*/paraはコンテキストノードのparaという名前の孫エレメントをすべて選択する。
/doc/chapter[5]/section[2]は、docの5番目のchapterという名前の子エレメントの2番目のsectionという名前の子エレメントを選択する。
chapter//paraは、コンテキストノードのchapterという名前の子エレメントのparaという名前の子孫エレメントを選択する。
//paraはドキュメントルートのparaという名前の子孫エレメントをすべて選択する。つまり、コンテキストノードと同じドキュメント内のparaという名前のエレメントをすべて選択する。
//olist/itemは、コンテキストノードと同じドキュメント内にあるitemという名前のエレメントのうち、olistという名前のエレメントを親に持つものをすべて選択する。
.はコンテキストノードを選択する。
.//paraはコンテキストノードのparaという名前の子孫エレメントを選択する。
..はコンテキストノードの親を選択する。
../@langはコンテキストノードの親エレメントのlangという名前のアトリビュートを選択する。
para[@type="warning"]はコンテキストノードのparaという名前の子エレメントのうち、warningという値のtypeという名前のアトリビュートを持つものをすべて選択する。
para[@type="warning"][5]はコンテキストノードのparaという名前の子エレメントのうち、warningという値のtypeという名前のアトリビュートを持つ5番目のエレメントを選択する。
para[5][@type="warning"]は、コンテキストノードの5番目のparaという名前の子エレメントがwarningという値のtypeという名前のアトリビュートを持っていれば、それを選択する。
chapter[title="Introduction"]は、コンテキストノードのchapterという名前の子エレメントのうち、Introductionという文字列値 のtitleという名前の子エレメントを1つ以上持つものを選択する。
chapter[title]はコンテキストノードのchapterという名前の子エレメントのうち、titleという名前の子エレメントを1つ以上持つものを選択する。
employee[@secretary and @assistant]はコンテキストノードのemployeeという名前の子エレメントのうち、secretaryという名前のアトリビュートとassistantという名前のアトリビュートの両方を持つものをすべて選択する。
上記のパターンに基準点についての知識をつければ、いいか。
Autopagerで実践できる。http://userscripts.org/scripts/show/8551
templateを使って、自分の読みたいページで実践する。

コメントする