Соглашения по синтаксису
Абстрактные модули не определяются формальной грамматикой. Однако определения должны придерживаться следующих соглашений по синтаксису. Эти соглашения похожи на соответствующие соглашения ОТД XML и должны быть знакомы авторам ОТД XML.
Каждый отдельный синтаксический элемент может комбинироваться с другими для составления более сложных выражений, соответствующих определённой здесь алгебре.
element name/имя элемента
Если элемент включён в модель содержимого, его точное имя будет включено в список.
content set/набор содержимого
Некоторые модули определяют точные списки имён элементов, называемые наборы содержимого. Когда набор содержимого включается в модель содержимого, его имя будет включено в список.
expr ?
Разрешается 0 или 1 объект expr.
expr +
Требуется 0 или 1 объект expr.
expr *
Разрешается 0 или более объектов expr.
a , b
Необходимо выражение a, после которого следует выражение b.
a | b
Необходимо выражение a или b.
a - b
Разрешается выражение a с пропуском элементов в выражении b.
круглые скобки
Если выражение заключено в скобки, вычисление любого субвыражения в скобках выполняется до вычисления выражения вне скобок (начиная с самого глубокого уровня вложения).
расширение предопределённых элементов
В некоторых случаях модуль добавляет атрибуты к элементу. В таких объектах после имени элемента следует амперсанд (&).
определение необходимых атрибутов
Если элемент требует наличия определения атрибута, то после имени этого атрибута следует звёздочка (*).
определение типа значений атрибута
Если в модуле определяется тип значения атрибута, это выполняется путём указания типа в круглых скобках после имени атрибута.
определение допустимых значений атрибута
Если модуль определяет допустимые значения атрибута, это выполняется путём точного указания допустимых значений (заключённых в кавычки), разделённых вертикальной чертой (|), внутри скобок после имени атрибута.
Если атрибут имеет значение по умолчанию, после этого значения следует звёздочка (*).
Если атрибут имеет фиксированное значение, после имени атрибута идёт знак равенства (=) и фиксированное значение, заключённое в кавычки.