W3C

XHTML™ 1.0 in XML Schema

W3C Note 2 September 2002

This version:

http://www.w3.org/TR/2002/NOTE-xhtml1-schema-20020902

(HTML, XHTML)

Latest version:
http://www.w3.org/TR/xhtml1-schema
Editor:
石川 雅康 (Ishikawa Masayasu), W3C

Abstract

This document describes XML Schemas for XHTML 1.0.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.

This document is a Note made available by the World Wide Web Consortium (W3C) for your information. Publication of this Note by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members.

This document provides informative XML Schemas for XHTML 1.0 [XHTML1]. These Schemas are still work in progress, and are likely to change in future updates. This document may be updated, replaced, or obsoleted by other documents at any time. This document does not change the normative definition of XHTML 1.0. Publication of this Note does not imply endorsement by the W3C, and it is inappropriate to use this Note as reference material or to cite it as other than "for your information". A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Comments and error reports on this document may be sent to [email protected] (archive). Public discussion on this document may take place on the mailing list [email protected] (archive).

This document has been produced as part of the W3C HTML Activity. The goals of the W3C HTML Working Group (members only) are discussed in the HTML Working Group charter.

Table of Contents

1. Introduction

1.1. Purpose of this document

XHTML 1.0 [XHTML1] reformulated HTML 4 [HTML4] as an XML 1.0 [XML] application, and provided three DTDs corresponding to the ones defined by HTML 4. This document provides XML Schemas [XMLSchema] corresponding to those DTDs - Strict, Transitional and Frameset, giving users an opportunity to use XHTML 1.0 where XML Schema processing is desired. In most part, these XML Schemas are written to imitate the structure of the XHTML 1.0 DTDs as much as possible. Differences are summarized in the following section.

People who wish to extend or subset XHTML should look into Modularization of XHTML in XML Schema [XHTMLM12NSchema] instead. XML Schemas for XHTML 1.1 [XHTML11] and XHTML Basic [XHTMLBasic] will also be provided when Modularization of XHTML in XML Schema becomes stable.

1.2. Differences with DTD

There are many differences between DTD and XML Schema, but major differences that affect the validation of XHTML 1.0 documents are mentioned here.

Compared to the XHTML 1.0 DTDs, the XML Schema version provides the following benefits:

Strong datatyping

The following data types provide better validation than DTD at least partially:

Better expressive power for describing content models

The content model of the following element describes the intended constraints better than DTD:

Better namespace [XMLNS] support

XHTML 1.0 DTDs can only work when element names are not prefixed, while XML Schemas can work regardless of the prefix.

On the other hand, XML Schema does not provide the following feature:

Support for entities (e.g. for the Euro sign)

To use entities, authors have to use the DTD mechanism. See section 1.5 to use DTD and XML Schema together.

For more comparison of DTD and XML Schema, see "2.1.1. DTDs and XML Schema" of Modularization of XHTML in XML Schema [XHTMLM12NSchema].

1.3. Why XML Schema?

There are some constraints in XHTML 1.0 where DTDs cannot verify but XML Schemas can.

For example, an accesskey must be a single character, so the following usage is non-conforming:

TOC" rel="contents" href="http://example.com/contents">Table of Contents

However, in DTD the attribute value for the accesskey attribute (%Character;) is defined as CDATA, which means any character data in any length, so DTD cannot verify this error. XML Schema can flag this usage as an error.

Here's an another bogus example:

Family Name: -1" /> Given Name: +2" /> Address: three" /> ...more personal information... Personal Information

According to the spec, the tabindex attribute value must be a number between 0 and 32767, so the above usage is non-conforming, but again it's only defined as CDATA in DTD. Also, the legend element should occur as the first child of the fieldset element and only one legend element may be used, but DTD cannot express this constraint. XML Schema can enforce these constraints.

Note: Strictly speaking the legend element should only be preceded by white space, but this constraint cannot be expressed by XML Schema, either.

1.4. How to specify an XML Schema

Unlike DTD, which requires the use of the DOCTYPE declaration, XML Schemas are not required to be specified in the instance itself. However, when necessary, authors may specify an intended XML Schema through the schemaLocation attribute in the XML Schema instance namespace, typically added to the root element.

For example, if an author wishes to use the XML Schema for XHTML 1.0 Strict provided in this Note, the start tag of the html element might designate the location of the XML Schema like this:


The namespace prefix xsi may be changed to an arbitrary string. The attribute value of the xsi:schemaLocation attribute is a pair (or pairs) of URI references, one for the namespace name and one for a hint as to the location of an XML Schema. Note that this is only a hint, and different XML Schema processors might use different XML Schemas identified by other means. See "4.3.2 How schema definitions are located on the Web" of XML Schema Part 1 [XMLSchema] for details.

1.5. Using DTD and XML Schema together

DTD validation and XML Schema validation are not mutually exclusive. Sometimes authors might want to use some DTD features (e.g. entities) while taking advantage of the XML Schema validation.

Authors may include the xsi:schemaLocation attribute as described in the previous section, however, those attributes are not defined in the XHTML 1.0 DTDs, so if authors wish to use DTD and XML Schema together, those attributes must be declared in the internal DTD subset like this:


]>

  ...

For authors' convenience, non-normative XHTML 1.0 DTDs that support those attributes are available at the following URIs:

XHTML 1.0 Strict
http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd
XHTML 1.0 Transitional
http://www.w3.org/2002/08/xhtml/xhtml1-transitional.dtd
XHTML 1.0 Frameset
http://www.w3.org/2002/08/xhtml/xhtml1-frameset.dtd

With these DTDs, authors may use these attributes just like this:

http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd">

  ...


Or if authors with to use a different prefix for the XML Schema instance namespace, the prefix can be changed as follows:


]>
n1="http://www.w3.org/2001/XMLSchema-instance"
      n1:schemaLocation="http://www.w3.org/1999/xhtml
                          http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
  ...


2. XHTML 1.0 Schemas

This version of XML Schemas for XHTML 1.0 are available at the following URIs:

XHTML 1.0 Strict
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd
XHTML 1.0 Transitional
http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd
XHTML 1.0 Frameset
http://www.w3.org/2002/08/xhtml/xhtml1-frameset.xsd

