XHTML Modularization


XHTML modularization is a methodology for producing modularized markup languages in a number of different schema languages so that the modules can easily be plugged together to create markup languages.
Although it was originally designed to help manage the development of various XHTML Profiles, such as XHTML 1.1, XHTML Basic for mobile devices, and XHTML Print for sending to printers,
the methodology is independent of XHTML, and has been used for the definition of other markup languages as well, such as SVG and MathML.

Method

XHTML Modularization consists of three essential parts
  1. a technique or methodology for defining abstract modules of a markup language, and implementing those modules in various schema languages, such as DTDs, XML Schema, and Relax NG.
  2. a collection of abstract modules
  3. a number of implementations of those modules in various schema languages.
To define a language using these modules, you only have to define a driver in one or more of the implementation schema languages, that causes the necessary modules to be loaded.

Application to XHTML

In its application to XHTML, it provides a means for defining modules of XHTML to allow subsetting and extending XHTML in a controlled way.
Core modules are:
Other modules include applet, image, forms and basic forms.