[This local archive copy is from the official and canonical URL, http://www.ornl.gov/sgml/sc34/document/0064/15445.htm ; please refer to the canonical source document if possible.]


ISO/IEC 15445:1999(E)

First edition 1999-00-00

ISO IEC


Information technology — Document description and processing languages — HyperText Markup Language (HTML)


Contents

Copyright © 1999 IETF, W3C (MIT, Inria, Keio), ISO/IEC All Rights Reserved.

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are member of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work.

International Standards are drafted in accordance with the rules given in ISO/IC Directives, Part 3.

In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75% of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

International Standard ISO/IEC 15445 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC34, Document description languages. JTC1/SC34 has worked on this project in close cooperation with the World Wide Web Consortium. This International Standard makes normative reference to the W3C Recommendation for HTML 4.0 amended by the HTML 4.0 Specification Errata.

Annexes A and B form a normative part of this International Standard.

Introduction

The HyperText Markup Language (HTML) is an application of the International Standard ISO 8879 -- Standard Generalized Markup Language (SGML). It provides a simple way of structuring hypertext documents and of placing references in one document which point to another. This International Standard is a refinement of the World Wide Web Consortium's (W3C's) Recommendation for HTML 4.0; it provides further rules to condition and refine the use of the W3C Recommendation in a way which emphasizes the use of stable and mature features, and represents accepted SGML practice. Documents which conform to this International Standard also conform to the strict DTD provided by the W3C Recommendation for HTML 4.0.

This International Standard makes a clear and important distinction between conforming systems and validating systems. A conforming system operates correctly when handling documents which conform to this International Standard, but is not required to operate correctly when the documents do not conform. A validating system is more powerful; it detects all SGML and HTML errors in a document. Frequently browsers are conforming systems whereas authoring tools check for validity.

This International Standard does not define error handling procedures.

NOTE: International Standard ISO/IEC 15445 assumes that the reader is familiar with International Standard ISO 8879 -- Standard Generalized Markup Language (SGML). Readers who are not experts in SGML may wish to consult the Users Guide to ISO/IEC 15445. The Guide provides more accessible descriptions of the SGML techniques that are used, for example in the document preparation process.

1   Scope

The scope of this International Standard is a conforming application of ISO 8879, SGML. This International Standard describes the way in which the HTML language specified by the following clauses in the W3C Recommendation for HTML 4.0 shall be used, and does so by identifying all the differences between the HTML language specified by the W3C Recommendation for HTML 4.0 and the HTML language defined by this International Standard.

The scope excludes any material in the W3C Recommendation for HTML 4.0 not listed in this clause.

2   Conformance

This International Standard distinguishes between conforming documents, validating systems, conforming systems and character set conformance.

2.1   Conforming documents

A document which conforms to this International Standard shall

  1. Be a conforming HTML document consisting of a required document type declaration, followed by a single document instance, contained within an <HTML> [W3C 7.3] document element. The document type declaration may be surrounded by white space consisting of RS, RE, SPACE, TAB and HTML comments. The document instance may be followed by such white space.
  2. Conform to the requirements of this International Standard.

2.2   Validating systems

An HTML system is a validating HTML system if

  1. It is a validating SGML parser as defined by ISO 8879 subclause 15.4; and
  2. It is able to process any conforming HTML document; and
  3. It finds and reports an HTML error if one exits; and
  4. It does not report an HTML error where none exists.

2.2.1   Documentation of validating systems

Validating systems conforming to this International Standard shall display the following identification text prominently and in the national language of the documentation:

  1. In a prominent location in the front matter of publications (normally the title and cover pages),
  2. On identifying displays of programs,
  3. In promotional and training material,

The HTML validating system identification text is:

An HTML validating system conforming to International Standard ISO/IEC 15445—HyperText Markup Language, and International Standard ISO 8879—Standard Generalized Markup Language (SGML).

NOTE: The validating system identification text is copyrighted by the ISO/IEC, but may be used without further permission or further reference to the ISO/IEC.

2.3   Conforming systems

A conforming HTML system is an HTML system which is able to process all documents conforming to this standard.

2.3.1   Documentation of conforming HTML systems

Conforming systems shall display the following identification text prominently and in the national language of the documentation:

  1. In a prominent location in the front matter of publications (normally the title and cover pages),
  2. On identifying displays of programs,
  3. In promotional and training material,

The HTML conforming system identification text is:

An HTML system conforming to International Standard ISO/IEC 15445—HyperText Markup Language.

The documentation shall not claim or imply that the system may be used to validate HTML documents.

2.4   Character set conformance

The SGML declaration provided with this International Standard calls for the use of ISO/IEC 10646 Universal Multiple-Octet Coded Character Set (UCS). ISO/IEC 10646 specifies a large number of facilities from which different selections may be made to suit individual applications. As a result it is only practicable to envisage limited conformance to ISO/IEC 10646 as defined in this subclause.

