XHTML Modularization
Encyclopedia
XHTML modularization is a methodology for producing modularized markup languages in a number of different schema languages (currently DTD
s, 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
.
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.
to allow subsetting and extending XHTML in a controlled way.
Core modules are:
Other modules include applet, image, forms and basic forms.
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...
s, XML Schema and Relax NG
RELAX NG
In computing, RELAX NG is a schema language for XML, based on Murata Makoto's RELAX and James Clark's TREX. A RELAX NG schema specifies a pattern for the structure and content of an XML document...
) 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
XHTML Basic
XHTML Basic is an XML-based structured markup language primarily used for simple user agents, typically mobile devices.XHTML Basic is a subset of XHTML 1.1, defined using XHTML Modularization including a reduced set of modules for document structure, images, forms, basic tables, and object support...
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
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...
.
Method
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 DTDDocument Type DefinitionDocument Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...
s, XML Schema, and Relax NGRELAX NGIn computing, RELAX NG is a schema language for XML, based on Murata Makoto's RELAX and James Clark's TREX. A RELAX NG schema specifies a pattern for the structure and content of an XML document...
. - 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.
Application to XHTML
In its application to XHTML, it provides a means for defining modules of XHTMLXHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....
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.
External links
- Modularization of XHTML - W3 Consortium. In addition to an interesting view on modules, this document contains all of the actual tag definitions.
- Modularization of XHTML in Relax NG