4. Требования по формализации форматных (синтаксических) правил
106. Правила, определяющие допустимый диапазон числовых значений реквизита (атрибута), формализуются с помощью выражений следующего вида:
[реквизит | атрибут].value [= | <> | > | >= | <= | <] [значение]
[реквизит | атрибут].value [> | >=] [значение] and [реквизит | атрибут].value [< | <=] [значение]
107. Правила, определяющие ограничения на допустимую длину содержимого реквизита (атрибута), формализуются с помощью выражений следующего вида:
[реквизит | атрибут].value.size() [= | <> | > | >= | <= | <] [значение]
[реквизит | атрибут].value.size() [> | >=] [значение] and [реквизит | атрибут].value.size() [< | <=] [значение]
108. Правила, которые формулируются с использованием регулярных выражений, формализуются с помощью выражений следующего вида:
[реквизит | атрибут].value.matches('[регулярное выражение]')
Регулярные выражения указываются в соответствии со спецификацией XML-схемы Консорциума Всемирной паутины (W3C XML Schema) за исключением того, что вместо одинарного символа "\" используется двойной символ "\\".
109. Правила, которые формулируются с использованием шаблона, рекомендуется формализовать с помощью регулярных выражений.
110. Правила, определяющие ограничения на допустимое фиксированное значение реквизита (атрибута), формализуются с помощью выражений следующего вида:
[реквизит | атрибут].value = [значение]
111. Правила, определяющие ограничения на допустимый перечень фиксированных значений реквизита (атрибута), формализуются с помощью выражений следующего вида:
Set{[значение], [значение], [значение]}->includes([реквизит | атрибут].value)