Jump to content

XHTML Modularization

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Pemboid (talk | contribs) at 10:21, 8 August 2006 (External link to Relax NG). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

XHTML modularization provides a means for defining modules of XHTML to allow subsetting and extending XHTML in a controlled way. It has been used for creating new flavors of XHTML, such as XHTML 1.1, XHTML Basic for mobile devices, and XHTML Print for sending to printers.

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.

Method

XHTML Modularization consists of three essential parts

  1. a technique or methodology (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.
  2. a collection of abstract modules for XHTML
  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.