SQL/XML標準のコンプライアンスにXPath-1を採用しているPostgreSQL9を使用しています。
このクエリは問題なく、期待されるデータを返します。
SELECT xpath('//img',xhtm) FROM t
しかし、このもう1つは、img要素をカウントするために、空(!)を返します。
SELECT xpath('count(//img)',xhtm) FROM t
注1:xhtm
フィールドコンテンツのサンプル、
<html><p>Hello! <img src="1.png"/></p><img src="2.jpg"/></html>
注2:もちろんarray_length(xpath('//img',xhtm),1)
カウント結果を表示しますが、XPathカウントではありません。
注3:それが一般的なSQL / XMLの特性なのか、PosgreSQLServer9.0.5固有のバグ/問題なのかわかりません。