Under limited conformance, the following is required:

  1. When the characters described by ISO/IEC 10646 are used, they shall be implemented with the meanings and coded representation specified in ISO/IEC 10646.
  2. If a server is unable to express a document using the character set supported by the user agent, it should instead deliver a document in a limited character set and explain the problem.
  3. Code positions that are either reserved for registration or reserved for future standardization shall not be used.
  4. No registered escape sequence shall be used with a meaning other than that defined by ISO/IEC 10646.

The UTF-1 transformation format of ISO/IEC 10646, registered by IANA as ISO-10646-UTF-1, has been removed from the ISO/IEC 10646 and should not be used.

3   Normative references

The following normative documents contain provisions which, through reference in this text, constitute provisions of this International Standard. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. However, parties to agreements based in this International standard are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. For undated references, the latest edition of the normative document referred to applies. Members of IEC and ISO maintain registers of currently valid International Standards.

This International Standard refers normatively to:

4   Definitions

For the purposes of this International Standard, the definitions given in ISO 8879:1986 and the following definitions apply.

4.1   Browser
A user agent whose main function is to present documents to a user.
4.2  Character
(Source: RFC1866) An atom of information, for example a letter or a digit. Graphic characters have associated glyphs, whereas control characters have associated processing semantics.
4.3  Character encoding scheme
(Source: RFC1866) A function whose domain is the set of sequences of octets, and whose range is the set of sequences of characters from a character repertoire; that is, a sequence of octets and a character encoding scheme determining a sequence of characters.
4.4  Character repertoire
(Source: RFC1866) A finite set of characters; eg. the range of a coded character set.
4.5  Code position
(Source: RFC1866) An integer in the domain of a coded character set. The coded character set maps the code position to a character.
4.6  Coded character set
(Source: RFC1866) A function whose domain is a subset of the integers and whose range is a character repertoire; that is, for some set of integers (usually of the form {0, 1, 2, ..., N-1}), a coded character set and an integer in that set determine a character. Conversely, a character and a coded character set determine the character's code position (or, in rare cases, a few code positions).
4.7  CRLF
(Source: RFC1521) The sequence of the two ISO/IEC 646:1991 characters CR (13) and LF (10) which, taken together, in this order, denote a line break.
4.8  Form data set
(Source: RFC1866) A sequence of name/value pairs; the names given by an HTML document and the values given by the user.
4.9  Fragment identifier
(Source: RFC1866) The portion of an HREF attribute value following the `#' character.
4.10  HTML browser
Browser which presents HTML documents.
4.11  HTML document
A document structured in accordance with this International Standard.
4.12  Hyperlink
A relationship between two anchors, called the source and the target. The link goes from the source to the target. The source is also known as the tail, and the target is also known as the destination or head.
4.13  User Agent (in the World Wide Web)
A software or hardware device which accepts user input and presents to the user the World Wide Web's interpretation of that input.

5   Symbols and abbreviated terms

The following symbols and abbreviated terms are used in this International Standard.

5.1   HTML
HyperText Markup Language. Pertaining to this standard.
5.2   HTML 4.0
A Recommendation for the HyperText Markup Language developed by the World Wide Web Consortium.
5.3   HTTP
IETF RFC2068 Hypertext Transfer Protocol.
5.4   IANA
Internet Assigned Numbers Authority.
5.5   IETF
Internet Engineering Task Force.
5.6   RFC
Request for Comments. An Internet Engineering Task Force specification.
5.7   SGML
Standard Generalized Markup Language. Notation provided through use of ISO 8879.
5.8   URI
Uniform Resource Identifier as defined by RFC2396.
5.9   URL
Uniform Resource Locator as defined by RFC2396.
5.10   WWW
World Wide Web.
5.11   W3C
World Wide Web Consortium, founded in 1994 to develop common standards for the evolution of the World Wide Web. It is an industry consortium, hosted by the Massachusetts Institute of Technology Laboratory for Computer Science (MIT/LCS) in the United States, the Institut National de Recherche en Informatique et en Automatique (INRIA) in Europe and the Keio University Shonan Fujisawa Campus in Asia.

6   Requirements

This International Standard has been designed to satisfy the following requirements:

7   Use of the referenced text

The set of element types provided by this International Standard is a subset of the set of element [type]s defined by the W3C Recommendation for HTML 4.0. The set of attributes provided for each element type included in this International Standard is a subset of the corresponding set defined by the W3C Recommendation for HTML 4.0. The set of element types and the sets of attributes are defined by the DTD provided with this International Standard.

Where refinements are defined for element types and attributes, the semantics are a subset of the semantics defined by the W3C Recommendation for HTML 4.0 in the sense that the set of documents conforming to this International Standard is a subset of those conforming to the W3C Recommendation for HTML 4.0.

NOTE: For clarity, and as required by ISO 8879, this International Standard makes a distinction between an individual element with a given generic identifier and the class of all such elements. The class is called an element type, the instance is called an element and the generic identifier is called an element type name.

8   General provisions

8.1   Byte order

When an HTML text is transmitted as UCS-2 or UCS-4, this International Standard recommends:

  1. That it be transmitted in big-endian byte order—high order byte first.
  2. That the document always begin with a ZERO-WIDTH NON-BREAKING SPACE character (hexadecimal FEFF or 0000FEFF) which, when byte-reversed becomes number FFFE or FFFE0000, a character guaranteed never to be assigned.

9   Invocation

The DTD provided by this International Standard has the following formal public identifiers:

"ISO/IEC 15445:1999//DTD HyperText Markup Language//EN"
"ISO/IEC 15445:1999//DTD HTML//EN"

9.1   Document type declaration

The DTD is typically invoked by one of the following declarations:

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:1999//DTD HyperText Markup Language//EN">
<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:1999//DTD HTML//EN">

The document type declaration shall not include a document type declaration subset.

NOTE: The DTD provides an optional mechanism to facilitate the production of conforming documents. The optional mechanism, which is not a part of this International Standard, allows an SGML parser to verify the correct nesting of sections and requires the use of an alternative document type declaration which is described in the Users Guide to ISO/IEC 15445. The Guide also provides descriptions of the SGML techniques used.

9.2   Architectural support declaration

In order to use the HTML document type definition as a base architecture for other SGML applications, the following architectural support declaration should be used:

<?IS10744 arch name="html"
public-id="ISO/IEC 15445:1999//DTD HyperText Markup Language//EN"
dtd-system-id="ftp://ftp.cs.tcd.ie/isohtml/15445.dtd"
renamer-att="HTMLnames"
doc-elem-form="HTML"
>

9.3   Comments in the DTD

The comments in the DTD which use the expressions "shall" or "shall not" are normative requirements of this International Standard. Comments which use the expression "should" or "should not" are recommendations of this International Standard. Comments which use the verbs "recommend" or "deprecate" are recommendations and deprecations of this International Standard.

10   Availability of the DTD

The formal SGML definitions are part of the text of this International Standard and are protected by copyrights held by the IETF, the W3C (MIT, Inria, Keio) and the ISO/IEC. Permission to copy is granted provided the following copyright notice is included with all copies:

Permission to copy in any form is granted for use with validating and conforming systems and applications as defined in ISO/IEC 15445:1999, provided this copyright notice is included with all copies.

11   Style

This International Standard requires a complete separation of style and content.

A <STYLE> [W3C 14.2.3] element may be used in the head of a document as a container for a style sheet. The style sheet language is not defined by this International Standard.

Wherever this International Standard describes a possible presentation, eg. as a button, the styling information is intended to provide assistance to the reader in understanding the semantics of the element or attribute. It is not intended as a normative style requirement.

12   Comments in HTML

All comments in HTML document instances shall appear in comment declarations. There shall be exactly one comment per comment declaration.

Annex A

(normative)

SGML declaration


<!SGML  "ISO 8879:1986 (WWW)"
--   ISO/IEC 15445 Hypertext Markup Language (ISO-HTML)
     SGML Declaration

     Copyright (C) 1999 IETF, W3C (MIT, Inria, Keio), ISO/IEC
               All Rights Reserved

     Permission to copy in any form is granted for use with
     validating and conforming systems and applications as defined 
     in ISO/IEC 15445, provided this copyright notice is included
     with all copies.
--
CHARSET
         -- First 17 planes of ISO 10646. --
         BASESET  "ISO Registration Number 177//CHARSET
                   ISO/IEC 10646-1:1993 UCS-4 with
                   implementation level 3//ESC 2/5 2/15 4/6"
         DESCSET  0       9       UNUSED
                  9       2       9
                  11      2       UNUSED
                  13      1       13
                  14      18      UNUSED
                  32      95      32
                  127     1       UNUSED
                  128     32      UNUSED
                  160     55136   160
                  55296   2048    UNUSED
                  57344   1056768 57344

-- 
        ISO/IEC 10646 does not define all positions. For example, it reserves
        positions with hexadecimal values 0000D800 - 0000DFFF, used in the
        UTF-16 encoding of UCS-4, as well as the last two code values in each
        plane of UCS-4, ie. all values of the hexadecimal form xxxxFFFE and
        xxxxFFFF. Undefined code values and the corresponding numeric
        character references should not be included in an HTML document, and
        they shall be ignored if encountered when processing an HTML document.
--
CAPACITY          SGMLREF
                  TOTALCAP        150000
                  GRPCAP          150000
                  ENTCAP          150000

SCOPE    DOCUMENT
SYNTAX
         SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
                  17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127
         BASESET "ISO 646IRV:1991//CHARSET
                  International Reference Version
                  (IRV)//ESC 2/8 4/2"
         DESCSET  0 128 0

         FUNCTION
                  RE          13
                  RS          10
                  SPACE       32
                  TAB SEPCHAR  9 -- Deprecated --

         NAMING   LCNMSTRT ""
                  UCNMSTRT ""
                  LCNMCHAR ".-_:"
                  UCNMCHAR ".-_:"
                  NAMECASE GENERAL YES
                           ENTITY   NO
         DELIM    GENERAL  SGMLREF
                  HCRO     "&#38;#x" -- 38 is Ampersand --
                  SHORTREF SGMLREF

         NAMES    SGMLREF
         QUANTITY SGMLREF
                  ATTCNT      60
                  ATTSPLEN 65536 -- These are the largest values --
                  LITLEN   65536 -- permitted in the declaration. --
                  NAMELEN  65536 -- Avoid fixed limits in actual --
                  PILEN    65536 -- implementations of user agents. --
                  TAGLVL     100
                  TAGLEN   65536
                  GRPGTCNT   150
                  GRPCNT      64
FEATURES
         MINIMIZE
                  DATATAG     NO
                  OMITTAG    YES
                  RANK        NO
                  SHORTTAG   YES
         LINK
                  SIMPLE      NO
                  IMPLICIT    NO
                  EXPLICIT    NO
         OTHER
                  CONCUR      NO
                  SUBDOC      NO
                  FORMAL     YES
APPINFO  NONE
>

Annex B

(normative)

Entities, element types and attributes


<!-- 15445.dtd
     ISO/IEC 15445:1999  Hypertext Markup Language (HTML) 
     Document Type Definition.

     Copyright (C) 1999, IETF, W3C (MIT, Inria, Keio), ISO/IEC.
               All Rights Reserved.

     Permission to copy in any form is granted for use with
     validating and conforming systems and applications as defined
     in ISO/IEC 15445:1999, provided this copyright notice is included
     with all copies.  

     The DTD is typically invoked by one of the following declarations:

     <!DOCTYPE HTML PUBLIC "ISO/IEC 15445:1999//DTD HyperText Markup Language//EN">
     <!DOCTYPE HTML PUBLIC "ISO/IEC 15445:1999//DTD HTML//EN">

     In order to use the HTML document type definition as a base architecture for
     other SGML applications, the following architectural support declaration 
     should be used:

     <?IS10744 arch name="html"
     public-id="ISO/IEC 15445:1999//DTD HyperText Markup Language//EN"
     dtd-system-id="ftp://ftp.cs.tcd.ie/isohtml/15445.dtd"
     renamer-att="HTMLnames"
     doc-elem-form="HTML"
     >
-->
                <!-- Part 1 - Entity set -->

<!-- The Preparation parameter entity shall be set to IGNORE for HTML, 
     and to INCLUDE for a document to be submitted to the preparation
     process -->
<!ENTITY % Preparation "IGNORE" >

<!-- This definition generates the inverse entity 
     NoPreparation which is internal to the DTD -->
<![ %Preparation; [
<!ENTITY % NoPreparation "IGNORE"    -- Inverse of Preparation = INCLUDE -->
                   ]]>
<!ENTITY % NoPreparation "INCLUDE"   -- Inverse of Preparation = IGNORE -->
<!-- End of definition -->


        <!-- Tokens defined by other standards -->

<!ENTITY % Content-Type "CDATA" -- MIME content type, RFC1521 -->
<!ENTITY % HTTP-Method "(get | post)" -- as per HTTP/1.1 RFC2068  -->
<!ENTITY % URI "CDATA" -- Universal Resource Identifier, RFC1630 -->

        <!-- Element tokens -->

<!ENTITY % special "A | BDO | BR | IMG | OBJECT | 
                    MAP | Q | SPAN" >

<!-- Logical character styles -->
<!ENTITY % logical.styles "ABBR | ACRONYM | CITE | CODE | DFN | EM |
                           KBD | SAMP | STRONG | VAR" >

<!-- Physical character styles -->
<!ENTITY % physical.styles "B | I | SUB | SUP | TT" >

        <!-- Model groups -->

<!-- Block-like elements eg. paragraphs and lists -->
<!ENTITY % block "BLOCKQUOTE | DIV | DL | FIELDSET | FORM |
                  HR | OL | P | PRE | TABLE | UL" >

<!-- Form fields - input elements that may appear only within forms -->
<!ENTITY % form.fields "BUTTON | INPUT | LABEL | SELECT | TEXTAREA" >

<!-- Character level elements and text strings -->
<!ENTITY % text "#PCDATA | %physical.styles; | %logical.styles; | %special;" >

<!-- Elements that may appear in a form, section or table -->
<!ENTITY % form.content    "(%block; | %text; | %form.fields; | ADDRESS)+" >
<!ENTITY % section.content "(%block; | %text; | ADDRESS)+" >
<!ENTITY % table.content   "(%block; | %text;)*" >

        <!-- Generic attributes -->

<!ENTITY % core
   "CLASS      CDATA      #IMPLIED -- Comma separated list of class values --

    --The name space of the ID attribute is shared with the name space of 
      the NAME attributes of <A> elements.  ID and NAME values shall be
      distinct.  It is an error for an ID or NAME value to be duplicated 
      within a document.  It is recommended that authors of documents 
      intended for further processing specify the ID attribute in preference 
      to the NAME attribute. --
    ID         ID         #IMPLIED -- Document-wide unique id --
    TITLE      CDATA      #IMPLIED -- Advisory title or amplification --" >

        <!-- Internationalization attributes -->

<!ENTITY % i18n
   "DIR        (ltr|rtl)  #IMPLIED -- Direction for weak/neutral text --
    LANG       NAME       #IMPLIED -- RFC1766 language value --" >

        <!-- Presentation styles -->

<!ENTITY % shape     "(circle | default | poly | rect)" >
<!ENTITY % InputType "(checkbox | file | hidden | password | 
                       radio | reset | submit | text)" >

<!-- SHORTREF mapping for the tab character -->
<!-- Use of the tab character is deprecated.  However, to facilitate
     the preparation of conforming documents by authors who use it,
     the tab character is tolerated and is mapped into a single space. -->
<!ENTITY   nontab  " " >
<!SHORTREF tabmap  "	" nontab >
<!USEMAP   tabmap  HTML >

        <!-- Specify character entity sets defined by W3C -->

<!ENTITY % HTMLlat1    PUBLIC "-//W3C//ENTITIES Full Latin 1//EN//HTML" >
<!ENTITY % HTMLsymbol  PUBLIC "-//W3C//ENTITIES Symbolic//EN//HTML" >
<!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special//EN//HTML" >
<!-- Reference character entities -->
%HTMLlat1;%HTMLsymbol;%HTMLspecial;

                <!-- Part 2 - Document structure -->

<!-- Further normative requirements on the elements defined in this part
     of the DTD are provided in Part 3.-->
<!--      ELEMENTS    MIN  CONTENT  (EXCEPTIONS) -->
<!ELEMENT HTML        - -  (HEAD, BODY) >
<!ELEMENT HEAD        - O  (TITLE) +(LINK | META | STYLE) >
<!ELEMENT TITLE       - -  (#PCDATA) -(LINK | META | STYLE) >
<!ELEMENT LINK        - O  EMPTY >
<!ELEMENT META        - O  EMPTY >
<!ELEMENT STYLE       - -  CDATA >

<!-- The following marked section is informative only -->
<![ %Preparation; [
<!ELEMENT Pre-HTML    - -  (HEAD, BODY) >
<!ELEMENT BODY        - O  ((%block;)*,(H1,DIV1)* ) +(DEL|INS) >
<!ELEMENT H1          - -  (%text;)+ >
<!ELEMENT DIV1        O O  ((%block;)*, (H2,DIV2)* ) >
<!ELEMENT H2          - -  (%text;)+ >
<!ELEMENT DIV2        O O  ((%block;)*, (H3,DIV3)* ) >
<!ELEMENT H3          - -  (%text;)+ >
<!ELEMENT DIV3        O O  ((%block;)*, (H4,DIV4)* ) >
<!ELEMENT H4          - -  (%text;)+ >
<!ELEMENT DIV4        O O  ((%block;)*, (H5,DIV5)* ) >
<!ELEMENT H5          - -  (%text;)+ >
<!ELEMENT DIV5        O O  ((%block;)*, (H6,DIV6)* ) >
<!ELEMENT H6          - -  (%text;)+ >
<!ELEMENT DIV6        O O  ((%block;)*) >
                 ]]>
<!-- The following marked section is normative -->
<![ %NoPreparation; [
<!ELEMENT BODY        - O  (%block;|H1|H2|H3|H4|H5|H6)+ +(DEL|INS) >
<!ELEMENT (H1|H2|H3|H4|H5|H6) - - (%text;)+ >
                   ]]>
<!ELEMENT DIV         - -  %section.content; >
<!ELEMENT ADDRESS     - -  (%text;)+ -(IMG|OBJECT|MAP) >
<!ELEMENT P           - O  (%text;)+ >
<!ELEMENT (OL|UL)     - -  (LI)+ >
<!ELEMENT LI          - O  (%text; | %block;)+ >
<!ELEMENT DL          - -  (DT|DD)+ >
<!ELEMENT DT          - O  (%text;)+ >
<!ELEMENT DD          - O  %section.content; -(ADDRESS) >
<!ELEMENT PRE         - -  (%text;)+ -(IMG|MAP|OBJECT|SUB|SUP) >
<!ELEMENT BLOCKQUOTE  - -  (%block;)+ >
<!ELEMENT Q           - -  (%text;)+ >
<!ELEMENT FORM        - -  %form.content; -(FORM) >
<!-- #PCDATA required to absorb leading white space -->
<!ELEMENT FIELDSET    - -  (#PCDATA,LEGEND,%form.content;) -(FIELDSET) >
<!ELEMENT INPUT       - O  EMPTY >
<!ELEMENT BUTTON      - -  (%text;)+ -(A|FIELDSET|FORM|%form.fields;) >
<!ELEMENT LABEL       - -  (%text;|%form.fields;)+ -(LABEL) >
<!ELEMENT LEGEND      - -  (#PCDATA) >
<!ELEMENT SELECT      - -  (OPTGROUP|OPTION)+ >
<!ELEMENT OPTGROUP    - -  (OPTION)+ >
<!ELEMENT OPTION      - O  (#PCDATA) >
<!ELEMENT TEXTAREA    - -  (#PCDATA) >
<!ELEMENT HR          - O  EMPTY >
<!ELEMENT TABLE       - -  (CAPTION?, (COL*|COLGROUP*), 
                              THEAD?, TFOOT?, TBODY+) >
<!ELEMENT CAPTION     - -  (%text;)+ >
<!ELEMENT (THEAD,TFOOT,TBODY) - O  (TR)+ >
<!ELEMENT COL         - O  EMPTY >
<!ELEMENT COLGROUP    - O  (COL)* >
<!ELEMENT TR          - O  (TH|TD)+ >  
<!ELEMENT (TH|TD)     - O  %table.content; >
<!ELEMENT (%logical.styles;|%physical.styles;)
                      - -  (%text;)+ >
<!ELEMENT A           - -  (%text;)* -(A) >
<!ELEMENT IMG         - O  EMPTY >
<!ELEMENT OBJECT      - -  (PARAM | %section.content;)* >
<!ELEMENT PARAM       - O  EMPTY >
<!ELEMENT BR          - O  EMPTY >
<!ELEMENT MAP         - -  (AREA)+ > <!-- (*) -->
<!ELEMENT AREA        - O  EMPTY >
<!ELEMENT SPAN        - -  (%text;)+ >
<!ELEMENT (DEL|INS)   - -  (%text;)+ >
<!ELEMENT BDO         - -  (%text;)+ >

                <!-- Part 3 - Attribute definition lists -->

<!--      ELEMENTS 
    NAME       VALUE       DEFAULT --> 
<!ATTLIST A
  --Case shall not be taken into account when determining a match
    between an ID value and a NAME value, between an ID value and 
    an HREF value or between a NAME value and an HREF value.  
    Comparisons should be made with the values folded to upper case.

    The NAME attribute value specification shall be processed as if the
    declared value were NAME.

    It is recommended that authors of HTML documents give
    preference to the ID attribute over the NAME attribute.
    (*)
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    CHARSET    CDATA      #IMPLIED -- Character encoding as per RFC2045 --
    HREF       %URI;      #IMPLIED -- Source anchor is URI of target --
    HREFLANG   NAME       #IMPLIED -- Language code of resource --
    NAME       CDATA      #IMPLIED -- Target anchor --
    REL        CDATA      #IMPLIED -- Forward link types --
    REV        CDATA      #IMPLIED -- Reverse link types --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order --
    TYPE       CDATA      #IMPLIED -- Advisory content type -->

<!ATTLIST ADDRESS
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST AREA     
  --One of HREF or NOHREF shall be specified.  

    COORDS shall not be specified if SHAPE has the value `default'.

    Authors are very strongly recommended to provide meaningful ALT 
    attributes to support interoperability with speech-based or text-only 
    agents.  The language and direction of the text provided by the ALT 
    attribute are defined by the containing elements.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    ALT        CDATA     #REQUIRED -- Description for text-only UAs --
    COORDS     CDATA      #IMPLIED -- Comma separated list of values --
    HREF       %URI;      #IMPLIED -- This region acts as hypertext link --
    NOHREF     (nohref)   #IMPLIED -- This region has no action --
    SHAPE      %shape;        rect -- Control interpretation of coords --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order -->

