Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

付録A 条件の書式> A.1 検索式

A.1.9 フィルタ式

フィルタ式は、パス式で指定した要素ノードに閉じた範囲で、条件を指定する場合に使用します。
フィルタ式の定義を以下の図に示します。

[図:フィルタ式の定義]

以下にフィルタ式を含んだ検索式の例を示します。

検索式

/root/company/employee{/name = '^tanaka' AND /id = '1000'}

文書A

<root>

  <company>

    <employee>

      <name>tanaka</name>

      <id>1000</id>

    </employee>

  </company>

  <company>

    <employee>

      <name>suzuki</name>

      <id>2000</id>

    </employee>

  </company>

</root>

文書B

<root>

  <company>

    <employee>

      <name>tanaka</name>

      <id>2000</id>

    </employee>

  </company>

  <company>

    <employee>

      <name>suzuki</name>

      <id>1000</id>

    </employee>

  </company>

</root>

例の検索式の場合、文書Aは条件に該当し、文書Bは条件に該当しません。
“/root/company/employee”で1つの区切りと考えます。文書Aの場合は、中括弧の条件に該当するデータが存在します。文書Bの場合は、中括弧の条件(/name = '^tanaka' AND /id = '1000')に該当するデータが存在しません。

フィルタ式のパス式の最後の要素に、パス要素“*”は指定できません。必ず要素名を指定してください。

以下の場合、パス式の最後のパス要素に“*”を指定しているので、エラーになります。
/root//company/*{/name = '^tanaka' AND /id = '1000'}

目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED