5.2. Конструкции языка
Конструкции языка служат для создания элементов шаблонов и документов.
В последующих описаниях используются следующие обозначения: в круглых скобках обозначены литералы. Разделитель обозначается
<элемент>::=<открывающий тэг><значение элемента><закрывающий тэг>
<элемент>::=<одиночный тэг>
<открывающий тэг>::=(<)<имя элемента>
<закрывающий тэг>::=()<имя элемента>(>)
<одиночный тэг>::=(<)<имя элемента>
<имя элемента>::=<имя>
<имя>::=<буква латинского алфавита>|(_)
<имя>::=(_)
<имя>::=<имя><буква латинского алфавита>
<имя>::=<имя><цифра>
<имя>::=<имя>(_)
<значение элемента>::=<значение простого элемента>|<содержимое составного элемента>
<значение простого элемента>::=*
<значение простого элемента>::=<последовательность символов>
<последовательность символов>::=<терминальный символ>
<последовательность символов>::=<нетерминальный символ>
<последовательность символов>::=
<последовательность символов>::=<последовательность символов><терминальный символ>
<последовательность символов>::=<последовательность символов><нетерминальный символ>
<последовательность символов>::=<последовательность символов>
<содержимое составного элемента>::=<элемент>
<содержимое составного элемента>::=<содержимое составного элемента><элемент>