<!ATTLIST BDO
    %core;                         -- Element CLASS, ID and TITLE --
    DIR        (ltr|rtl) #REQUIRED -- Direction of writing --
    LANG       NAME       #IMPLIED -- RFC1766 language value -->

<!ATTLIST BLOCKQUOTE
  --The contents of the BLOCKQUOTE element shall not be surrounded with
    quotation marks.  These may be added by the user agent through the use
    of a style sheet.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CITE       %URI;      #IMPLIED -- URI for source document or message -->

<!ATTLIST BODY
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST BR
    %core;                         -- Element CLASS, ID and TITLE -->

<!ATTLIST BUTTON
  --The BUTTON element shall not contain the A, BUTTON, FIELDSET, FORM,
    INPUT, LABEL, SELECT or TEXTAREA elements.

    If the BUTTON element contains an IMG element, the IMG shall not have
    an ISMAP or USEMAP attribute.
    
    The TYPE attribute shall be provided, and when the TYPE is
    specified as `submit', the NAME and VALUE attributes shall be provided.

    The NAME attribute is required if the TYPE attribute has the value 
    `submit'.

    If the TYPE attribute has value `reset', and the BUTTON is contained 
    in a FIELDSET, the reset action is limited to the contents of the 
    FIELDSET.

    The VALUE attribute is required if the TYPE attribute has the value
    `submit' and specifies the value to be returned if the button
    is selected.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    NAME       CDATA      #IMPLIED -- Required for all except submit, reset -- 
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order --
    TYPE  (submit|reset)    submit -- For use as form submit/reset button --
    VALUE      CDATA      #IMPLIED -- Passed to server when submitted -->

