書いてあった

preceding-sibling とかも列挙順が気になるなあと思ったので調べたら普通に書いてあった。

基準点はフォワード基準点またはリバース基準点のいずれかである。フォワード基準点はコンテキストノード、もしくはドキュメント順でコンテキストノードの後にあるノードだけを選択する。リバース基準点はコンテキストノード、もしくはドキュメント順でコンテキストノードの前にあるノードだけを対象と選択する。従って ancestor や ancestor-or-self、preceding、preceding-sibling などの基準点はリバース基準点であり、それ以外はすべてフォワード基準点となる。