Модуляризация XHTML


Интегрирование отдельных модулей в XHTML


Если модуль (помните, что модуль может быть коллекцией других модулей) содержит элементы, которые только ссылаются один на другой в своей модели содержимого, то говорят, что модуль "внутренне завершён". В связи с этим модуль может использоваться как таковой; (например, Вы можете определить ОТД, которое является этим модулем, и использовать один из его элементов в качестве корневого элемента). Интеграция такого модуля в XHTML - это процесс из трёх этапов:

  1. Решите, какой(ие) элемент(ы) может быть корневым(и) в новом модуле.
  2. Определите, где эти элементы необходимо подключить к дереву содержимого XHTML.
  3. Затем для каждой точки подключения в дереве содержимого добавьте корневой элемент(ы) к определению содержимого элементов XHTML.

Рассмотрим подключение элементов, определённых .

Элемент myelement является корневым. Чтобы подключить этот элемент под элементом img, и только элементом img , в XHTML может сработать следующее:

<!ENTITY % img.content "( %MyModule.myelement.qname; )*">

ОТД, определённое с этой моделью содержимого, позволяет создать документ, подобный следующему фрагменту:

<img src="..."> <myml:myelement >Это содержимое локально определённого элемента</myml:myelement> </img>

Важно отметить, что обычно элемент img имеет модель содержимого EMPTY. Путём добавления  myelement к этой модели содержимого мы в действительности просто заместили

EMPTY  на  myelement.

В случае с элементами, которые уже имеют определённые модели содержимого, добавление элемента может потребовать переобъявления существующей модели содержимого в дополнение к  myelement.




- Начало -  - Назад -  - Вперед -