//br/preceding-sibling::normalize-space(text())
nokogiriで無効なxpath式を取得しています
normalize-spaceは関数です。そこでは使えません。
ノードセットが必要です。
多分あなたは意味します
//br/preceding-sibling::*
または、角かっこ内の述語でnormalize-spaceを使用できます。述語は、ノードセットのフィルターまたはセレクターと考えてください。だからあなたはこれを行うことができます:
//br/preceding-sibling::*[normalize-space()='Fred']
英語では、「<br>
ドキュメントの前にあるすべての要素で、(正規化された)テキストが「フレッド」である」という意味になります。このドキュメントの内容:
<html>
<p>
<h2>Fred</h2>
<br/>
</p>
<table>
<tr>
<td>
<br/>
</td>
</tr>
</table>
</html>
...xpath式は<h2>
ノードを選択します。
私はこれをcodeplexで利用可能な無料のXpathVisualizerツールで理解しました。