「Extract」セクションに定義する変数には、入力情報をトークンと呼ぶ小さな単位の情報に分解するための規則を定義します。これらの情報は、LDAP 属性に直接マップできるか、簡単な処理で LDAP 属性にマップできます。
トークンへの分解を定義する変数の構文は、次のとおりです。
VARIABLE => $element1 separator $element2 [separator $elementn...|| ...] |
トークンとトークンの間の区切り文字は、入力情報で使われている区切り文字です。これには、空白文字、コンマ、コロンなど任意の文字が使用できます。ただし、行定義の 1 つの空白は、実際の入力情報の複数の空白やタブと等しくなります。分解に対しいくつかの代替規則を指定できます。その場合には、2 つのパイプ記号 (||) でそれぞれの代替規則を区切ります。
変換処理では、規則が指定された順に調べられ、入力として与えられた情報と最初に一致する規則が適用されます。
たとえば、nis.mapping では、次の定義によって、bootparams ファイルの行からトークンが抽出されます。
LINE =>$ipHostNameT $parametersT |
hosts ファイルの場合は、これより少し複雑な例となります。
LINE =>$dummy $ipHostNumberT $ipHostNameT $allIpHostAliasesT*#$descriptionT*||¥ $dummy $ipHostNumberT $ipHostNameT $allIpHostAliasesT||¥ $dummy $ipHostNumberT $ipHostNameT |
これらの例では、トークン parametersT と allIpHostAliasesT をさらに処理しないと、LDAP 属性にマップできません。必要な処理は「Condense」セクションで定義します。