preceding-sibling軸が気になるお年頃

やっぱりきもいんだよなあ……。

XML

<ひだまり荘>
  <ゆの/>
  <宮子/>
  <ヒロ/>
  <沙英/>
</ひだまり荘>

XPath

//沙英/preceding-sibling::*[3]

result

<ゆの/>

じゃんすか。文書出現順とは逆に辿る。でも、

XQuery

for $_ in fn:doc()//沙英/preceding-sibling::*
return $_

result

<ゆの/>
<宮子/>
<ヒロ/>

ループとかすると、文書出現順になる。XPathの話なので、当然XSLTでも同じ。