
W3C has split the definition of XHTML into 28 modules:
| Module name | Description |
| Applet Module | Defines the deprecated* applet element |
| Base Module | Defines the base element |
| Basic Forms Module | Defines the basic forms elements |
| Basic Tables Module | Defines the basic table elements |
| Bi-directional Text Module | Defines the bdo element |
| Client Image Map Module | Defines browser side image map elements |
| Edit Module | Defines the editing elements del and ins |
| Forms Module | Defines all elements used in forms |
| Frames Module | Defines the frameset elements |
| Hypertext Module | Defines the a element |
| Iframe Module | Defines the iframe element |
| Image Module | Defines the img element |
| Intrinsic Events Module | Defines event attributes like onblur and onchange |
| Legacy Module | Defines deprecated* elements and attributes |
| Link Module | Defines the link element |
| List Module | Defines the list elements ol, li, ul, dd, dt, and dl |
| Metainformation Module | Defines the meta element |
| Name Identification Module | Defines the deprecated* name attribute |
| Object Module | Defines the object and param elements |
| Presentation Module | Defines presentation elements like b and i |
| Scripting Module | Defines the script and noscript elements |
| Server Image Map Module | Defines server side image map elements |
| Structure Module | Defines the elements html, head, title and body |
| Style Attribute Module | Defines the style attribute |
| Style Sheet Module | Defines the style element |
| Tables Module | Defines the elements used in tables |
| Target Module | Defines the target attribute |
| Text Module | Defines text container elements like p and h1 |
* Deprecated elements should not be used in XHTML.