4. Шаблоны

4. Шаблоны

XML-документ в процессе и/или результате его формирования может иметь экранное и бумажное представление. Экранное представление XML-документа - это сформированный специальными программными средствами набор экранных форм, предназначенный для его создания, изменения и просмотра. Бумажное представление XML-документа - это также сформированный специальными программными средствами набор форм, содержащий значения элементов XML-документа.

Описание состава и структуры документа, сделанное с помощью Требований, называется шаблоном документа. Описание состава и структуры любой части документа называется шаблоном фрагмента документа. Шаблоны фрагментов документов могут быть объединены в коллекции и храниться в отдельном файле. Любой шаблон является только описанием соответствующего объекта и не содержит значений простых элементов. Совокупность шаблонов, полностью определяющих структуру и состав документа, называется формой XML-документа.

Правила формирования шаблонов аналогичны правилам формирования документов, описанным выше. Отличие заключается в том, что открывающие тэги элементов шаблона содержат атрибуты элементов (параметры), интерпретируемые как характеристики классов, что является принципиальным отличием от атрибутов элементов, определяющих свойства экземпляров. Параметры служат как для формирования экранных и бумажных форм представления XML-документов, так и для контроля вводимых значений конкретных экземпляров и не являются характеристиками элементов.

Для идентификации формы, с помощью которой сформирован документ, служат имя и номер версии шаблона документа (см. описание корневого элемента документа), а также все имена шаблонов фрагментов документов и версии их коллекций, на которые ссылается шаблон документа. Имя файла, в котором сохраняется шаблон, должно состоять из имени корневого элемента, знака подчеркивания и номера версии.

Кроме этого, при формировании шаблонов разрешены внешние ссылки. С этой целью в шаблоне документа выделяются идентичные фрагменты. Если идентичные фрагменты используются только в одном шаблоне документа, они могут быть расположены в нем же. В случае если шаблоны фрагментов предназначены для их последующего использования в других шаблонах документов, они могут быть сохранены в отдельном файле.

┌──────────────────┐                          ┌──────────────────┐
│Шаблон документа 1│                          │Шаблон документа 2│
│                  │                          │                  │
├──────────────────┤                          │                  │
│Шаблон фрагмента 1│<───────┐                 │                  │
├──────────────────┤        │                 │                  │
│                  │        │                 │                  │
├──────────────────┤        │                 ├──────────────────┤
│ Ссылка на шаблон ├────────┘                 │ Ссылка на шаблон │
│    фрагмента 1   │                      ┌───┤    фрагмента 2   │
├──────────────────┤                      │   ├──────────────────┤
│                  │     ┌────────────┐   │   │                  │
├──────────────────┤     │   Шаблон   │   │   │                  │
│ Ссылка на шаблон ├────>│ фрагмента 2│<──┘   │                  │
│    фрагмента 2   │     └────────────┘       │                  │
├──────────────────┤                          │                  │
│                  │                          │                  │
└──────────────────┘                          └──────────────────┘

Рис. 2. Модель формы.