preceding
sabなんとか XSLT 処理系で preceding がようわからない。いや、仕様通りかもしれないけど、それも意味がわからない。
注: 一つのドキュメントは (アトリビュートノードとネームスペースノードは除いて) ancestor および descendant、following、preceding、self の基準点によって分割される。つまり、これらの基準点には重なる部分はなく、全て一緒にするとドキュメント内のすべてのノードを指定することになる。
らしいけど。preceding が前のノードを全て選択してないような。前のノードっていうのを勘違いしてるやもしれない。
<doc> <ele1> <ele2>text</ele2> </ele1> <ele1> <ele3> <ele2>text</ele2> </ele3> </ele1> </doc>
みたいな構造で、コンテキストノードが /doc/ele1[position() = 2]/ele3/ele2 だとしたときに preceding::ele2 としても /doc/ele1[position() = 1]/ele2 が選択されないっぽい。この文脈で preceding::* で選択できるのは ele1 だけ。 (自分の祖先を除く前の要素だけど、中身は含んでない) これって正しいのかしら? 正しいとしたら (正しくなくとも) sort を使うときに上手くいかない。(sort 使わないなら position() で頑張ればOK)
んでも実際上の簡易構造で試してないから間違ってるかもしれない。とりあえずやりたいことが長いこと上手くできる方法が見つからなくて疲れた。
関連エントリー
- XPath1.0 いろいろ一覧 last(), number position(), number count(node-set), number id(obj), num...
- てきとう E4X どうにも使い道が少ない E4X をちょっとメモる。 基本的に XPath (の省略記法) に似ているので、相違点とかあげつつみたいな。XPa...
- flickr で CC じゃない写真を消す GM スクリプト ignore-not-cc-photo.user.js 実際は消すんじゃなくて半透明にします。適用先は他の人の写真一覧のページ (/phot...
- 近磁界プローブの種類 Probing the magnetic field probe. Roy Ediss, Philips Semiconductors, U...
- AngularJS のテスト とりあえず、2種類のテストがあり、どちらも十分なサポートがされている。 基本的にangular-seedというのを元に作ればいいんだけど、e...