При описании синтаксиса сообщения и его элементов используются следующие металингвистические конструкции:
::= - метасимвол, означающий "есть по определению";
< > - метасимволы, используемые для выделения элементов металингвистической структуры;
| - метасимвол, означающий возможность выбора среди нескольких вариантов значений элемента металингвистической структуры;
[ ] - метасимволы, означающие необязательность элемента металингвистической структуры;
{ } - метасимволы, означающие использование металингвистической структуры один и более раз.
При описании синтаксиса сообщения используются следующие основные понятия.
<слово> ::= <число> | <дата> | <текст> | <код >| <специальное слово> |
<пустое выражение>
<словосочетание> ::= <слово1> , <слово1> | <слово1> , < словосочетание>
<слово1> ::= <число> | <дата> | <текст1> | <текст2> | <код >
Текст представляет собой непустую последовательность символов, в качестве которых используются русские и латинские буквы, цифры, а также любые другие символы. Первый символ текста должен быть отличен от пробела. В том случае, когда текстовое значение встречается в составе словосочетания, возможны дополнительные ограничения на вид текста. Для выделения этих возможностей используются обозначения <текст1>, <текст2>.
При использовании в описаниях символов, которые являются служебными символами XML (например, символ угловой скобки, символ равенства), необходимо, в соответствии с правилами языка XML, использовать специальную последовательность символов.
Число состоит только из цифр (в том числе и с лидирующими нулями), причем может включать десятичную точку и знак "-" (минус) для отрицательных чисел.
Дата представляется в виде <день>.<месяц>.<год>, где <день> - две цифры, соответствующие номеру дня в месяце, <месяц> - две цифры, соответствующие номеру месяца в году, <год> - четыре цифры года.
Код определяется как последовательность букв и цифр. Сравнение кода со словами из соответствующего множества выполняется без учета регистра.
Синтаксис формирования реквизитов изложен ниже.
<русская буква> - прописная русская буква
<латинская буква> - прописная латинская буква
<ц> - цифра
<пробел> - символ пробела
<другой символ> - символ, не являющийся ни цифрой, ни буквой, ни пробелом
<пустое выражение> - выражение, не содержащее ни одного символа
<буква>::=<русская буква> | <латинская буква>
<символ>::=<буква> | <ц> | <пробел> | <другой символ>
<текст> ::= (<буква> | <ц> | <другой символ>) [{<символ>}]|
<текст1> ::=( (<буква>|<ц>) [{<буква>|<ц>|<пробел>| - | / }] ) |
<пустое выражение>
<текст2> ::= ( < буква> [{<буква>|<пробел>| - }] ) |