XHTML 1.1 Reference

October 6, 2005


1. About XHTML Modularization
2. XHTML Modules
2.1. Attribute Collections(Core, I18N, Events, Style, Common)
2.2. Core Modules
2.2.1. Structure Module (body, head, html, title)
2.2.2. Text Module (abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var)
2.2.3. Hypertext Module (a)
2.2.4. List Module ( dl, dt, dd, ol, ul, li)
2.3. Object Module ( object, param)
2.4. Presentation Module (b, big, hr, i, small, sub, sup, tt)
2.5. Edit Module (del, ins)
2.6. Bidirectional Text Module ( bdo)
2.7. Forms Module (button, fieldset, form, input, label, legend, select, optgroup, option, textarea)
2.7.1. Basic Forms Module
2.7.2. Forms Module
2.8. Table Module (caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr)
2.8.1. Basic Tables Module
2.8.2. Tables Module
2.9. Image Module (img)
2.10. Client-side Image Map Module (area, map)
2.11. Server-side Image Map Module ( Attribute ismap on img)
2.12. Intrinsic Events Module (Events attributes)
2.13. Metainformation Module (meta)
2.14. Scripting Module ( noscript, script)
2.15. Stylesheet Module (style element)
2.16. Link Module (link)
2.17. Base Module (base)
2.18. Style Attribute Module (Deprecated) (style attribute)
3. Document Conformance
3.1. Strictly Conforming Documents
Glossary
Bibliography
Index

1. About XHTML Modularization

XHTML 1.0 specifies three XML document types that correspond to the three HTML 4 DTDs: Strict, Transitional, and Frameset. XHTML 1.0 is the basis for a family of document types that subset and extend HTML.

XHTML Modularization is a decomposition of XHTML 1.0, into a collection of abstract modules that provide specific types of functionality. These abstract modules are implemented using the XML Document Type Definition language. The modules may be combined with each other and with other modules to create XHTML subset and extension document types.

Some definitions of terms:

  • abstract module - a unit of document type specification corresponding to a distinct type of content, corresponding to a markup construct reflecting this distinct type.

  • module - an abstract unit within a document model expressed as a DTD fragment, used to consolidate markup declarations to increase the flexibility, modifiability, reuse and understanding of specific logical or semantic structures.

  • modularization - an implementation of a modularization model; the process of composing or de-composing a DTD by dividing its markup declarations into units or groups to support specific goals. Modules may or may not exist as separate file entities (i.e., the physical and logical structures of a DTD may mirror each other, but there is no such requirement).

  • modularization model - the abstract design of the document type definition (DTD) in support of the modularization goals, such as reuse, extensibility, expressiveness, ease of documentation, code size, consistency and intuitiveness of use.

2. XHTML Modules

This section specifies the contents of the XHTML abstract modules. These modules are abstract definitions of collections of elements, attributes, and their content models. These abstract modules can be mapped onto any appropriate specification mechanism. XHTML DTD Module Implementations, for example, maps these modules onto DTDs.

2.1. Attribute Collections(Core, I18N, Events, Style, Common)

Many of the abstract modules in this section define the required attributes for elements. The table below defines some collections of attributes that are referenced throughout the modules.

Table 1. Attributes

Collection Name Attributes in Collection
Core class (NMTOKENS), id (ID), title (CDATA)
I18N xml:lang (NMTOKEN)
Events onclick (Script), ondblclick (Script), onmousedown (Script), onmouseup (Script), onmouseover (Script), onmousemove (Script), onmouseout (Script), onkeypress (Script), onkeydown (Script), onkeyup (Script)
Style style (CDATA)
Common Core + Events + I18N + Style

2.2. Core Modules

The core modules are modules that are required to be present in any XHTML Family Conforming Document Type. Here is the definition of some content sets that are used to specify the minimal content model of elements:

  1. Heading: h1 | h2 | h3 | h4 | h5 | h6

  2. Block: address | blockquote | div | p | pre

  3. Inline: abbr | acronym | br | cite | code | dfn | em | kbd | q | samp | span | strong | var

  4. Flow: Heading | Block | Inline

2.2.1. Structure Module (body, head, html, title)

The Structure Module defines the major structural elements for XHTML. The elements and attributes included in this module are:

Table 2. Structure Module Elements

Elements Attributes Minimal Content Model
html

Defines a html document

