4. Шаблоны
XML-документ в процессе и/или результате его формирования может иметь экранное и бумажное представление. Экранное представление XML-документа - это сформированный специальными программными средствами набор экранных форм, предназначенный для его создания, изменения и просмотра. Бумажное представление XML-документа - это также сформированный специальными программными средствами набор форм, содержащий значения элементов XML-документа.
Описание состава и структуры документа, сделанное с помощью Требований, называется шаблоном документа. Описание состава и структуры любой части документа называется шаблоном фрагмента документа. Шаблоны фрагментов документов могут быть объединены в коллекции и храниться в отдельном файле. Любой шаблон является только описанием соответствующего объекта и не содержит значений простых элементов. Совокупность шаблонов, полностью определяющих структуру и состав документа, называется формой XML-документа.
Правила формирования шаблонов аналогичны правилам формирования документов, описанным выше. Отличие заключается в том, что открывающие тэги элементов шаблона содержат атрибуты элементов (параметры), интерпретируемые как характеристики классов, что является принципиальным отличием от атрибутов элементов, определяющих свойства экземпляров. Параметры служат как для формирования экранных и бумажных форм представления XML-документов, так и для контроля вводимых значений конкретных экземпляров и не являются характеристиками элементов.
Для идентификации формы, с помощью которой сформирован документ, служат имя и номер версии шаблона документа (см. описание корневого элемента документа), а также все имена шаблонов фрагментов документов и версии их коллекций, на которые ссылается шаблон документа. Имя файла, в котором сохраняется шаблон, должно состоять из имени корневого элемента, знака подчеркивания и номера версии.
Кроме этого, при формировании шаблонов разрешены внешние ссылки. С этой целью в шаблоне документа выделяются идентичные фрагменты. Если идентичные фрагменты используются только в одном шаблоне документа, они могут быть расположены в нем же. В случае если шаблоны фрагментов предназначены для их последующего использования в других шаблонах документов, они могут быть сохранены в отдельном файле.
┌──────────────────┐ ┌──────────────────┐ │Шаблон документа 1│ │Шаблон документа 2│ │ │ │ │ ├──────────────────┤ │ │ │Шаблон фрагмента 1│<───────┐ │ │ ├──────────────────┤ │ │ │ │ │ │ │ │ ├──────────────────┤ │ ├──────────────────┤ │ Ссылка на шаблон ├────────┘ │ Ссылка на шаблон │ │ фрагмента 1 │ ┌───┤ фрагмента 2 │ ├──────────────────┤ │ ├──────────────────┤ │ │ ┌────────────┐ │ │ │ ├──────────────────┤ │ Шаблон │ │ │ │ │ Ссылка на шаблон ├────>│ фрагмента 2│<──┘ │ │ │ фрагмента 2 │ └────────────┘ │ │ ├──────────────────┤ │ │ │ │ │ │ └──────────────────┘ └──────────────────┘
Рис. 2. Модель формы.