4.1. 一般的な考慮事項
マッチング規則は、AttributeValueAssertion または MatchingRuleAssertion [RFC4511] を通じて属性値に適用されます。AttributeValueAssertion または MatchingRuleAssertion が Undefined と評価される条件は、他の場所 [RFC4511] で指定されています。アサーションが Undefined でない場合、アサーションの結果は選択されたマッチング規則を適用した結果となります。マッチング規則は、マッチング規則の記述で指定されているように TRUE と評価され、場合によっては Undefined と評価されます。それ以外の場合は FALSE と評価されます。
各アサーションにはアサーション値が含まれています。各マッチング規則の定義は、アサーション値の構文を指定します。アサーション値の構文は、通常、マッチング規則が適用される属性値の構文と同じですが、必ずしもそうではありません。SubstringFilter [RFC4511] 内の AssertionValue は、属性タイプの部分文字列マッチング規則のアサーション構文ではなく、属性タイプの等価性マッチング規則のアサーション構文に準拠していることに注意してください。概念的には、SubstringFilter 全体が、規則を適用する前に部分文字列マッチング規則のアサーション値に変換されます。
各マッチング規則の定義は、候補となる属性構文の対応する ASN.1 タイプが満たさなければならない条件を指定することにより、その規則を適用できる属性構文を示します。これらの条件は、対応する ASN.1 タイプが規則の記述で明示的に言及されている ASN.1 タイプのタグ付きまたは制約付きの派生型である場合 (つまり、適用性の確認において ASN.1 タグと制約は無視されます)、または明示的に言及されているタイプの代替参照表記である場合にも満たされます。各規則の記述には、適用可能な属性構文の例として、そのマッチング規則が適用される、このドキュメントで定義されている構文の完全なリストが記載されています。他のドキュメントで定義されている構文が対応する ASN.1 タイプの条件を満たす場合、マッチング規則はそれらの構文にも適用できる可能性があります。
各マッチング規則の記述は、その規則が属性タイプ定義 [RFC4512] において、等価性マッチング規則 (EQUALITY)、順序付けマッチング規則 (ORDERING)、または部分文字列マッチング規則 (SUBSTR) として使用するのに適しているかどうかを示します。
各マッチング規則は、オブジェクト識別子によって一意に識別されます。マッチング規則の定義は、その後変更されるべきではありません (SHOULD NOT)。変更が望ましい場合は、代わりに異なるオブジェクト識別子を持つ新しいマッチング規則を定義する必要があります (SHOULD)。
サーバーは wordMatch および keywordMatch マッチング規則を実装してもよい (MAY) が、第 4.2 節の他のマッチング規則を実装すべきです (SHOULD)。サーバーは追加のマッチング規則を実装してもかまいません (MAY)。
extensibleMatch フィルタを実装するサーバーは、第 4.2 節にリストされているマッチング規則を extensibleMatch フィルタで使用できるようにすべきであり (SHOULD)、マッチング規則のアサーション構文が属性の値構文と同じである場合、サーバーに既知のすべての属性タイプでマッチング規則を使用できるようにすべきです (SHOULD)。
サーバーは、同じサブスキーマエントリ内の attributeTypes および matchingRuleUse 属性の値によって参照されるマッチング規則の定義を matchingRules 属性で公開しなければなりません (MUST)。参照されていない他のマッチング規則は、matchingRules 属性で公開してもかまいません (MAY)。
サーバーが extensibleMatch フィルタをサポートしている場合、サーバーは matchingRuleUse 属性を使用して、選択されたマッチング規則の指名された属性タイプへの適用性 (extensibleMatch フィルタ内での) を示すことができます (MAY)。