I18N, version (CDATA), xmlns (URI = "http://www.w3.org/1999/xhtml") head, body
head

Defines the head element

I18N, profile (URI) title
title

Defines the document title element

I18N PCDATA
body

Defines the body element

Common (Heading | Block | List)*

Example 1. Using elements from Structure Module

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <p>This is a block element in body.</p>
  </body>
</html>

2.2.2. Text Module (abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var)

This module defines all of the basic text container elements, attributes, and their content model:

Table 3. Text Module Elements

Elements Attributes Minimal Content Model
Basic Tags

h1 to h6

Defines header 1 to header 6

Common (PCDATA | Inline)*
p

Defines a paragraph

Common (PCDATA | Inline)*
br

Inserts a single line break

Core EMPTY
Blocks
abbr

Defines an abbreviation

Common (PCDATA | Inline)*
acronym

Defines an acronym

Common (PCDATA | Inline)*
address

Defines an address element

Common (PCDATA | Inline)*
blockquote

Defines an long quotation

Common, cite (URI) (PCDATA | Heading | Block | List)*
cite

Defines a citation

Common (PCDATA | Inline)*
q

Defines a short quotation

Common, cite (URI) (PCDATA | Inline)*
Output Tags
pre

Defines preformatted text

Common, xml:space="preserve" (PCDATA | Inline)*
kbd

Defines keyboard text

Common (PCDATA | Inline)*
samp

Defines sample computer code

Common (PCDATA | Inline)*
var

Defines a variable

Common (PCDATA | Inline)*
dfn

Defines a definition term

Common (PCDATA | Inline)*
code

Defines computer code text

Common (PCDATA | Inline)*

Char format

em

Defines emphasized text

Common (PCDATA | Inline)*
strong

Defines strong text

Common (PCDATA | Inline)*

Styles

div

Defines a section in a document

Common (PCDATA | Flow)*
span

Defines a section in a document

Common (PCDATA | Inline)*

2.2.3. Hypertext Module (a)

The Hypertext Module provides the element that is used to define hypertext links to other resources. This module supports the following element and attributes:

Table 4. HyperText Module Elements

Elements Attributes Minimal Content Model
Links
a

Defines an anchor

Common, accesskey (Character), charset (Charset), href (URI), hreflang (LanguageCode), rel (LinkTypes), rev (LinkTypes), tabindex (Number), type (ContentType) (PCDATA | Inline - a)*

2.2.4. List Module ( dl, dt, dd, ol, ul, li)

As its name suggests, the List Module provides list-oriented elements. Specifically, the List Module supports the following elements and attributes:

Table 5. List Module Elements

Elements Attributes Minimal Content Model
dl

Defines a definition list

Common (dt | dd)+
dt

Defines a definition term

Common (PCDATA | Inline)*
dd

Defines a definition description

Common, (PCDATA | Flow)*
ol

Defines an ordered list

Common li+
ul

Defines an unordered list

Common li+
li

Defines a list item

Common (PCDATA | Flow)*

2.3. Object Module ( object, param)

The Object Module provides elements for general-purpose object inclusion. When this module is used, it adds the object element to the Inline content set of the Text Module. Specifically, the Object Module supports:

Table 6. Object Module Elements

Elements Attributes Minimal Content Model
Programming
object

Defines an embedded object

Common, archive (URIs), classid (URI), codebase (URI), codetype (ContentType), data (URI), declare ("declare"), height (Length), name (CDATA), standby (Text), tabindex (Number), type (ContentType), width (Length) (PCDATA | Flow | param)*
param

Defines a parameter for an object

id (ID), name* (CDATA), type (ContentType), value (CDATA), valuetype ("data"* | "ref" | "object") EMPTY

Note

The Applet Module that provides elements for referencing external applications is deprecated.

2.4. Presentation Module (b, big, hr, i, small, sub, sup, tt)

This module defines elements, attributes, and a minimal content model for simple presentation-related markup:

Table 7. Presentation Module Elements

Elements Attributes Minimal Content Model
Char Format
b

Defines bold text

Common (PCDATA | Inline)*
big

Defines big text

Common (PCDATA | Inline)*
i

Defines italic text

Common (PCDATA | Inline)*
small

Defines small text

Common (PCDATA | Inline)*
sub

Defines subscripted text

Common (PCDATA | Inline)*
sup

Defines superscripted text