<!ATTLIST CAPTION
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST COL
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    SPAN       NUMBER            1 -- Number of cols spanned -->

<!ATTLIST COLGROUP
  --The SPAN attribute should only be used if the COLGROUP element
    has no content.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    SPAN       NUMBER            1 -- Number of cols spanned by group -->

<!ATTLIST DD
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST DEL
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CITE       %URI;      #IMPLIED -- Information on reason for change --
    DATETIME   CDATA      #IMPLIED -- When changed, subset of ISO/IEC 8601 -->

<!ATTLIST DIV
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST DL
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST DT
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST FIELDSET
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST FORM
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCEPT     CDATA      #IMPLIED -- List of MIME types for file upload --
    ACCEPT-CHARSET CDATA  #IMPLIED -- List of supported char sets --
    ACTION     %URI;     #REQUIRED -- Server-side form handler --
    ENCTYPE    %Content-Type; "application/x-www-form-urlencoded"
    METHOD     %HTTP-Method;   get -- See HTTP specification -->

<!ATTLIST HEAD
    %i18n;                         -- Internationalization DIR and LANG --
    PROFILE    %URI;      #IMPLIED -- Named dictionary of meta info -->

<!ATTLIST HR
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST HTML 
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST (H1 | H2 | H3 | H4 | H5 | H6)
  --The H1 element shall not be followed by an H3, H4, H5 or H6 element
    without an intervening H2 element.  

    The H2 element shall not be followed by an H4, H5 or H6 element 
    without an intervening H3 element.

    The H3 element shall not be followed by an H5 or H6 element without 
    an intervening H4 element.

    The H4 element shall not be followed by an H6 element without an 
    intervening H5 element.

    An H2 element shall be preceded by an H1 element.

    An H3 element shall be preceded by an H2 element.

    An H4 element shall be preceded by an H3 element.

    An H5 element shall be preceded by an H4 element.

    An H6 element shall be preceded by an H5 element.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST IMG
  --If the IMG element is contained in a BUTTON element, the IMG shall not 
    have an ISMAP or USEMAP attribute.

    If the ISMAP attribute is present in an IMG element, that IMG element 
    shall be contained in an A element with an HREF attribute present.

    At most one of the attributes ISMAP and USEMAP may be provided.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ALT        CDATA     #REQUIRED -- Text for text-only user agent --
    ISMAP      (ismap)    #IMPLIED -- Use server image map --
    LONGDESC   %URI;      #IMPLIED -- Extended description for text UA --
    SRC        %URI;     #REQUIRED -- URI of image to embed --
    USEMAP     %URI;      #IMPLIED -- Use client-side image map -->