2.1. XHTML 1.0 Strict




  
    
    XHTML 1.0 (Second Edition) Strict in XML Schema

    This is the same as HTML 4 Strict except for
    changes due to the differences between XML and SGML.

    Namespace = http://www.w3.org/1999/xhtml

    For further information, see: http://www.w3.org/TR/xhtml1

    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
    All Rights Reserved. 

    The DTD version is identified by the PUBLIC and SYSTEM identifiers:

    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

    $Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $
    
  

  

  
    
    ================ Character mnemonic entities =========================

    XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
  
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"

    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"

    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
    
  

  
    
    ================== Imported Names ====================================
    
  

  
    
      
      media type, as per [RFC2045]
      
    
    
  

  
    
      
      comma-separated list of media types, as per [RFC2045]
      
    
    
  

  
    
      
      a character encoding, as per [RFC2045]
      
    
    
  

  
    
      
      a space separated list of character encodings, as per [RFC2045]
      
    
    
  

  
    
      
      a language code, as per [RFC3066]
      
    
    
  

  
    
      
      a single character, as per section 2.2 of [XML]
      
    
    
      
    
  

  
    
      
      one or more digits
      
    
    
      
    
  

  
    
      
      tabindex attribute specifies the position of the current element
      in the tabbing order for the current document. This value must be
      a number between 0 and 32767. User agents should ignore leading zeros. 
      
    
    
      
      
    
  

  
    
      
      space-separated list of link types
      
    
    
  

  
    
      
      single or comma-separated list of media descriptors
      
    
    
      
    
  

  
    
      
      a Uniform Resource Identifier, see [RFC2396]
      
    
    
  

  
    
      
      a space separated list of Uniform Resource Identifiers
      
    
    
  

  
    
      
      date and time information. ISO date format
      
    
    
  

  
    
      
      script expression
      
    
    
  

  
    
      
      style sheet data
      
    
    
  

  
    
      
      used for titles etc.
      
    
    
  

  
    
      
      nn for pixels or nn% for percentage length
      
    
    
      
    
  

  
    
      
      pixel, percentage, or relative
      
    
    
      
    
  

  
    
      
      integer representing length in pixels
      
    
    
  

  
    
    these are used for image maps
    
  

  
    
      
      
      
      
    
  

  
    
      
      comma separated list of lengths
      
    
    
      
    
  

  
    
    =================== Generic Attributes ===============================
    
  

  
    
      
      core attributes common to most elements
      id       document-wide unique id
      class    space separated list of classes
      style    associated style info
      title    advisory title/amplification
      
    
    
    
    
    
  

  
    
      
      internationalization attributes
      lang        language code (backwards compatible)
      xml:lang    language code (as per XML 1.0 spec)
      dir         direction for weak/neutral text
      
    
    
    
    
      
        
          
          
        
      
    
  

  
    
      
      attributes for common UI events
      onclick     a pointer button was clicked
      ondblclick  a pointer button was double clicked
      onmousedown a pointer button was pressed down
      onmouseup   a pointer button was released
      onmousemove a pointer was moved onto the element
      onmouseout  a pointer was moved away from the element
      onkeypress  a key was pressed and released
      onkeydown   a key was pressed down
      onkeyup     a key was released
      
    
    
    
    
    
    
    
    
    
    
    
  

  
    
      
      attributes for elements that can get the focus
      accesskey   accessibility key character
      tabindex    position in tabbing order
      onfocus     the element got the focus
      onblur      the element lost the focus
      
    
    
    
    
    
  

  
    
    
    
  

  
    
    =================== Text Elements ====================================
    
  

  
    
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      these can only occur at block level
      
    
    
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      "Inline" covers inline or "text-level" elements
      
    
    
      
      
    
  

  
    
    ================== Block level elements ==============================
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
      
      
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      "Flow" mixes block and inline and is used for list items etc.
      
    
    
      
      
      
      
    
  

  
    
    ================== Content models for exclusions =====================
    
  

  
    
      
      a elements use "Inline" excluding a
      
    
    
      
      
      
      
      
    
  

  
    
      
      pre uses "Inline" excluding big, small, sup or sup
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      form uses "Block" excluding form
      
    
    
      
      
    
  

  
    
      
      button uses "Flow" but excludes a, form and form controls
      
    
    
      
      
      
      
      
      
      
      
      
      
    
  

  
    
    ================ Document Structure ==================================
    
  

  
    
      
        
        
      
      
      
    
  

  
    
    ================ Document Head =======================================
    
  

  
    
      
        
        
        
        
        
      
    
  

  
    
      
      content model is "head.misc" combined with a single
      title and an optional base element in any order
      
    
    
      
        
        
          
            
            
            
              
              
            
          
          
            
            
            
            
          
        
      
      
      
      
    
  

  
    
      
      The title element is not considered part of the flow of text.
      It should be displayed, for example as the page header or
      window title. Exactly one title is required per document.
      
    
    
      
      
    
  

  
    
      
      document base URI
      
    
    
      
      
    
  

  
    
      
      generic metainformation
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      Relationship values can be used in principle:

      a) for document specific toolbars/menus when used
         with the link element in document head e.g.
           start, contents, previous, next, index, end, help
      b) to link to a separate style sheet (rel="stylesheet")
      c) to make a link to a script (rel="script")
      d) by stylesheets to control how collections of
         html nodes are rendered into printed documents
      e) to make a link to a printable version of this document
         e.g. a PostScript or PDF version (rel="alternate" media="print")
      
    
    
      
      
      
      
      
      
      
      
    
  

  
    
      
      style info, which may include CDATA sections
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      script statements, which may include CDATA sections
      
    
    
      
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      alternate content container for non script-based rendering
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Document Body ====================================
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
      
      generic language/style container      
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Paragraphs =======================================
    
  

  
    
      
        
          
        
      
    
  

  
    
    =================== Headings =========================================

    There are six levels of headings from h1 (the most important)
    to h6 (the least important).
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
    =================== Lists ============================================
    
  

  
    
      
      Unordered list
      
    
    
      
        
      
      
    
  

  
    
      
      Ordered (numbered) list
      
    
    
      
        
      
      
    
  

  
    
      
      list item
      
    
    
      
        
          
        
      
    
  

  
    
    definition lists - dt for term, dd for its definition
    
  

  
    
      
        
        
      
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
    =================== Address ==========================================
    
  

  
    
      
      information on author
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Horizontal Rule ==================================
    
  

  
    
      
    
  

  
    
    =================== Preformatted Text ================================
    
  

  
    
      
      content is "Inline" excluding "img|object|big|small|sub|sup"
      
    
    
      
        
           
           
        
      
    
  

  
    
    =================== Block-like Quotes ================================
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Inserted/Deleted Text ============================

    ins/del are allowed in block and inline content, but its
    inappropriate to include block content within an ins element
    occurring in inline content.
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
    ================== The Anchor Element ================================
    
  

  
    
      
      content is "Inline" except that anchors shouldn't be nested
      
    
    
      
        
          
          
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
    ===================== Inline Elements ================================
    
  

  
    
      
      generic language/style container
      
    
    
      
        
          
        
      
    
  

  
    
      
      I18N BiDi over-ride
      
    
    
      
        
          
          
          
          
          
            
              
                
                
              
            
          
        
      
    
  

  
    
      
      forced line break
      
    
    
      
    
  

  
    
      
      emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      strong emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      definitional
      
    
    
      
        
          
        
      
    
  

  
    
      
      program code
      
    
    
      
        
          
        
      
    
  

  
    
      
      sample
      
    
    
      
        
          
        
      
    
  

  
    
      
      something user would type
      
    
    
      
        
          
        
      
    
  

  
    
      
      variable
      
    
    
      
        
          
        
      
    
  

  
    
      
      citation
      
    
    
      
        
          
        
      
    
  

  
    
      
      abbreviation
      
    
    
      
        
          
        
      
    
  

  
    
      
      acronym
      
    
    
      
        
          
        
      
    
  

  
    
      
      inlined quote
      
    
    
      
        
          
          
        
      
    
  

  
    
      
      subscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      superscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      fixed pitch font
      
    
    
      
        
          
        
      
    
  

  
    
      
      italic font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bold font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bigger font
      
    
    
      
        
          
        
      
    
  

  
    
      
      smaller font
      
    
    
      
        
          
        
      
    
  

  
    
    ==================== Object ======================================

    object is used to embed objects as part of HTML pages.
    param elements should precede other content. Parameters
    can also be expressed as attribute/value pairs on the
    object element itself when brevity is desired.
    
  

  
    
      
        
        
        
        
        
      
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      param is used to supply a named property value.
      In XML it would seem natural to follow RDF and support an
      abbreviated syntax where the param elements are replaced
      by attribute value pairs on the object start tag.
      
    
    
      
      
      
      
        
          
            
            
            
          
        
      
      
    
  

  
    
    =================== Images ===========================================

    To avoid accessibility problems for people who aren't
    able to see the image, you should provide a text
    description using the alt and longdesc attributes.
    In addition, avoid the use of server-side image maps.
    Note that in this DTD there is no name attribute. That
    is only available in the transitional and frameset DTD.
    
  

  
    
      
      
      
      
      
      
      
  
    
          usemap points to a map element which may be in this document
          or an external document, although the latter is not widely supported
          
  
      
      
        
          
            
          
        
      
    
  

  
    
    ================== Client-side image maps ============================

    These can be placed in the same document or grouped in a
    separate document although this isn't yet widely supported
    
  

  
    
      
        
          
          
          
        
        
      
      
      
      
      
      
      
      
    
  

  
    
        
      
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
    ================ Forms ===============================================
    
  

  
    
      
        
          
          
          
            
              
                
                
              
            
          
          
          
          
          
          
        
      
    
  

  
    
      
      Each label must not contain more than ONE field
      Label elements shouldn't be nested.
      
    
    
      
        
          
          
          
          
          
        
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      form control
      
    
    
      
      
      
      
  
    
          the name attribute is required for all but submit & reset
          
  
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      option selector
      
    
    
      
        
        
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
    
  

  
    
      
      option group
      
    
    
      
        
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      selectable choice
      
    
    
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      multi-line text field
      
    
    
      
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      The fieldset element is used to group form fields.
      Only one legend element should occur in the content
      and if present should only be preceded by whitespace.

      NOTE: this content model is different from the XHTML 1.0 DTD,
      closer to the intended content model in HTML4 DTD
      
    
    
      
        
        
          
          
          
          
        
      
      
    
  

  
    
      
      fieldset label
      
    
    
      
        
          
          
        
      
    
  

  
    
      
      Content is "Flow" excluding a, form and form controls
      
    
    
      
        
          
          
          
          
          
            
              
                
                
                
              
            
          
          
            
              
                
              
            
          
        
      
    
  

  
    
    ======================= Tables =======================================

    Derived from IETF HTML table standard, see [RFC1942]
    
  

  
    
      
      The border attribute sets the thickness of the frame around the
      table. The default units are screen pixels.

      The frame attribute specifies which parts of the frame around
      the table should be rendered. The values are not the same as
      CALS to avoid a name clash with the valign attribute.
      
    
    
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      The rules attribute defines which rules to draw between cells:

      If rules is absent then assume:
          "none" if border is absent or border="0" otherwise "all"
      
    
    
      
      
      
      
      
    
  

  
    
      
      horizontal alignment attributes for cell contents

      char        alignment char, e.g. char=':'
      charoff     offset for alignment char
      
    
    
      
        
          
          
          
          
          
        
      
    
    
    
  

  
    
      
      vertical alignment attributes for cell contents
      
    
    
      
        
          
          
          
          
        
      
    
  

  
    
      
        
        
          
          
        
        
        
        
          
          
        
      
      
      
      
      
      
      
      
      
    
  

  
    
      
        
          
        
      
    
  

  
    
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
      colgroup groups a set of col elements. It allows you to group
      several semantically related columns together.
      
    
    
      
        
      
      
      
      
      
      
    
  

  
    
      
      col elements define the alignment properties for cells in
      one or more columns.

      The width attribute specifies the width of the columns, e.g.

          width=64        width in screen pixels
          width=0.5*      relative width of 0.5

      The span attribute causes the attributes of one
      col element to apply to more than one column.
      
    
    
      
      
      
      
      
    
  

  
    
      
        
        
      
      
      
      
    
  

  
    
      
      Scope is simpler than headers attribute for common tables
      
    
    
      
      
      
      
    
  

  
    
    th is for headers, td for data and for cells acting as both
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
        
      
    
  


