Modules just a brilliant implementation for xhtml

The modularization of XHTML 1.1 breaks down XHTML 1.0 Strict into a collection of abstract modules, grouped by related elements and attributes. The idea behind modularization is instead of having one huge DTD that defines everything; modules are used as and when required. To ensure the basis of XHTML is consistent, four core modules are required.

The modularization of XHTML 1.1 breaks down XHTML 1.0 Strict into a collection of abstract modules, grouped by related elements and attributes. The idea behind modularization is instead of having one huge DTD that defines everything; modules are used as and when required. To ensure the basis of XHTML is consistent, four core modules are required.

So why modules?
Well just think about some small devices, for example bank automat, car stereo or DVD-player. Wouldn’t it be cool to develop an application where you connect internet every time when you put your dvd in and get latest news, updates etc regarding to your DVD. Maybe even save data and have some interaction between your movie site and your TV. For the small device like DVD player you don?t necessary need image, stylesheet module, meta information etc. And maybe you want to write your own XML schema for stylesheet module and your own special XML for interacting with other web services.

XHTML 1.1 Modules
When you use the XHTML 1.1 DTD, you automatically get the following modules.

Structure Module (core).
Text Module (core).
Hypertext Module (core).
List Module (core).
Object Module.
Presentation Module.
Edit Module.
Bidirectional Text Module.
Forms Module.
Table Module.
Image Module.
Client-side Image Map Module.
Server-side Image Map Module.
Intrinsic Events Module.
Metainformation Module.
Scripting Module.
Stylesheet Module.
Style Attribute Module (Deprecated).
Link Module.
Base Module.
Ruby Annotation Module.

To read more about modules in XHTML check out:

Modularization of XHTML? W3C Recommendation 10 April 2001
XHTML? 2.0 W3C Working Draft 6 May 2003