Common (PCDATA | Inline)*
tt

Defines teletype text

Common (PCDATA | Inline)*
Basic tags
hr Common EMPTY

2.5. Edit Module (del, ins)

This module defines elements and attributes for use in editing-related markup. When this module is used, the del and ins elements are added to the Inline content set of the Text Module.

Table 8. Edit Module Elements

Elements Attributes Minimal Content Model
Blocks
del

Defines deleted text

Common, cite (URI), datetime (Datetime) (PCDATA | Flow)*
ins

Defines inserted text

Common, cite (URI), datetime (Datetime) (PCDATA | Flow)*

2.6. Bidirectional Text Module ( bdo)

The Bi-directional Text module defines an element that can be used to declare the bi-directional rules for the element's content. When this module is used, the bdo element is added to the Inline content set of the Text Module. Selecting this module also adds the attribute dir* ("ltr" | "rtl") to the I18N attribute collection.

Table 9. Bidirectional Text Module Elements

Elements Attributes Minimal Content Model
Char format
bdo

Defines the direction of text display

Core, dir* ("ltr" | "rtl") (PCDATA | Inline)*

2.7. Forms Module (button, fieldset, form, input, label, legend, select, optgroup, option, textarea)

2.7.1. Basic Forms Module

The Basic Forms Module provides the form-related elements, but only in a limited form. Specifically, the Basic Forms Module supports the following elements, attributes, and minimal content model:

Table 10. Basic Forms Module Elements

Elements Attributes Minimal Content Model
Input
form

Defines a form

Common, action* (URI), method ("get"* | "post"), enctype (ContentType) (Heading | List | Block - form)+
input

Defines an input field

Common, accesskey (Character), checked ("checked"), maxlength (Number), name (CDATA), size (Number), src (URI), tabindex (Number), type ("text"* | "password" | "checkbox" | "radio" | "submit" | "reset" | "hidden" ), value (CDATA) EMPTY
label

Defines a label for a form control

Common, accesskey (Character), for (IDREF) (PCDATA | Inline - label)
select

Defines a selectable list

Common, multiple ("multiple"), name (CDATA), size (Number), tabindex (Number) option+
option

Defines an item in a list box

Common, selected ("selected"), value (CDATA) PCDATA
textarea

Defines a text area

Common, accesskey (Character), cols* (Number), name (CDATA), rows* (Number), tabindex (Number) PCDATA

Example 2. Using forms elements

<form method="post" action="mailto:someone@example.org">
 <p>
  <label for="input1" accesskey="N">What is your name?</label> 
  <input class="text" id="input1"  name="MyName" size="30" maxlength="50" />
 </p>
 <p>
  <label for="Quest" accesskey="Q">What is your quest?</label>
  <input type="text" id="Quest"  name="Quest" size="30"  maxlength="100" />
 </p>
 <p>
  <label>What is your favorite color?</label> 
  <input type="radio" id="Color1" name="Color1" value="R" /> Red 
  <input type="radio" id="Color2" name="Color2" value="B" /> No, blue!
</p>
 <p>
  <input type="submit" value="Answer These Questions Three" />
 </p>
 </form>

Example 3. Using forms elements

<form method="post" action="http://somesite.com/prog/someprog">
 <label for="selections" accesskey="S">Make your own selection:</label> 
 <select id="selections" name="selections">
  <option label="none" value="none" selected="selected">none</option>
  <optgroup label="Package 1">
   <option label="1.7.1" value="pk1_3.7.1">Nokia 6680 with Option 3G Full</option>
   <option label="1.7" value="pk1_3.7">Nokia 6680 with Option 3G Limited</option>
   <option label="1.5" value="pk1_3.5">Nokia 6680 without 3G Option</option>
  </optgroup>
  <optgroup label="Package 2">
   <option label="2.7" value="pk2_3.7">DSL 1 Mb unlimited</option>
   <option label="2.5" value="pk2_3.5">DSL 1 Mb with 1Gb traffic limit</option>
  </optgroup>
 </select>
  </form>

2.7.2. Forms Module

The Forms Module provides all of the forms features found in HTML 4.0 (button, fieldset, form, input, label, legend, select, optgroup, option, textarea).

2.8. Table Module (caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr)

2.8.1. Basic Tables Module

The Basic Tables Module provides table-related elements, but only in a limited form. When this module is used, it adds the table element to the Block content set as defined in the Text Module. Specifically, the Basic Tables Module supports:

Table 11. Basic Table Module Elements

Elements Attributes Minimal Content Model
Tables
caption

Defines a table caption

Common (PCDATA | Inline)*
table

Defines a table

Common , summary ( Text ), width ( Length ) caption?, tr+
td

Defines a table cell

Common, abbr (Text), align ("left" | "center" | "right"), axis (CDATA), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row" | "col"), valign ("top" | "middle" | "bottom") (PCDATA | Flow - table)*
th

Defines a table header

Common, abbr (Text), align ("left" | "center" | "right"), axis (CDATA), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row" | "col" ), valign ("top" | "middle" | "bottom") (PCDATA | Flow - table)*
tr

Defines a table row

Common, align ("left" | "center" | "right"), valign ("top" | "middle" | "bottom") (td | th)+

Example 4. Using Basic Table Module Elements

 <table summary="History courses offered in the community of Cottbus 
   arranged by course name, tutor...">
 <tr>
  <th colspan="3" scope="colgroup">Community Courses -- Cottbus Autumn 2005</th>
 </tr>
 <tr>
  <th scope="col" abbr="Name">Course Name</th>
  <th scope="col" abbr="Tutor">Course Tutor</th>
 </tr>
 <tr>
  <td scope="row">After the Civil War</td>
  <td>Dr. John Wroughton</td>
  <td>&euro;32</td>
 </tr>
 <tr>
  <td scope="row">An Introduction to Anglo-Saxon England</td>
  <td>Mark Cottle</td>
  <td>&euro;18</td>
 </tr>
 <tr>
  <td scope="row">The Glory that was Greece</td>
  <td>Valerie Lorenz</td>
  <td>&euro;18</td>
 </tr>
 </table>

2.8.2. Tables Module

As its name suggests, the Tables Module provides table-related elements that are better able to be accessed by non-visual user agents. When this module is used, it adds the table element to the Block content set of the Text Module. Specifically, the Tables Module supports the following elements, attributes, and content model:

Table 12. Table Module Elements

Elements Attributes Minimal Content Model
Tables
caption

Defines a table caption

Common (PCDATA | Inline)*
table

Defines a table

Common, border (Pixels), cellpadding (Length), cellspacing (Length), datapagesize (CDATA), frame ("void" | "above" | below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border"), rules ("none" | "groups" | "rows" | "cols" | "all"), summary (Text), width (Length) caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))
td

Defines a table cell

Common, abbr (Text), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Character), charoff (Length), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row", "col", "rowgroup", "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") (PCDATA | Flow)*
th

Defines a table header

Common, abbr (Text), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Character), charoff (Length), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row", "col", "rowgroup", "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") (PCDATA | Flow)*
tr

Defines a table row

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") (td | th)+
col

Defines attributes for table columns

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), span (Number), valign ("top" | "middle" | "bottom" | "baseline"), width (MultiLength) EMPTY
colgroup

Defines groups of table columns

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), span (Number), valign ("top" | "middle" | "bottom" | "baseline"), width (MultiLength) col*
tbody

Defines a table body

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+
thead

Defines a table header

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+
tfoot

Defines a table row

Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+

2.9. Image Module (img)

The Image Module provides basic image embedding, and may be used in some implementations independently of client side image maps. When this module is used, it adds the img element to the Inline content set of the Text Module. The Image Module supports the following element and attributes:

Table 13. Image Module Elements

Elements Attributes Minimal Content Model
Images
img

Defines an image

Common, alt* (Text), height (Length), longdesc (URI), src* (URI), width (Length) EMPTY

Example 5. Using Image Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Untitled</title>
</head>
<body>
 <p>I just returned from vacation! Here's a photo of my family at the lake:</p>
 <p>
  <img src="http://www.somecompany.com/People/Mary/vacation/family.png"
     alt="A photo of my family at the lake." />
 </p>
 <p>This inclusion may also be achieved with the <em>object</em> element as follows</p>
 <p>
  <object data="http://www.somecompany.com/People/Mary/vacation/family.png"
        type="image/png">
   A photo of my family at the lake.
 </object> 
 </p>
</body>
</html>

2.10. Client-side Image Map Module (area, map)

The Client-side Image Map Module provides elements for client side image maps. It requires that the Image Module (or another module that supports the img element) be included. When this module is used, the map element is added to the Inline content set of the Text Module. The Client-side Image Map Module supports the following elements:

Table 14. Client-side Image Map Module Elements

Elements Attributes Minimal Content Model
Images
area

Defines an area inside an image map

Common, accesskey (Character), alt* (Text), coords (CDATA), href (URI), nohref ("nohref"), shape ("rect"* | "circle" | "poly" | "default"), tabindex (Number) EMPTY
map

Defines an image map

I18N, Events, class (NMTOKEN), id* (ID), title (CDATA) ((Heading | Block) | area)+
img& usemap (IDREF) n/a
input& usemap (IDREF) n/a
object& usemap (IDREF) Note: Only when the object module is included

Example 6. Using Client-side Image Map Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Page Title</title>
</head>
<body>
<p>
 <object data="navbar1.gif" type="image/gif" usemap="map1">
   <p>This is a navigation bar.</p>
 </object>
 <map id="map1">
  <area href="guide.html" 
          alt="access guide" 
          shape="rect" 
          coords="0,0,118,28"/>
  <area href="search.html" 
          alt="search" 
          shape="rect" 
          coords="184,0,276,28"/>
  <area href="shortcut.html" 
          alt="go" 
          shape="circle"
          coords="184,200,60"/>
  <area href="top10.html" 
          alt="top ten" 
          shape="poly" 
          coords="276,0,276,28,100,200,50,50,276,0"/>
 </map>
</p> 
</body>
</html>

2.11. Server-side Image Map Module ( Attribute ismap on img)

The Server-side Image Map Module provides support for image-selection and transmission of selection coordinates. It requires that the Image Module (or another module that supports the img element) be included. The Server-side Image Map Module supports the following attributes:

Table 15. Server-side Image Map Module Elements

Elements Attributes Minimal Content Model
img& ismap ("ismap") n/a
input& ismap ("ismap") n/a Note: When the Forms or Basic Forms Module is selected.

Example 7. Using Server-side Image Map Module Elements

In this example, the active region defines a server-side link. Thus, a click anywhere on the image will cause the click's coordinates to be sent to the server.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Page Title</title>
</head>
<body>
<p>
  <a href="http://www.acme.com/cgi-bin/competition">
   <img src="game.gif" ismap alt="target"/>
  </a>
</p>
</body>
</html>

2.12. Intrinsic Events Module (Events attributes)

Intrinsic events are attributes that are used in conjunction with elements that can have specific events occur when certain actions are performed by the user. The attributes are added to the attribute set for their respective elements only when the modules defining those elements are selected. Note also that selection of this module defines the attribute collection Events.

2.13. Metainformation Module (meta)

The Metainformation Module defines an element that describes information within the declarative portion of a document (in XHTML within the head element). When this module is selected, the meta element is added to the content model of the head element as defined in the Structure Module. This module includes the following element:

Table 16. Metainformation Module Elements

Elements Attributes Minimal Content Model
Meta Info
meta

Defines meta information

I18N, content* (CDATA), http-equiv (NMTOKEN), name (NMTOKEN), scheme (CDATA) EMPTY

Example 8. Using Metainformation Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Expires" content="Tue, 20 Oct 2005 14:25:27 GMT"/>
<title>Page Title</title>
</head>
<body>
 <p></p>
</body>
</html>

2.14. Scripting Module ( noscript, script)

The Scripting Module defines elements that are used to contain information pertaining to executable scripts or the lack of support for executable scripts. When this module is used, the script and noscript elements are added to the Block and Inline content sets of the Text Module. In addition, the script element is added to the content model of the head element defined in the Structure Module. Elements and attributes included in this module are:

Table 17. Scripting Module Elements

Elements Attributes Minimal Content Model
script

Defines a script

charset (Charset), defer ("defer"), src (URI), type* (ContentType), xml:space="preserve" PCDATA
noscript

Defines a noscript section

Common (Heading | List | Block)+

Example 9. Using Scripting Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Script-Type" content="javascript"/>
 <title>Page Title</title>
</head>
<body>
 <p>
  <script type="text/javascript">
      function my_onload() {
        // do something
      }

      var win = window.open("some/other/URI")
      if (win) win.onload = my_onload
  </script>
  <noscript>
   <p>Access the <a href="http://someplace.com/data">data.</a></p>
  </noscript>
 </p>
</body>
</html>