2.2. XHTML 1.0 Transitional




  
    
    XHTML 1.0 (Second Edition) Transitional in XML Schema

    This is the same as HTML 4 Transitional except for
    changes due to the differences between XML and SGML.

    Namespace = http://www.w3.org/1999/xhtml

    For further information, see: http://www.w3.org/TR/xhtml1

    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
    All Rights Reserved. 

    The DTD version is identified by the PUBLIC and SYSTEM identifiers:

    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

    $Id: xhtml1-transitional.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp $
    
  

  

  
    
    ================ Character mnemonic entities =========================

    XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
  
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"

    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"

    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
    
  

  
    
    ================== Imported Names ====================================
    
  

  
    
      
      media type, as per [RFC2045]
      
    
    
  

  
    
      
      comma-separated list of media types, as per [RFC2045]
      
    
    
  

  
    
      
      a character encoding, as per [RFC2045]
      
    
    
  

  
    
      
      a space separated list of character encodings, as per [RFC2045]
      
    
    
  

  
    
      
      a language code, as per [RFC3066]
      
    
    
  

  
    
      
      a single character, as per section 2.2 of [XML]
      
    
    
      
    
  

  
    
      
      one or more digits
      
    
    
      
    
  

  
    
      
      tabindex attribute specifies the position of the current element
      in the tabbing order for the current document. This value must be
      a number between 0 and 32767. User agents should ignore leading zeros. 
      
    
    
      
      
    
  

  
    
      
      space-separated list of link types
      
    
    
  

  
    
      
      single or comma-separated list of media descriptors
      
    
    
      
    
  

  
    
      
      a Uniform Resource Identifier, see [RFC2396]
      
    
    
  

  
    
      
      a space separated list of Uniform Resource Identifiers
      
    
    
  

  
    
      
      date and time information. ISO date format
      
    
    
  

  
    
      
      script expression
      
    
    
  

  
    
      
      style sheet data
      
    
    
  

  
    
      
      used for titles etc.
      
    
    
  

  
    
      
      render in this frame
      
    
    
      
    
  

  
    
      
      nn for pixels or nn% for percentage length
      
    
    
      
    
  

  
    
      
      pixel, percentage, or relative
      
    
    
      
    
  

  
    
      
      integer representing length in pixels
      
    
    
  

  
    
    these are used for image maps
    
  

  
    
      
      
      
      
    
  

  
    
      
      comma separated list of lengths
      
    
    
      
    
  

  
    
      
      used for object, applet, img, input and iframe
      
    
    
      
      
      
      
      
    
  

  
    
      
      a color using sRGB: #RRGGBB as Hex values

      There are also 16 widely known color names with their sRGB values:

      Black  = #000000    Green  = #008000
      Silver = #C0C0C0    Lime   = #00FF00
      Gray   = #808080    Olive  = #808000
      White  = #FFFFFF    Yellow = #FFFF00
      Maroon = #800000    Navy   = #000080
      Red    = #FF0000    Blue   = #0000FF
      Purple = #800080    Teal   = #008080
      Fuchsia= #FF00FF    Aqua   = #00FFFF
      
    
    
      
    
  

  
    
    =================== Generic Attributes ===============================
    
  

  
    
      
      core attributes common to most elements
      id       document-wide unique id
      class    space separated list of classes
      style    associated style info
      title    advisory title/amplification
      
    
    
    
    
    
  

  
    
      
      internationalization attributes
      lang        language code (backwards compatible)
      xml:lang    language code (as per XML 1.0 spec)
      dir         direction for weak/neutral text
      
    
    
    
    
      
        
          
          
        
      
    
  

  
    
      
      attributes for common UI events
      onclick     a pointer button was clicked
      ondblclick  a pointer button was double clicked
      onmousedown a pointer button was pressed down
      onmouseup   a pointer button was released
      onmousemove a pointer was moved onto the element
      onmouseout  a pointer was moved away from the element
      onkeypress  a key was pressed and released
      onkeydown   a key was pressed down
      onkeyup     a key was released
      
    
    
    
    
    
    
    
    
    
    
    
  

  
    
      
      attributes for elements that can get the focus
      accesskey   accessibility key character
      tabindex    position in tabbing order
      onfocus     the element got the focus
      onblur      the element lost the focus
      
    
    
    
    
    
  

  
    
    
    
  

  
    
      
      text alignment for p, div, h1-h6. The default is
      align="left" for ltr headings, "right" for rtl
      
    
    
      
        
          
          
          
          
        
      
    
  

  
    
    =================== Text Elements ====================================
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      these can only occur at block level
      
    
    
      
      
      
    
  

  
    
      
      these can only occur at block level
      
    
    
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      "Inline" covers inline or "text-level" element
      
    
    
      
      
    
  

  
    
    ================== Block level elements ==============================
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
      
      
    
  

  
    
      
      "Flow" mixes block and inline and is used for list items etc.
      
    
    
      
      
      
      
    
  

  
    
    ================== Content models for exclusions =====================
    
  

  
    
      
      a elements use "Inline" excluding a
      
    
    
      
      
      
      
      
    
  

  
    
      
      pre uses "Inline" excluding img, object, applet, big, small,
      font, or basefont
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      form uses "Flow" excluding form
      
    
    
      
      
      
    
  

  
    
      
      button uses "Flow" but excludes a, form, form controls, iframe
      
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
    ================ Document Structure ==================================
    
  

  
    
      
        
        
      
      
      
    
  

  
    
    ================ Document Head =======================================
    
  

  
    
      
        
        
        
        
        
        
      
    
  

  
    
      
      content model is "head.misc" combined with a single
      title and an optional base element in any order
      
    
    
      
        
        
          
            
            
            
              
              
            
          
          
            
            
            
            
          
        
      
      
      
      
    
  

  
    
      
      The title element is not considered part of the flow of text.
      It should be displayed, for example as the page header or
      window title. Exactly one title is required per document.
      
    
    
      
      
    
  

  
    
      
      document base URI
      
    
    
      
      
      
    
  

  
    
      
      generic metainformation
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      Relationship values can be used in principle:

      a) for document specific toolbars/menus when used
         with the link element in document head e.g.
           start, contents, previous, next, index, end, help
      b) to link to a separate style sheet (rel="stylesheet")
      c) to make a link to a script (rel="script")
      d) by stylesheets to control how collections of
         html nodes are rendered into printed documents
      e) to make a link to a printable version of this document
         e.g. a PostScript or PDF version (rel="alternate" media="print")
      
    
    
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      style info, which may include CDATA sections
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      script statements, which may include CDATA sections
      
    
    
      
      
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      alternate content container for non script-based rendering
      
    
    
      
        
          
        
      
    
  

  
    
    ======================= Frames =======================================
    
  

  
    
      
      inline subwindow
      
    
    
      
        
          
          
          
          
          
            
              
                
                
              
            
          
          
          
          
            
              
                
                
                
              
            
          
          
          
          
        
      
    
  

  
    
      
      alternate content container for non frame-based rendering
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Document Body ====================================
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
      
      generic language/style container      
      
    
    
      
        
          
          
        
      
    
  

  
    
    =================== Paragraphs =======================================
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Headings =========================================

    There are six levels of headings from h1 (the most important)
    to h6 (the least important).
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Lists ============================================
    
  

  
    
      
      Unordered list bullet styles
      
    
    
      
      
      
    
  

  
    
      
      Unordered list
      
    
    
      
        
      
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      Ordered list numbering style

      1   arabic numbers      1, 2, 3, ...
      a   lower alpha         a, b, c, ...
      A   upper alpha         A, B, C, ...
      i   lower roman         i, ii, iii, ...
      I   upper roman         I, II, III, ...

      The style is applied to the sequence number which by default
      is reset to 1 for the first list item in an ordered list.
      
    
    
  

  
    
      
      Ordered (numbered) list
      
    
    
      
        
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      single column list (DEPRECATED)
      
    
    
      
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      multiple column list (DEPRECATED)
      
    
    
      
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      LIStyle is constrained to: "(ULStyle|OLStyle)"
      
    
    
  

  
    
      
      list item
      
    
    
      
        
          
          
          
        
      
    
  

  
    
    definition lists - dt for term, dd for its definition
    
  

  
    
      
        
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
    =================== Address ==========================================
    
  

  
    
      
      information on author
      
    
    
      
        
        
        
      
      
    
  

  
    
    =================== Horizontal Rule ==================================
    
  

  
    
      
      
        
          
            
            
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
    =================== Preformatted Text ================================
    
  

  
    
      
      content is "Inline" excluding 
         "img|object|applet|big|small|sub|sup|font|basefont"
      
    
    
      
        
          
          
          
        
      
    
  

  
    
    =================== Block-like Quotes ================================
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Text alignment ===================================
    
  

  
    
      
      center content
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Inserted/Deleted Text ============================

    ins/del are allowed in block and inline content, but its
    inappropriate to include block content within an ins element
    occurring in inline content.
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
    ================== The Anchor Element ================================
    
  

  
    
      
      content is "Inline" except that anchors shouldn't be nested
      
    
    
      
        
          
          
          
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
    ===================== Inline Elements ================================
    
  

  
    
      
      generic language/style container
      
    
    
      
        
          
        
      
    
  

  
    
      
      I18N BiDi over-ride
      
    
    
      
        
          
          
          
          
          
            
              
                
                
              
            
          
        
      
    
  

  
    
      
      forced line break
      
    
    
      
      
        
          
            
            
            
            
          
        
      
    
  

  
    
      
      emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      strong emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      definitional
      
    
    
      
        
          
        
      
    
  

  
    
      
      program code
      
    
    
      
        
          
        
      
    
  

  
    
      
      sample
      
    
    
      
        
          
        
      
    
  

  
    
      
      something user would type
      
    
    
      
        
          
        
      
    
  

  
    
      
      variable
      
    
    
      
        
          
        
      
    
  

  
    
      
      citation
      
    
    
      
        
          
        
      
    
  

  
    
      
      abbreviation
      
    
    
      
        
          
        
      
    
  

  
    
      
      acronym
      
    
    
      
        
          
        
      
    
  

  
    
      
      inlined quote
      
    
    
      
        
          
          
        
      
    
  

  
    
      
      subscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      superscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      fixed pitch font
      
    
    
      
        
          
        
      
    
  

  
    
      
      italic font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bold font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bigger font
      
    
    
      
        
          
        
      
    
  

  
    
      
      smaller font
      
    
    
      
        
          
        
      
    
  

  
    
      
      underline
      
    
    
      
        
          
        
      
    
  

  
    
      
      strike-through
      
    
    
      
        
          
        
      
    
  

  
    
      
      strike-through
      
    
    
      
        
          
        
      
    
  

  
    
      
      base font size
      
    
    
      
      
      
      
    
  

  
    
      
      local change to font
      
    
    
      
        
          
          
          
          
          
        
      
    
  

  
    
    ==================== Object ======================================

    object is used to embed objects as part of HTML pages.
    param elements should precede other content. Parameters
    can also be expressed as attribute/value pairs on the
    object element itself when brevity is desired.
    
  

  
    
      
        
        
        
        
        
      
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      param is used to supply a named property value.
      In XML it would seem natural to follow RDF and support an
      abbreviated syntax where the param elements are replaced
      by attribute value pairs on the object start tag.
      
    
    
      
      
      
      
        
          
            
            
            
          
        
      
      
    
  

  
    
    =================== Java applet ==================================

    One of code or object attributes must be present.
    Place param elements before other content.
    
  

  
    
      
        
        
        
        
        
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
    =================== Images ===========================================

    To avoid accessibility problems for people who aren't
    able to see the image, you should provide a text
    description using the alt and longdesc attributes.
    In addition, avoid the use of server-side image maps.
    
  

  
    
      
      
      
      
      
      
      
      
  
    
          usemap points to a map element which may be in this document
          or an external document, although the latter is not widely supported
          
  
      
      
        
          
            
          
        
      
      
      
      
      
    
  

  
    
    ================== Client-side image maps ============================

    These can be placed in the same document or grouped in a
    separate document although this isn't yet widely supported
    
  

  
    
      
        
          
          
          
        
        
      
      
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
        
          
            
          
        
      
      
      
    
  

  
    
    ================ Forms ===============================================
    
  

  
    
      
        
          
          
          
            
              
                
                
              
            
          
          
          
          
          
          
          
        
      
    
  

  
    
      
      Each label must not contain more than ONE field
      Label elements shouldn't be nested.
      
    
    
      
        
          
          
          
          
          
        
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      form control
      
    
    
      
      
      
      
  
    
          the name attribute is required for all but submit & reset
          
  
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      option selector
      
    
    
      
        
        
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
    
  

  
    
      
      option group
      
    
    
      
        
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      selectable choice
      
    
    
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      multi-line text field
      
    
    
      
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      The fieldset element is used to group form fields.
      Only one legend element should occur in the content
      and if present should only be preceded by whitespace.

      NOTE: this content model is different from the XHTML 1.0 DTD,
      closer to the intended content model in HTML4 DTD
      
    
    
      
        
        
          
          
          
          
        
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
      fieldset label
      
    
    
      
        
          
          
          
        
      
    
  

  
    
      
      Content is "Flow" excluding a, form and form controls
      
    
    
      
        
          
          
          
          
          
            
              
                
                
                
              
            
          
          
            
              
                
              
            
          
        
      
    
  

  
    
      
      single-line text input control (DEPRECATED)
      
    
    
      
      
      
    
  

  
    
    ======================= Tables =======================================

    Derived from IETF HTML table standard, see [RFC1942]
    
  

  
    
      
      The border attribute sets the thickness of the frame around the
      table. The default units are screen pixels.

      The frame attribute specifies which parts of the frame around
      the table should be rendered. The values are not the same as
      CALS to avoid a name clash with the valign attribute.
      
    
    
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      The rules attribute defines which rules to draw between cells:

      If rules is absent then assume:
          "none" if border is absent or border="0" otherwise "all"
      
    
    
      
      
      
      
      
    
  

  
    
      
      horizontal placement of table relative to document
      
    
    
      
      
      
    
  

  
    
      
      horizontal alignment attributes for cell contents

      char        alignment char, e.g. char=':'
      charoff     offset for alignment char
      
    
    
      
        
          
          
          
          
          
        
      
    
    
    
  

  
    
      
      vertical alignment attributes for cell contents
      
    
    
      
        
          
          
          
          
        
      
    
  

  
    
      
        
        
          
          
        
        
        
        
          
          
        
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
      colgroup groups a set of col elements. It allows you to group
      several semantically related columns together.
      
    
    
      
        
      
      
      
      
      
      
    
  

  
    
      
      col elements define the alignment properties for cells in
      one or more columns.

      The width attribute specifies the width of the columns, e.g.

          width=64        width in screen pixels
          width=0.5*      relative width of 0.5

      The span attribute causes the attributes of one
      col element to apply to more than one column.
      
    
    
      
      
      
      
      
    
  

  
    
      
        
        
      
      
      
      
      
    
  

  
    
      
      Scope is simpler than headers attribute for common tables
      
    
    
      
      
      
      
    
  

  
    
    th is for headers, td for data and for cells acting as both
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
          
            
              
                
              
            
          
          
          
          
        
      
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
          
            
              
                
              
            
          
          
          
          
        
      
    
  


