Shunsakuに格納しているXML文書から条件を満たすXML文書を検索するには、検索式を指定します。
検索式の詳細については、“B.3 検索式”を参照してください。
XML文書の任意の要素ノードまたはその要素ノードの属性ノードが持つデータと、数値のキーワードとの大小関係を比較して、条件を満たす文書を検索することができます。数値で検索する場合は、XML文書中の任意の要素ノードまたはその要素ノードの属性ノードが持つ文字列を数値とみなします。このため、文字列の大小比較検索のように書式を意識する必要はありません。
パス式、テキスト式または属性式で指定した要素ノードまたはその要素ノードの属性ノードが持つデータを数値とみなして、キーワードに指定した数値と比較します。パス式、テキスト式または属性式と、検索するキーワードを比較演算子で指定します。
比較演算子には、“=”、“!=”、“<”、“<=”、“>”、“>=”が指定できます。
キーワードには、数値を引用符で囲まずに指定します。
パス式の詳細については、“B.2.1 パス式”を参照してください。
テキスト式の詳細については、“B.2.2 テキスト式”を参照してください。
属性式の詳細については、“B.2.3 属性式”を参照してください。
数値および比較演算子の詳細については、“B.3.2 キーワード”の“数値”を参照してください。
例として以下の文書があるものとします。
文書A
<doc>
<employee eno="19980120" position="general manager">
<name>鈴木太郎</name>
<namekana>すずきたろう</namekana>
<department sno="1001">開発部</department>
<phone>2201-1101</phone>
<email>suzuki.taro@shunsaku.fujitsu.com</email>
</employee>
<basic date="2006年02月16日" expense="15700円">
:
</basic>
:
<detail>
:
<taxi>1360円</taxi>
:
</detail>
</doc>文書B
<doc>
<employee eno="20012111" position="manager">
<name>佐藤花子</name>
<namekana>さとうはなこ</namekana>
<department sno="2002">人事部</department>
<phone>2201-1204</phone>
<email>sato.hanako@shunsaku.fujitsu.com</email>
</employee>
<basic date="2006年02月18日" expense="8500円">
:
</basic>
:
<detail>
:
<taxi>950円</taxi>
:
</detail>
</doc>タクシー代(taxi)が1000円より安い(小さい)文書を検索します。
/doc/detail/taxi < 1000
結果:文書Bが返却されます。
部署番号(sno)が1001である文書を検索します。
/doc/employee/department/@sno = 1001
結果:文書Aが返却されます。