XHTML modularization is a methodology for producing modularized markup languages in a number of different schema languages (currently DTDs, XML Schema and Relax NG) 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.
XHTML Modularization consists of three essential parts
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.
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.