2.15. Stylesheet Module (style element)

The Style Sheet Module defines an element to be used when declaring internal style sheets. The element and attributes defined by this module are:

Table 18. Stylesheet Module Elements

Elements Attributes Minimal Content Model
Style
style

Defines a style definition

I18N, media (MediaDesc), title (Text), type* (ContentType), xml:space="preserve" PCDATA

Example 10. Using Stylesheet Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rel="stylesheet" media="aural" href="corporate-aural.css" type="text/css"/>
<link rel="stylesheet" media="screen" href="corporate-screen.css" type="text/css"/>
<link rel="stylesheet" media="print" href="corporate-print.css" type="text/css"/>
<link rel="stylesheet" href="techreport.css" type="text/css"/>
<style media="screen" type="text/css">
    p.special { color: rgb(230, 100, 180) }
</style>
<title>Page Title</title>

</head>
<body>
 <p class="special">
  Some information here.
 </p>
</body>
</html>

2.16. Link Module (link)

The Link Module defines an element that can be used to define links to external resources. These resources are often used to augment the user agent's ability to process the associated XHTML document. The element and attributes included in this module are:

Table 19. Link Module Elements

Elements Attributes Minimal Content Model
Links
link

Defines a resource reference

Common, charset (Charset), href (URI), hreflang (LanguageCode), media (MediaDesc), rel (LinkTypes), rev (LinkTypes), type (ContentType) EMPTY

Example 11. Using Link Module Elements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <link rel="Index" href="../index.html" hreflang="en"/>
  <link rel="Next"  href="Chapter3.html" hreflang="de"/>
  <link rev="Prev"  href="Chapter1.html" hreflang="en"/>
<title>Page Title</title>
</head>
<body>
 <p>
  Some information here.
 </p>
</body>
</html>

2.17. Base Module (base)

The Base Module defines an element that can be used to define a base URI against which relative URIs in the document will be resolved. When this module is used, it adds the base element to the content model of the head element of the Structure Module. The element and attribute included in this module are:

Table 20. Base Module Elements

Elements Attributes Minimal Content Model
Links
base

Defines a base URL for all the links in a page

href* (URI) EMPTY

2.18. Style Attribute Module (Deprecated) (style attribute)

The Style Attribute Module defines the style attribute. When this module is selected, it activates the Style Attribute Collection.

3. Document Conformance

This version of XHTML provides a definition of strictly conforming XHTML documents, which are restricted to elements and attributes from the XHTML namespace.

3.1. Strictly Conforming Documents

A strictly conforming XHTML 1.1 document is a document that requires only the facilities described as mandatory in W3C recommendation. Such a document must meet all the following criteria:

  1. The document must conform to the constraints expressed in W3C recommendation

  2. The root element of the document must be <html>;

  3. The root element of the document must designate the XHTML namespace using the xmlns attribute. The namespace designator for XHTML is "http://www.w3.org/1999/xhtml".

  4. There must be a DOCTYPE declaration in the document prior to the root element. If present, the public identifier included in the DOCTYPE declaration must reference the DTD (xhtml11.dtd) using its Formal Public Identifier.

    <!DOCTYPE 
     html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    

Glossary

XHTML 1.1 Modules

Structure Module

body, head, html, title

Text Module

abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var

Hypertext Module

a

List Module

dl, dt, dd, ol, ul, li

Object Module

object, param

Presentation Module

b, big, hr, i, small, sub, sup, tt

Edit Module

del, ins

Bidirectional Text Module

bdo

Forms Module

button, fieldset, form, input, label, legend, select, optgroup, option, textarea

Table Module

caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr

Image Module

img

Client-side Image Map Module

area, map

Server-side Image Map Module

Attribute ismap on img

Intrinsic Events Module

Events attributes

Metainformation Module

meta

Scripting Module

noscript, script

Stylesheet Module

style element

Link Module

link

Base Module

base

Style Attribute Module (Deprecated)

style attribute

Bibliography

[XHTML1.1] W3C Recommendation,http://www.w3.org/TR/xhtml11/

[XHTML1.0] W3C Recommendation,http://www.w3.org/TR/2000/REC-xhtml1-20000126/

[XHTML1.1-Modularization] W3C Recommendation http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/

[XHTML1.1-Conformance] W3C,http://www.w3.org/TR/xhtml-modularization/

Index

Valid XHTML 1.0 Strict