2006年 08月 19日

XPath

XPath の解説書こうと思ったけどあまりの説明力のなさにぜつぼうした

  • データ型
  • コンテキスト

ポイント

  • ルートノード以外のノードは全て親をもつ (属性ノードの親はその属性の属する要素だったりする。書くときは直感的だけど、理解するときは微妙にえ?って思う)
  • ルートノードはルート要素ではない。ルートノードは名前をもっていない。
  • / と [] によるコンテキストの移動

XPath 1.0 では独自にデータ型を定めている。存在するデータ型は以下の通り

  • ノード集合
  • 文字列
  • 数値
  • ブール (真偽)

コンテキスト

とりあえずコンテキストさえ意識できればいいかもしれない。

  • ノード ( コンテキストノード)
  • 一組のゼロ以外の正の整数 ( コンテキストポジションおよびコンテキストサイズ)
  • 変数のバインディングの集合
  • 関数ライブラリ
  • 式の範囲内でのネームスペース宣言の集合

最初の二つ以外は特に重要ではない。とういうか、コンテキストノードさえ意識していれば、コンテキストを意識するということにはなる。上のを見て「変数が使えるのか!」と喜んではいけない。変数は XPath 単体では使用することができない (代入ができないので)。

さて XPath における / はコンテキストを分離する記号のひとつである。 (述語=ブラケットで囲まれた部分でもコンテキストが変わるので、ブラケットもコンテキストを分離する記号。/ とブラケット以外ではコンテキストは変わらない (はず))

    • >

記事のロングテール

どうやったら過去記事をロングテール化させられるんだろう。