XHTML Modularization
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.
01Method
XHTML Modularization consists of three essential parts
- a technique or methodology (as explained, actually independent of XHTML, and applicable to any XML-based markup language) for defining abstract modules of a markup language, and implementing those modules in various schema languages, such as DTDs, XML Schema, and Relax NG.
- a collection of abstract modules
- 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.
02Application 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:
- Structure (html, head, body, title...)
- Text (h1, h2, h3... p, pre...)
- Hypertext (a)
- List (ul, li...)
Other modules include applet, image, forms and basic forms.
Sources and credits
This article is adapted from the Wikipedia article “XHTML Modularization”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.