ページの先頭行へ戻る
Interstage Shunsaku Data Manager V9.0.6 アプリケーション開発ガイド
FUJITSU Software

3.3 数値で検索する

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@example.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@example.com</email>
  </employee>
  <basic date="2006年02月18日" expense="8500円">
    :
  </basic>
    :
  <detail>
    :
    <taxi>950円</taxi>
    :
  </detail>
</doc>

例1

タクシー代(taxi)が1000円より安い(小さい)文書を検索します。

/doc/detail/taxi < 1000

結果:文書Bが返却されます。


例2

部署番号(sno)が1001である文書を検索します。

/doc/employee/department/@sno = 1001

結果:文書Aが返却されます。