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△本文.?.*」と指定した場合のフィルタリング例を次の図に示します。
|
|
(4) 特定の構造の下位にある特定の構造だけを抽出する場合
deny△構造名.?.* allow△構造名.下位構造名
特定の構造の下位構造すべてを削除するように指定したあとで,ある特定の構造に対して削除を無効とするように指定します。
「allow△構造名.下位構造名」と指定した場合,allow対象となるのは,「下位構造名」の階層で出現する構造です。
「deny△プロパティ.?.*」および「allow△プロパティ.執筆者」と指定した場合のフィルタリング例を次の図に示します。
|
|
(5) 最上位構造から指定する場合
allow△.構造名1.構造名2
先頭の構造名の直前に「.」(ピリオド)を付けることで,最上位からの指定として扱われます。