2.3. XHTML 1.0 Frameset




  
    
    XHTML 1.0 (Second Edition) Frameset in XML Schema

    This is the same as HTML 4 Frameset except for
    changes due to the differences between XML and SGML.

    Namespace = http://www.w3.org/1999/xhtml

    For further information, see: http://www.w3.org/TR/xhtml1

    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
    All Rights Reserved. 

    The DTD version is identified by the PUBLIC and SYSTEM identifiers:

    PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"

    $Id: xhtml1-frameset.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp $
    
  

  

  
    
    ================ Character mnemonic entities =========================

    XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
  
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"

    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"

    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
    
  

  
    
    ================== Imported Names ====================================
    
  

  
    
      
      media type, as per [RFC2045]
      
    
    
  

  
    
      
      comma-separated list of media types, as per [RFC2045]
      
    
    
  

  
    
      
      a character encoding, as per [RFC2045]
      
    
    
  

  
    
      
      a space separated list of character encodings, as per [RFC2045]
      
    
    
  

  
    
      
      a language code, as per [RFC3066]
      
    
    
  

  
    
      
      a single character, as per section 2.2 of [XML]
      
    
    
      
    
  

  
    
      
      one or more digits
      
    
    
      
    
  

  
    
      
      tabindex attribute specifies the position of the current element
      in the tabbing order for the current document. This value must be
      a number between 0 and 32767. User agents should ignore leading zeros. 
      
    
    
      
      
    
  

  
    
      
      space-separated list of link types
      
    
    
  

  
    
      
      single or comma-separated list of media descriptors
      
    
    
      
    
  

  
    
      
      a Uniform Resource Identifier, see [RFC2396]
      
    
    
  

  
    
      
      a space separated list of Uniform Resource Identifiers
      
    
    
  

  
    
      
      date and time information. ISO date format
      
    
    
  

  
    
      
      script expression
      
    
    
  

  
    
      
      style sheet data
      
    
    
  

  
    
      
      used for titles etc.
      
    
    
  

  
    
      
      render in this frame
      
    
    
      
    
  

  
    
      
      nn for pixels or nn% for percentage length
      
    
    
      
    
  

  
    
      
      pixel, percentage, or relative
      
    
    
      
    
  

  
    
      
      comma-separated list of MultiLength
      
    
    
      
    
  

  
    
      
      integer representing length in pixels
      
    
    
  

  
    
    these are used for image maps
    
  

  
    
      
      
      
      
    
  

  
    
      
      comma separated list of lengths
      
    
    
      
    
  

  
    
      
      used for object, applet, img, input and iframe
      
    
    
      
      
      
      
      
    
  

  
    
      
      a color using sRGB: #RRGGBB as Hex values

      There are also 16 widely known color names with their sRGB values:

      Black  = #000000    Green  = #008000
      Silver = #C0C0C0    Lime   = #00FF00
      Gray   = #808080    Olive  = #808000
      White  = #FFFFFF    Yellow = #FFFF00
      Maroon = #800000    Navy   = #000080
      Red    = #FF0000    Blue   = #0000FF
      Purple = #800080    Teal   = #008080
      Fuchsia= #FF00FF    Aqua   = #00FFFF
      
    
    
      
    
  

  
    
    =================== Generic Attributes ===============================
    
  

  
    
      
      core attributes common to most elements
      id       document-wide unique id
      class    space separated list of classes
      style    associated style info
      title    advisory title/amplification
      
    
    
    
    
    
  

  
    
      
      internationalization attributes
      lang        language code (backwards compatible)
      xml:lang    language code (as per XML 1.0 spec)
      dir         direction for weak/neutral text
      
    
    
    
    
      
        
          
          
        
      
    
  

  
    
      
      attributes for common UI events
      onclick     a pointer button was clicked
      ondblclick  a pointer button was double clicked
      onmousedown a pointer button was pressed down
      onmouseup   a pointer button was released
      onmousemove a pointer was moved onto the element
      onmouseout  a pointer was moved away from the element
      onkeypress  a key was pressed and released
      onkeydown   a key was pressed down
      onkeyup     a key was released
      
    
    
    
    
    
    
    
    
    
    
    
  

  
    
      
      attributes for elements that can get the focus
      accesskey   accessibility key character
      tabindex    position in tabbing order
      onfocus     the element got the focus
      onblur      the element lost the focus
      
    
    
    
    
    
  

  
    
    
    
  

  
    
      
      text alignment for p, div, h1-h6. The default is
      align="left" for ltr headings, "right" for rtl
      
    
    
      
        
          
          
          
          
        
      
    
  

  
    
    =================== Text Elements ====================================
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      these can only occur at block level
      
    
    
      
      
      
    
  

  
    
      
      these can only occur at block level
      
    
    
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      "Inline" covers inline or "text-level" element
      
    
    
      
      
    
  

  
    
    ================== Block level elements ==============================
    
  

  
    
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
      
      
    
  

  
    
      
      "Flow" mixes block and inline and is used for list items etc.
      
    
    
      
      
      
      
    
  

  
    
    ================== Content models for exclusions =====================
    
  

  
    
      
      a elements use "Inline" excluding a
      
    
    
      
      
      
      
      
    
  

  
    
      
      pre uses "Inline" excluding img, object, applet, big, small,
      sub, sup, font, or basefont
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      form uses "Flow" excluding form
      
    
    
      
      
      
    
  

  
    
      
      button uses "Flow" but excludes a, form, form controls, iframe
      
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
    ================ Document Structure ==================================
    
  

  
    
      
        
        
      
      
      
    
  

  
    
    ================ Document Head =======================================
    
  

  
    
      
        
        
        
        
        
        
      
    
  

  
    
      
      content model is "head.misc" combined with a single
      title and an optional base element in any order
      
    
    
      
        
        
          
            
            
            
              
              
            
          
          
            
            
            
            
          
        
      
      
      
      
    
  

  
    
      
      The title element is not considered part of the flow of text.
      It should be displayed, for example as the page header or
      window title. Exactly one title is required per document.
      
    
    
      
      
    
  

  
    
      
      document base URI
      
    
    
      
      
      
    
  

  
    
      
      generic metainformation
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      Relationship values can be used in principle:

      a) for document specific toolbars/menus when used
         with the link element in document head e.g.
           start, contents, previous, next, index, end, help
      b) to link to a separate style sheet (rel="stylesheet")
      c) to make a link to a script (rel="script")
      d) by stylesheets to control how collections of
         html nodes are rendered into printed documents
      e) to make a link to a printable version of this document
         e.g. a PostScript or PDF version (rel="alternate" media="print")
      
    
    
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      style info, which may include CDATA sections
      
    
    
      
      
      
      
      
      
    
  

  
    
      
      script statements, which may include CDATA sections
      
    
    
      
      
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      alternate content container for non script-based rendering
      
    
    
      
        
          
        
      
    
  

  
    
    ======================= Frames =======================================
    
  

  
    
      
      only one noframes element permitted per document
      
    
    
      
        
        
        
      
      
      
      
      
      
    
  

  
    
    reserved frame names start with "_" otherwise starts with letter
    
  

  
    
      
      tiled window within frameset
      
    
    
      
      
      
      
      
        
          
            
            
          
        
      
      
      
      
        
          
            
          
        
      
      
        
          
            
            
            
          
        
      
    
  

  
    
      
      inline subwindow
      
    
    
      
        
          
          
          
          
          
            
              
                
                
              
            
          
          
          
          
            
              
                
                
                
              
            
          
          
          
          
        
      
    
  


  
    
      
      alternate content container for non frame-based rendering
      
    
    
      
        
      
      
    
  

  
    
    =================== Document Body ====================================
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
      
      generic language/style container      
      
    
    
      
        
          
          
        
      
    
  

  
    
    =================== Paragraphs =======================================
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Headings =========================================

    There are six levels of headings from h1 (the most important)
    to h6 (the least important).
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Lists ============================================
    
  

  
    
      
      Unordered list bullet styles
      
    
    
      
      
      
    
  

  
    
      
      Unordered list
      
    
    
      
        
      
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      Ordered list numbering style

      1   arabic numbers      1, 2, 3, ...
      a   lower alpha         a, b, c, ...
      A   upper alpha         A, B, C, ...
      i   lower roman         i, ii, iii, ...
      I   upper roman         I, II, III, ...

      The style is applied to the sequence number which by default
      is reset to 1 for the first list item in an ordered list.
      
    
    
  

  
    
      
      Ordered (numbered) list
      
    
    
      
        
      
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      single column list (DEPRECATED)
      
    
    
      
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      multiple column list (DEPRECATED)
      
    
    
      
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
      LIStyle is constrained to: "(ULStyle|OLStyle)"
      
    
    
  

  
    
      
      list item
      
    
    
      
        
          
          
          
        
      
    
  

  
    
    definition lists - dt for term, dd for its definition
    
  

  
    
      
        
        
      
      
      
        
          
            
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
      
        
          
        
      
    
  

  
    
    =================== Address ==========================================
    
  

  
    
      
      information on author
      
    
    
      
        
        
        
      
      
    
  

  
    
    =================== Horizontal Rule ==================================
    
  

  
    
      
      
        
          
            
            
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
    =================== Preformatted Text ================================
    
  

  
    
      
      content is "Inline" excluding 
         "img|object|applet|big|small|sub|sup|font|basefont"
      
    
    
      
        
          
          
          
        
      
    
  

  
    
    =================== Block-like Quotes ================================
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    =================== Text alignment ===================================
    
  

  
    
      
      center content
      
    
    
      
        
          
        
      
    
  

  
    
    =================== Inserted/Deleted Text ============================

    ins/del are allowed in block and inline content, but its
    inappropriate to include block content within an ins element
    occurring in inline content.
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
      
        
          
          
          
        
      
    
  

  
    
    ================== The Anchor Element ================================
    
  

  
    
      
      content is "Inline" except that anchors shouldn't be nested
      
    
    
      
        
          
          
          
          
          
          
          
          
          
          
          
          
        
      
    
  

  
    
    ===================== Inline Elements ================================
    
  

  
    
      
      generic language/style container
      
    
    
      
        
          
        
      
    
  

  
    
      
      I18N BiDi over-ride
      
    
    
      
        
          
          
          
          
          
            
              
                
                
              
            
          
        
      
    
  

  
    
      
      forced line break
      
    
    
      
      
        
          
            
            
            
            
          
        
      
    
  

  
    
      
      emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      strong emphasis
      
    
    
      
        
          
        
      
    
  

  
    
      
      definitional
      
    
    
      
        
          
        
      
    
  

  
    
      
      program code
      
    
    
      
        
          
        
      
    
  

  
    
      
      sample
      
    
    
      
        
          
        
      
    
  

  
    
      
      something user would type
      
    
    
      
        
          
        
      
    
  

  
    
      
      variable
      
    
    
      
        
          
        
      
    
  

  
    
      
      citation
      
    
    
      
        
          
        
      
    
  

  
    
      
      abbreviation
      
    
    
      
        
          
        
      
    
  

  
    
      
      acronym
      
    
    
      
        
          
        
      
    
  

  
    
      
      inlined quote
      
    
    
      
        
          
          
        
      
    
  

  
    
      
      subscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      superscript
      
    
    
      
        
          
        
      
    
  

  
    
      
      fixed pitch font
      
    
    
      
        
          
        
      
    
  

  
    
      
      italic font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bold font
      
    
    
      
        
          
        
      
    
  

  
    
      
      bigger font
      
    
    
      
        
          
        
      
    
  

  
    
      
      smaller font
      
    
    
      
        
          
        
      
    
  

  
    
      
      underline
      
    
    
      
        
          
        
      
    
  

  
    
      
      strike-through
      
    
    
      
        
          
        
      
    
  

  
    
      
      strike-through
      
    
    
      
        
          
        
      
    
  

  
    
      
      base font size
      
    
    
      
      
      
      
    
  

  
    
      
      local change to font
      
    
    
      
        
          
          
          
          
          
        
      
    
  

  
    
    ==================== Object ======================================

    object is used to embed objects as part of HTML pages.
    param elements should precede other content. Parameters
    can also be expressed as attribute/value pairs on the
    object element itself when brevity is desired.
    
  

  
    
      
        
        
        
        
        
      
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      param is used to supply a named property value.
      In XML it would seem natural to follow RDF and support an
      abbreviated syntax where the param elements are replaced
      by attribute value pairs on the object start tag.
      
    
    
      
      
      
      
        
          
            
            
            
          
        
      
      
    
  

  
    
    =================== Java applet ==================================

    One of code or object attributes must be present.
    Place param elements before other content.
    
  

  
    
      
        
        
        
        
        
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
    =================== Images ===========================================

    To avoid accessibility problems for people who aren't
    able to see the image, you should provide a text
    description using the alt and longdesc attributes.
    In addition, avoid the use of server-side image maps.
    
  

  
    
      
      
      
      
      
      
      
      
  
    
          usemap points to a map element which may be in this document
          or an external document, although the latter is not widely supported
          
  
      
      
        
          
            
          
        
      
      
      
      
      
    
  

  
    
    ================== Client-side image maps ============================

    These can be placed in the same document or grouped in a
    separate document although this isn't yet widely supported
    
  

  
    
      
        
          
          
          
        
        
      
      
      
      
      
      
      
      
    
  

  
    
      
      
      
      
      
      
        
          
            
          
        
      
      
      
    
  

  
    
    ================ Forms ===============================================
    
  

  
    
      
        
          
          
          
            
              
                
                
              
            
          
          
          
          
          
          
          
        
      
    
  

  
    
      
      Each label must not contain more than ONE field
      Label elements shouldn't be nested.
      
    
    
      
        
          
          
          
          
          
        
      
    
  

  
    
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      form control
      
    
    
      
      
      
      
  
    
          the name attribute is required for all but submit & reset
          
  
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      option selector
      
    
    
      
        
        
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
      
      
    
  

  
    
      
      option group
      
    
    
      
        
      
      
      
        
          
            
          
        
      
      
    
  

  
    
      
      selectable choice
      
    
    
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      multi-line text field
      
    
    
      
      
      
      
      
      
        
          
            
          
        
      
      
        
          
            
          
        
      
      
      
    
  

  
    
      
      The fieldset element is used to group form fields.
      Only one legend element should occur in the content
      and if present should only be preceded by whitespace.

      NOTE: this content model is different from the XHTML 1.0 DTD,
      closer to the intended content model in HTML4 DTD
      
    
    
      
        
        
          
          
          
          
        
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
      fieldset label
      
    
    
      
        
          
          
          
        
      
    
  

  
    
      
      Content is "Flow" excluding a, form and form controls
      
    
    
      
        
          
          
          
          
          
            
              
                
                
                
              
            
          
          
            
              
                
              
            
          
        
      
    
  

  
    
      
      single-line text input control (DEPRECATED)
      
    
    
      
      
      
    
  

  
    
    ======================= Tables =======================================

    Derived from IETF HTML table standard, see [RFC1942]
    
  

  
    
      
      The border attribute sets the thickness of the frame around the
      table. The default units are screen pixels.

      The frame attribute specifies which parts of the frame around
      the table should be rendered. The values are not the same as
      CALS to avoid a name clash with the valign attribute.
      
    
    
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      The rules attribute defines which rules to draw between cells:

      If rules is absent then assume:
          "none" if border is absent or border="0" otherwise "all"
      
    
    
      
      
      
      
      
    
  

  
    
      
      horizontal placement of table relative to document
      
    
    
      
      
      
    
  

  
    
      
      horizontal alignment attributes for cell contents

      char        alignment char, e.g. char=":"
      charoff     offset for alignment char
      
    
    
      
        
          
          
          
          
          
        
      
    
    
    
  

  
    
      
      vertical alignment attributes for cell contents
      
    
    
      
        
          
          
          
          
        
      
    
  

  
    
      
        
        
          
          
        
        
        
        
          
          
        
      
      
      
      
      
      
      
      
      
      
      
    
  

  
    
      
      
      
      
    
  

  
    
      
        
          
          
        
      
    
  

  
    
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
        
      
      
      
      
    
  

  
    
      
      colgroup groups a set of col elements. It allows you to group
      several semantically related columns together.
      
    
    
      
        
      
      
      
      
      
      
    
  

  
    
      
      col elements define the alignment properties for cells in
      one or more columns.

      The width attribute specifies the width of the columns, e.g.

          width=64        width in screen pixels
          width=0.5*      relative width of 0.5

      The span attribute causes the attributes of one
      col element to apply to more than one column.
      
    
    
      
      
      
      
      
    
  

  
    
      
        
        
      
      
      
      
      
    
  

  
    
      
      Scope is simpler than headers attribute for common tables
      
    
    
      
      
      
      
    
  

  
    
    th is for headers, td for data and for cells acting as both
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
          
            
              
                
              
            
          
          
          
          
        
      
    
  

  
    
      
        
          
          
          
          
          
          
          
          
          
          
            
              
                
              
            
          
          
          
          
        
      
    
  


