Firefoxのウェブコンソール上で

<h1><span class='A'>テキスト1</span><span>テキスト2</span></h1>

なる形のh1要素に対し、

document.evaluate("span[@class='A']|.", <h1要素をあらわすノード>, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.innerText

と呼び出したところ、

"テキスト1テキスト2"

というテキストが得られました。これはspan[@class='A']ではなく.文書順で先に来るノードにマッチするから(外側のノードが文書順では先だから)と考えて良いのでしょうか?

また、文書順に関わらずにxpath1にマッチするノードを優先し、そのようなノードが存在しない場合にxpath2にマッチするノードを返す、ということを単一のXPathで実現できるのでしょうか?
(上に書いた通りxpath1 | xpath2とするだけではダメでした。集合を返すので当然と言えば当然ですが)