Aller au contenu principal

4.1. Considérations générales

Une règle de correspondance est appliquée aux valeurs d'attribut via une AttributeValueAssertion (Assertion de valeur d'attribut) ou une MatchingRuleAssertion (Assertion de règle de correspondance) [RFC4511]. Les conditions dans lesquelles une AttributeValueAssertion ou une MatchingRuleAssertion est évaluée à Indéfini sont spécifiées ailleurs [RFC4511]. Si une assertion n'est pas Indéfinie, alors le résultat de l'assertion est le résultat de l'application de la règle de correspondance sélectionnée. Une règle de correspondance est évaluée à VRAI, et dans certains cas à Indéfini, comme spécifié dans la description de la règle de correspondance ; sinon, elle est évaluée à FAUX.

Chaque assertion contient une valeur d'assertion. La définition de chaque règle de correspondance spécifie la syntaxe de la valeur d'assertion. La syntaxe de la valeur d'assertion est généralement, mais pas nécessairement, la même que la syntaxe des valeurs d'attribut auxquelles la règle de correspondance peut être appliquée. Notez qu'une AssertionValue dans un SubstringFilter [RFC4511] est conforme à la syntaxe d'assertion de la règle de correspondance d'égalité pour le type d'attribut plutôt qu'à la syntaxe d'assertion de la règle de correspondance de sous-chaînes pour le type d'attribut. Conceptuellement, l'ensemble du SubstringFilter est converti en une valeur d'assertion de la règle de correspondance de sous-chaînes avant l'application de la règle.

La définition de chaque règle de correspondance indique les syntaxes d'attribut auxquelles la règle peut être appliquée, en spécifiant les conditions que le type ASN.1 correspondant d'une syntaxe d'attribut candidate doit satisfaire. Ces conditions sont également satisfaites si le type ASN.1 correspondant est un dérivé balisé ou contraint du type ASN.1 explicitement mentionné dans la description de la règle (c'est-à-dire que les balises et les contraintes ASN.1 sont ignorées lors de la vérification de l'applicabilité), ou s'il s'agit d'une notation de référence alternative pour le type explicitement mentionné. Chaque description de règle liste, comme exemples de syntaxes d'attribut applicables, la liste complète des syntaxes définies dans ce document auxquelles la règle de correspondance s'applique. Une règle de correspondance peut être applicable à des syntaxes supplémentaires définies dans d'autres documents si ces syntaxes satisfont aux conditions sur le type ASN.1 correspondant.

La description de chaque règle de correspondance indique si la règle est appropriée pour être utilisée comme règle de correspondance d'égalité (EQUALITY), règle de correspondance d'ordre (ORDERING) ou règle de correspondance de sous-chaînes (SUBSTR) dans une définition de type d'attribut [RFC4512].

Chaque règle de correspondance est identifiée de manière unique par un identifiant d'objet. La définition d'une règle de correspondance ne devrait pas être modifiée par la suite. Si un changement est souhaitable, alors une nouvelle règle de correspondance avec un identifiant d'objet différent devrait être définie à la place.

Les serveurs PEUVENT implémenter les règles de correspondance wordMatch et keywordMatch, mais ils DEVRAIENT implémenter les autres règles de correspondance de la section 4.2. Les serveurs PEUVENT implémenter des règles de correspondance supplémentaires.

Les serveurs qui implémentent le filtre extensibleMatch DEVRAIENT permettre l'utilisation des règles de correspondance listées dans la section 4.2 dans le filtre extensibleMatch et DEVRAIENT permettre l'utilisation des règles de correspondance avec tous les types d'attributs connus du serveur, où la syntaxe d'assertion de la règle de correspondance est la même que la syntaxe de valeur de l'attribut.

Les serveurs DOIVENT publier, dans l'attribut matchingRules, les définitions des règles de correspondance référencées par les valeurs des attributs attributeTypes et matchingRuleUse dans la même entrée de sous-schéma. D'autres règles de correspondance non référencées PEUVENT être publiées dans l'attribut matchingRules.

Si le serveur prend en charge le filtre extensibleMatch, alors le serveur PEUT utiliser l'attribut matchingRuleUse pour indiquer l'applicabilité (dans un filtre extensibleMatch) des règles de correspondance sélectionnées aux types d'attributs désignés.