Далее вам необходимо определить один или более "подмодулей объявлений". Задачей этих файловых объектов является объявление элементов ОТД XML и списков атрибутов. Модуль объявлений XHTML должен конструироваться следующим образом:
Если модуль добавляет атрибуты к тем элементам, определённым в модуле, которые не разделяют пространство имён этого модуля, объявить эти атрибуты так, чтобы они использовали префикс %MODULE.pfx. Например:
<ENTITY % MODULE.img.myattr.qname "%MODULE.pfx;myattr" > <!ATTLIST %img.qname; %MODULE.img.myattr.qname; CDATA #IMPLIED >
Здесь должен быть добавлен атрибут к элементу img модуля Image, но имя атрибута будет квалифицированным именем, включая префикс, если префиксы выбраны для объекта документа.
Добавляется также атрибут xmlns:MODULE_PREFIX к списку атрибутов элемента img, так что разборщик, понимающий пространство имён XML, будет "знать", как разбирать пространство имён на безе его (ПИ) префиксов.
В следующем примере показано объявление подмодуля для гипотетического модуля Inventory:
<!-- ...................................................................... --> <!-- Inventory Elements Module ................................................... --> <!-- file: inventory-1.mod
PUBLIC "-//MY COMPANY//ELEMENTS XHTML Inventory Elements 1.0//EN" SYSTEM "http://www.example.com/DTDs/inventory-1.mod"
xmlns:inventory="http://www.example.com/xmlns/inventory" ...................................................................... -->