References

[HTML4]

"HTML 4.01 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999. Available at: http://www.w3.org/TR/1999/REC-html401-19991224

The latest version of HTML 4.01 is available at: http://www.w3.org/TR/html401

The latest version of HTML 4 is available at: http://www.w3.org/TR/html4

[XHTML1]

"XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0", W3C Recommendation, S. Pemberton et al., August 2002. Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801

The latest version is available at: http://www.w3.org/TR/xhtml1

[XHTML11]

"XHTML™ 1.1 - Module-based XHTML", W3C Recommendation, M. Altheim, S. McCarron, eds., 31 May 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531

The latest version is available at: http://www.w3.org/TR/xhtml11

[XHTMLBasic]

"XHTML™ Basic", W3C Recemmendation, M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami, eds., 19 December 2000. Available at: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219

The latest version is available at: http://www.w3.org/TR/xhtml-basic

[XHTMLM12NSchema]

"Modularization of XHTML™ in XML Schema", W3C Working Draft, D. Austin, S. P. McCarron, eds., 15 August 2002, work in progress.

Available at: http://www.w3.org/TR/2002/WD-xhtml-m12n-schema-20020815

The latest version is available at: http://www.w3.org/TR/xhtml-m12n-schema

[XML]

"Extensible Markup Language (XML) 1.0 Specification (Second Edition)", W3C Recommendation, T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds., 6 October 2000. Available at: http://www.w3.org/TR/2000/REC-xml-20001006

The latest version is available at: http://www.w3.org/TR/REC-xml

[XMLNS]

"Namespaces in XML", T. Bray, D. Hollander, A. Layman, eds., 14 January 1999. Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114

The latest version is available at: http://www.w3.org/TR/REC-xml-names

[XMLSchema]

"XML Schema Part 1: Structures", W3C Recommendation, H. S. Thompson, D. Beech, M. Maloney, N. Mendelsohn, eds., 2 May 2001.

Available at: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502

The latest version is available at: http://www.w3.org/TR/xmlschema-1

See also "XML Schema Part 2: Datatypes", available at: http://www.w3.org/TR/2001/REC-xmlschema-2-20010502

The latest version is available at: http://www.w3.org/TR/xmlschema-2