4.1. Allgemeine Überlegungen
Eine Übereinstimmungsregel (Matching Rule) wird auf Attributwerte durch eine AttributeValueAssertion oder MatchingRuleAssertion [RFC4511] angewendet. Die Bedingungen, unter denen eine AttributeValueAssertion oder MatchingRuleAssertion zu "Undefiniert" ausgewertet wird, werden an anderer Stelle spezifiziert [RFC4511]. Wenn eine Behauptung (Assertion) nicht "Undefiniert" ist, dann ist das Ergebnis der Behauptung das Ergebnis der Anwendung der ausgewählten Übereinstimmungsregel. Eine Übereinstimmungsregel wertet zu WAHR (TRUE) und in einigen Fällen zu "Undefiniert" aus, wie in der Beschreibung der Übereinstimmungsregel angegeben; andernfalls wertet sie zu FALSCH (FALSE) aus.
Jede Behauptung enthält einen Behauptungswert (Assertion Value). Die Definition jeder Übereinstimmungsregel spezifiziert die Syntax für den Behauptungswert. Die Syntax des Behauptungswerts ist typischerweise, aber nicht notwendigerweise, dieselbe wie die Syntax der Attributwerte, auf welche die Übereinstimmungsregel angewendet werden kann. Beachten Sie, dass ein AssertionValue in einem SubstringFilter [RFC4511] der Behauptungssyntax der Gleichheits-Übereinstimmungsregel für den Attributtyp entspricht und nicht der Behauptungssyntax der Teilzeichenfolgen-Übereinstimmungsregel für den Attributtyp. Konzeptionell wird der gesamte SubstringFilter vor der Anwendung der Regel in einen Behauptungswert der Teilzeichenfolgen-Übereinstimmungsregel konvertiert.
Die Definition jeder Übereinstimmungsregel gibt die Attributsyntaxen an, auf die die Regel angewendet werden kann, indem Bedingungen spezifiziert werden, die der entsprechende ASN.1-Typ einer Kandidaten-Attributsyntax erfüllen muss. Diese Bedingungen sind auch erfüllt, wenn der entsprechende ASN.1-Typ eine mit Tags versehene oder eingeschränkte Ableitung des in der Regelbeschreibung explizit genannten ASN.1-Typs ist (d. h. ASN.1-Tags und Einschränkungen werden bei der Überprüfung der Anwendbarkeit ignoriert) oder eine alternative Referenznotation für den explizit genannten Typ ist. Jede Regelbeschreibung listet als Beispiele für anwendbare Attributsyntaxen die vollständige Liste der in diesem Dokument definierten Syntaxen auf, auf die die Übereinstimmungsregel zutrifft. Eine Übereinstimmungsregel kann auf zusätzliche Syntaxen anwendbar sein, die in anderen Dokumenten definiert sind, wenn diese Syntaxen die Bedingungen an den entsprechenden ASN.1-Typ erfüllen.
Die Beschreibung jeder Übereinstimmungsregel gibt an, ob die Regel zur Verwendung als Gleichheits-Übereinstimmungsregel (EQUALITY), Ordnungs-Übereinstimmungsregel (ORDERING) oder Teilzeichenfolgen-Übereinstimmungsregel (SUBSTR) in einer Attributtypdefinition [RFC4512] geeignet ist.
Jede Übereinstimmungsregel wird eindeutig durch einen Objektbezeichner (Object Identifier) identifiziert. Die Definition einer Übereinstimmungsregel sollte nachträglich nicht geändert werden. Wenn eine Änderung wünschenswert ist, sollte stattdessen eine neue Übereinstimmungsregel mit einem anderen Objektbezeichner definiert werden.
Server KÖNNEN die Übereinstimmungsregeln wordMatch und keywordMatch implementieren, aber sie SOLLTEN die anderen Übereinstimmungsregeln in Abschnitt 4.2 implementieren. Server KÖNNEN zusätzliche Übereinstimmungsregeln implementieren.
Server, die den extensibleMatch-Filter implementieren, SOLLTEN erlauben, dass die in Abschnitt 4.2 aufgeführten Übereinstimmungsregeln im extensibleMatch-Filter verwendet werden, und SOLLTEN erlauben, dass Übereinstimmungsregeln mit allen dem Server bekannten Attributtypen verwendet werden, wobei die Behauptungssyntax der Übereinstimmungsregel dieselbe ist wie die Wertsyntax des Attributs.
Server MÜSSEN im Attribut matchingRules die Definitionen von Übereinstimmungsregeln veröffentlichen, die von Werten der Attribute attributeTypes und matchingRuleUse im selben Subschema-Eintrag referenziert werden. Andere nicht referenzierte Übereinstimmungsregeln KÖNNEN im Attribut matchingRules veröffentlicht werden.
Wenn der Server den extensibleMatch-Filter unterstützt, DANN KANN der Server das Attribut matchingRuleUse verwenden, um die Anwendbarkeit (in einem extensibleMatch-Filter) ausgewählter Übereinstimmungsregeln auf benannte Attributtypen anzugeben.