文書モデル・エレメントのパラメーターは下記のとおりです。
名前の中で次の変数の 1 つを使用できます。変数は、ソース・ドキュメントの一致するエレメントから生成されたストリングによって置き換えられます。
XML 文書モデル・ファイルの作成時には、ロケーター内の修飾名 (QNames と呼ばれる) が XML 文書内の特定のタグと同一でなければなりません。同一でないと、 フィールドが全く認識されないため、フィールドを照会しても結果が戻されません。
ロケーターを以下に示します。 詳細については、ロケーター (XPath) 式のセマンティクスの構文を参照してください。
リテラルは、単一または二重引用符で囲まれるストリングです。端末トークンの正確な定義に関しては、XML 推奨を参照してください。
XPath ロケーターは、XML Stylesheet Language Transformation (XSLT) パターンに類似しています。これらは、述部、関数 'id' および 'key'、あるいはノード・テスト 'text()' および 'node()' を 含まない XSLT パターンのサブセットのみから構成されています。
時には * などの汎用ロケーターを指定して、索引付けしようとするノードを一致させたい場合があります。しかし、より具体的なロケーターに一致する一部のノードを索引付けさせないように指定することもできます。
これを公式化するには、索引付け時に無視するノードに、より具体的なロケーターを指定して フィールド定義を組み込みます。こうすることで、このロケーターに汎用ロケーターを指定したものよりも高い 優先順位を与え、ignore="yes" を指定します。これは、一致するノードに対してフィールド情報を生成してはならないことをインデクサーに指示します。
このような無視されたノードが索引作成者生成ノードに組み込まれた場合でも、無視されたノードの内容は、フィールド生成ノードの内容にも属するので、索引付けされることに注意してください。
優先順位を指定しない場合は、デフォルトの優先順位が使用されます。
ロケーターがより具体的であるほど、デフォルトの優先順位も高くなることに注意してください。たとえば、具体的でないロケーター * が、定義内で低い優先順位を与えられるのに対して、名前はより具体的なロケーターであり、より高い優先順位が与えられます。
また、あるノードが複数のロケーターと一致した場合、優先順位を割り当てることによって、どの定義が選択されたかを判別できることにも注意してください。優先順位が最も高い定義が選択されます。2 つの定義が同じ優先順位であった場合、最新のものが選択されます。
この競合解決は、XML Stylesheet Language Transformation (XSLT) で使用されるものと同一です。
この例では、フィールド定義「customerName」は除外されますが、定義「addresses」は含まれます。
制約事項 :