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が返却されます。