ほとんどのロボットアプリケーション関数 (RAF) は情報のソースを必要とし、デスティネーションに送信するデータを生成します。ソースはロボット内で定義され、最終的に生成されるリソース記述のフィールドに関連している必要はありません。一方、デスティネーションは通常、リソース記述サーバーのスキーマによって定義されるリソース記述のフィールド名になります。
次の節では、フィルタリングプロセスの各段階と、それらの段階で使用できるソースについて説明します。
セットアップ段階では、フィルタが設定されますが、リソースの URL またはコンテンツについての情報は取得できません。
メタデータ段階ではロボットはリソースの URL を検出しますが、リソースのコンテンツはダウンロードしていません。このため、filter.conf ファイルなどのほかのソースから派生するデータと、URL についての情報が使用可能です。ただし、この段階では、リソースのコンテンツについての情報は使用できません。
表 19–2 メタデータ段階で RAF で使用できるソース| ソース | 説明 | 例 | 
|---|---|---|
| csid | カタログサーバー ID | x-catalog//budgie.siroe.com:8086/alexandria | 
| depth | 開始点からトラバースされたリンク数 | 10 | 
| enumeration filter | 列挙フィルタの名前 | enumeration1 | 
| generation filter | 生成フィルタの名前 | generation1 | 
| host | URL のホスト部分 | home.siroe.com | 
| IP | ホストの数値バージョン | 198.95.249.6 | 
| protocol | URL のアクセス部分 | http、https、ftp、file | 
| path | URL のパス部分 | /、/index.html、/documents/listing.html | 
| URL | 完全な URL | http://developer.siroe.com/docs/manuals/ | 
データ段階では、ロボットがその URL のリソースのコンテンツをダウンロードしているので、記述、作成者などのコンテンツに関するデータにアクセスできます。
リソースが HTML ファイルである場合、ロボットは HTML ヘッダーの <META> タグをパースします。したがって、<META> タグに含まれるデータは、データ段階で使用可能です。
データ段階では、メタデータ段階で使用可能なソースのほかに、次のソースを RAF で使用できます。
表 19–3 データ段階で RAF で使用できるソース| ソース | 説明 | 例 | 
|---|---|---|
| content-charset | リソースが使用する文字セット | |
| content-encoding | エンコードの形式 | |
| content-length | リソースのバイト単位のサイズ | |
| content-type | リソースの MIME タイプ | text/html、image/jpeg | 
| expires | リソースが期限切れになる日付 | |
| last-modified | リソースの最終更新日 | |
| <META> タグ内のデータ | HTML リソースのヘッダーの <META> タグで提供されるデータ | 作成者、記述、キーワード | 
<META> タグのデータを除くこれらのすべてのソースは、リソースの取得時に返される HTTP 応答ヘッダーから派生されます。
列挙および生成の段階では、データ段階と同じデータソースが使用可能です。詳細については、表 19–3を参照してください。
シャットダウン段階では、フィルタはフィルタリングを完了し、シャットダウンします。この段階用に書き込まれた関数は、データ段階で使用可能なソースと同じデータソースを使用できますが、シャットダウン関数の動作は通常、ロボットの終了およびクリーンアップに制限されます。
各関数には enable プロパティーがあります。値には、true、false、on、または off を指定できます。管理コンソールは、これらのパラメータを使用して特定のディレクティブを有効または無効にします。
次の例は text/html の列挙を有効にし、text/plain の列挙を無効にします。
| # Perform the enumeration on HTML only Enumerate enable=true fn=enumerate-urls max=1024 type=text/html Enumerate enable=false fn=enumerate-urls-from-text max=1024 type=text/plain | 
enable=false プロパティーまたは enable=off プロパティーの追加は、行をコメントアウトするのと同じ効果があります。管理コンソールは、コメントを書き込まないため、これらのプロパティーが使用されます。