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

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


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

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

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

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

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

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

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

    EMPTY  на  myelement.

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



    Содержание раздела