Правила соответствия
Правила соответствия используются реализациями Каталога для сравнения значений атрибутов со значениями утверждения при выполнении операций Search и Compare. Они также используются для сравнения искомых уникальных имен с именем записи. При модификации записей правила сравнения применяются для идентификации значений, которые должны удаляться, и для предотвращения того, чтобы атрибут содержал два эквивалентных значения.
Далее будут рассмотрены правила соответствия, необходимые для операции Каталога, или те, которые требуются для общего использования.
Правило соответствия применяется к значениям атрибута посредством AttributeValueAssertion или MatchingRuleAssertion. Могут существовать определенные условия, при которых AttributeValueAssertion или MatchingRuleAssertion вычисляются как Undefined. Если утверждение не является Undefined, то результат утверждения есть результат применения выбранного правила соответствия. Правило соответствия вычисляется в TRUE и в некоторых случаях Undefined, как определено в описании правила соответствия, в противном случае оно вычисляется в FALSE.
Каждое утверждение имеет определенное значение. Определение каждого правила соответствия специфицирует синтаксис для значения утверждения. Синтаксис значения утверждения обычно, но не обязательно, бывает тот же, что и синтаксис значений атрибутов, к которым правило соответствия может применяться.
Определение каждого правила соответствия указывает синтаксисы атрибутов, к которым правило применяется, и условия, которым должны удовлетворять соответствующие типы атрибута.
Описание каждого правила соответствия указывает, применимо ли правило в качестве правила эквивалентности (EQUALITY), правила упорядоченности (ORDERING) или правила подстрок (SUBSTR) в определении типа атрибута.
Каждое правило соответствия уникально определяется идентификатором объекта. Определение правила соответствия в дальнейшем не должно изменяться. Если изменение все же необходимо, то определяется новое правило соответствия с другим идентификатором объекта.
Серверы, которые реализуют extensibleMatch-фильтр, должны допускать использование перечисленных здесь правил соответствия в extensibleMatch-фильтре и применение правил соответствия со всеми известными серверу типами атрибутов, в которых синтаксис утверждения для правила соответствия является тем же самым, что и синтаксис значения атрибута.
Серверы должны публиковать в атрибуте matchingRules определения правил соответствия, ссылаясь на значения атрибутов attributeTypes и matchingRuleUse в той же записи подсхемы. Могут быть опубликованы и другие правила соответствия в атрибуте matchingRules.
Если сервер поддерживает extensibleMatch-фильтр, сервер может использовать атрибут matchingRuleUse для указания применимости (в extensibleMatch фильтре) выбранных правил соответствия к упомянутым типам атрибутов.