<!ATTLIST INPUT
  --If the attribute TYPE has the value `checkbox', values shall be 
    provided for the the NAME and VALUE attributes.
  
    If the attribute TYPE has the value `file', a value shall be 
    provided for the NAME attribute; HTML interpreting agents should 
    request user confirmation of any default file names that might 
    be suggested, and fields specifying files shall not be hidden.

    If the attribute TYPE has the value `hidden', values shall be 
    provided for the NAME and VALUE attributes.
  
    If the attribute TYPE has the value `password', a value shall be 
    provided for the NAME attribute.

    If the attribute TYPE has the value `radio', values shall be 
    provided for the the NAME and VALUE attributes. At all times, 
    one and only one of the radio buttons shall be checked.  
    Initially, if none of the INPUT elements in a set of radio 
    buttons specifies CHECKED, then the user agent shall mark the 
    first radio button of the set as checked.

    If the attribute TYPE has the value `submit', and a value is 
    specified for the VALUE attribute, then a value shall be provided 
    for the NAME attribute.

    If the attribute TYPE has the value `text', values shall be 
    provided for the NAME and VALUE attributes.
  
    The MAXLENGTH and TABINDEX values shall be considered as integers 
    with any leading zeroes ignored.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCEPT     CDATA      #IMPLIED -- List of MIME types for file upload --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    CHECKED    (checked)  #IMPLIED -- For radio buttons, checkboxes --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    MAXLENGTH  NUMBER     #IMPLIED -- Max chars for text fields --
    NAME       CDATA      #IMPLIED -- Required for all except submit, reset --
    READONLY   (READONLY) #IMPLIED -- For text --
    SIZE       CDATA      #IMPLIED -- Specific to each type of field --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order --
    TYPE       %InputType;    text -- Widget --
    VALUE      CDATA      #IMPLIED -- Required for radio, checkboxes -->

<!ATTLIST INS
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CITE       %URI;      #IMPLIED -- Information on reason for change --
    DATETIME   CDATA      #IMPLIED -- When changed, subset of ISO/IEC 8601 -->

<!ATTLIST LABEL
  --The LABEL element shall refer to a form field in the content of the 
    FORM element which contains the LABEL.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    FOR        IDREF      #IMPLIED -- Points to associated field -->

<!ATTLIST LEGEND
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character -->

<!ATTLIST LI
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST LINK
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CHARSET    CDATA      #IMPLIED -- Character encoding as per RFC2045 --
    HREF       %URI;      #IMPLIED -- URI for link resource --
    HREFLANG   NAME       #IMPLIED -- Language code of resource --
    MEDIA      CDATA      #IMPLIED -- Destination media of referenced doc --
    REL        CDATA      #IMPLIED -- Forward link types --
    REV        CDATA      #IMPLIED -- Reverse link types --
    TYPE       CDATA      #IMPLIED -- Advisory Internet content type -->

<!ATTLIST MAP
  --The value of the NAME attribute is case sensitive, and the attribute 
    value specification shall be processed as if the declared value were 
    NAME.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    NAME       CDATA     #REQUIRED -- Referenced by USEMAP in <IMG> -->

<!ATTLIST META     
    %i18n;                         -- Internationalization DIR and LANG --
    CONTENT    CDATA     #REQUIRED -- Associated information --
    HTTP-EQUIV NAME       #IMPLIED -- HTTP response header name --
    NAME       NAME       #IMPLIED -- Meta-information name --
    SCHEME     CDATA      #IMPLIED -- Nature of content -->

<!ATTLIST OBJECT   
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CLASSID    %URI;      #IMPLIED -- Identifies implementation --
    CODEBASE   %URI;      #IMPLIED -- Needed by some systems --
    CODETYPE   CDATA      #IMPLIED -- Internet content type for code --
    DATA       %URI;      #IMPLIED -- Reference to objects data --
    DECLARE    (declare)  #IMPLIED -- Flag: declare but dont instantiate --
    NAME       CDATA      #IMPLIED -- Submit as part of form --
    STANDBY    CDATA      #IMPLIED -- Show this msg while loading --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order --
    TYPE       CDATA      #IMPLIED -- Internet content type for data --
    USEMAP     %URI;      #IMPLIED -- Reference to image map -->

<!ATTLIST OL
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST OPTGROUP
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    LABEL      CDATA     #REQUIRED -- For use in hierarchical menus -->

<!ATTLIST OPTION
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    LABEL      CDATA      #IMPLIED -- For use in hierarchical menus --
    SELECTED   (selected) #IMPLIED -- Pre-selected option --
    VALUE      CDATA      #IMPLIED -- Defaults to content -->

<!ATTLIST P
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST PARAM
    ID         ID         #IMPLIED -- Document-wide unique id --
    NAME       CDATA     #REQUIRED -- Name of parameter --
    TYPE       CDATA      #IMPLIED -- Internet Media Type --
    VALUE      CDATA      #IMPLIED -- Value of parameter --
    VALUETYPE  (data|ref|object)
                              data -- Interpret value as -->

<!ATTLIST PRE
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST Q
  --The textual contents of the Q element shall not be surrounded with
    quotation marks.  These may be added by the user agent through the
    use of a style sheet.
  --
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    CITE       %URI;      #IMPLIED -- URI for source document or message -->

<!ATTLIST SELECT
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    MULTIPLE   (multiple) #IMPLIED -- Default is single selection --
    NAME       CDATA     #REQUIRED -- Field name --
    SIZE       NUMBER     #IMPLIED -- Rows visible --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order -->

<!ATTLIST SPAN
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST STYLE
  --The STYLE element contains style sheet information which shall be
    passed to the user agent's style manager.  Any style sheet language
    may be used.  It is a user agent error to render the style sheet 
    information as if it were part of a document's text.
  --
    %i18n;                         -- Internationalization DIR and LANG --
    MEDIA      CDATA      #IMPLIED -- Designed for use with these media --
    TITLE      CDATA      #IMPLIED -- Advisory title --
    TYPE       CDATA     #REQUIRED -- Internet content type for style lang. -->

<!ATTLIST TABLE
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    SUMMARY    CDATA     #REQUIRED -- Purpose/structure for speech output -->

<!ATTLIST TBODY
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST TD
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ABBR       CDATA      #IMPLIED -- Abbreviation for header cell (*) --
    AXIS       CDATA      #IMPLIED -- Names groups of related headers --
    COLSPAN    NUMBER            1 -- Number of columns spanned by cell --
    HEADERS    IDREFS     #IMPLIED -- List of ID's for header cells --
    ROWSPAN    NUMBER            1 -- Number of rows spanned by cell --
    SCOPE      (col|colgroup|row|rowgroup)
                          #IMPLIED -- Scope covered by header cells -->

<!ATTLIST TEXTAREA
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ACCESSKEY  CDATA      #IMPLIED -- Accessibility key character --
    COLS       NUMBER    #REQUIRED -- Number required in av char widths --
    DISABLED   (disabled) #IMPLIED -- Control unavailable in this context --
    NAME       CDATA     #REQUIRED -- Name of form field --
    READONLY   (readonly) #IMPLIED -- For text --
    ROWS       NUMBER    #REQUIRED -- Number of rows required --
    TABINDEX   NUMBER     #IMPLIED -- Position in tabbing order -->

<!ATTLIST TFOOT
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST TH
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG --
    ABBR       CDATA      #IMPLIED -- Abbreviation for header cell (*) --
    AXIS       CDATA      #IMPLIED -- Names groups of related headers --
    COLSPAN    NUMBER            1 -- Number of columns spanned by cell --
    HEADERS    IDREFS     #IMPLIED -- List of ID's for header cells --
    ROWSPAN    NUMBER            1 -- Number of rows spanned by cell --
    SCOPE      (col|colgroup|row|rowgroup)
                          #IMPLIED -- Scope covered by header cells -->

<!ATTLIST THEAD
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST TITLE
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST TR
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST UL
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

        <!-- Attribute group definition lists -->

<!ATTLIST (%physical.styles;)
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!ATTLIST (%logical.styles;)
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

<!-- End of file -->

ICS 35.240.30

Descriptors: data processing, text processing, information interchange, artificial languages.


Last change was on Tue Oct 12 22:12:05 EDT 1999