Hitachi

HiRDB XML拡張機能 HiRDB XML Extension Version 10


5.8.3 allowおよびdenyの指定例

フィルタ情報定義ファイルで,allowおよびdenyを指定する例について説明します。

〈この項の構成〉

(1) 特定の構造だけを削除する場合

deny△構造名

指定した構造だけが削除されます。指定した構造が下位構造を持つ場合,下位構造は削除対象とはなりません。

(2) 特定の構造とその下位構造すべてを削除する場合

deny△構造名.*

「*」は0個以上の任意の構造として扱われるため,指定した構造とその下位構造すべてが削除対象となります。

(3) 特定の構造の下位構造すべてを削除する場合(指定した構造は削除しない)

deny△構造名.?.*

「?」は1個の任意構造として,「*」は0個以上の任意の構造として処理されます。「?.*」と指定した場合は,1個以上の任意の構造として扱われるため,指定した構造の1階層下にある構造とその下位構造すべてが削除対象となります。指定した構造は削除されません。

また,次のように指定しても同じ意味を持ちます。ただし,下記以外にもdenyまたはallowを組み合わせて指定した場合は,優先順位の関係で,意図した結果を得られないおそれがあります。

deny△構造名.*
allow△構造名

このように指定した場合は,特定の構造を含めたその下位構造すべてを削除対象としたあとに,特定の構造だけを抽出するように指定します。denyで指定した構造とその下位構造すべてが削除対象となりますが,allowで指定した構造は,deny指定が無効となり,削除されません。

deny△本文.?.*」と指定した場合のフィルタリング例を次の図に示します。

図5‒2 下位構造すべて(指定した構造を除く)を削除する場合のフィルタリング例

[図データ]

(4) 特定の構造の下位にある特定の構造だけを抽出する場合

deny△構造名.?.*
allow△構造名.下位構造名

特定の構造の下位構造すべてを削除するように指定したあとで,ある特定の構造に対して削除を無効とするように指定します。

allow△構造名.下位構造名」と指定した場合,allow対象となるのは,「下位構造名」の階層で出現する構造です。

deny△プロパティ.?.*」および「allow△プロパティ.執筆者」と指定した場合のフィルタリング例を次の図に示します。

図5‒3 下位にある特定の構造だけを抽出する場合のフィルタリング例

[図データ]

(5) 最上位構造から指定する場合

allow△.構造名1.構造名2

先頭の構造名の直前に「.」(ピリオド)を付けることで,最上位からの指定として扱われます。