HTML 3.2 Reference Specification
REC-html32
HTML 3.2 Reference Specification
W3C Recommendation
14-Jan-1997
Superseded
15-March-2018
Author:
Dave Raggett
dsr@w3.org
Status of this document
This document has been reviewed by W3C members and other interested
parties and has been endorsed by the Director as a W3C Recommendation.
This specification is a
Superseded Recommendation
. A newer
specification exists that is recommended for new adoption in place of
this specification. New implementations should follow the
latest
version
of the HTML specification.
A list of current W3C Recommendations and other technical documents
can be found at
Abstract
The HyperText Markup Language (HTML) is a simple markup language used
to create hypertext documents that are portable from one platform to
another. HTML documents are SGML documents with generic semantics that
are appropriate for representing information from a wide range of
applications. This specification defines HTML version 3.2. HTML 3.2 aims
to capture recommended practice as of early '96 and as such to be used
as a replacement for HTML 2.0 (
RFC 1866
).
Contents
Introduction to HTML 3.2
HTML as an SGML application
The Structure of HTML documents
The HEAD element and its children
The BODY element and its children
Sample SGML Open Catalog for HTML 3.2
SGML Declaration for HTML 3.2
HTML 3.2 Document Type Definition
Character Entities for ISO Latin-1
Table of printable Latin-1 Character codes
Acknowledgements
Further Reading ...
Introduction to HTML 3.2
HTML 3.2 is W3C's specification for HTML, developed in early `96
together with vendors including IBM, Microsoft, Netscape Communications
Corporation, Novell, SoftQuad, Spyglass, and Sun Microsystems. HTML 3.2
adds widely deployed features such as tables, applets and text flow
around images, while providing full backwards compatibility with the
existing standard HTML 2.0.
W3C is continuing to work with vendors on extensions for
accessibility features, multimedia objects, scripting, style sheets,
layout, forms, math and internationalization. W3C plans on incorporating
this work in further versions of HTML.
HTML as an SGML Application
HTML 3.2 is an SGML application conforming to International Standard
ISO 8879 -- Standard Generalized Markup Language. As an SGML
application, the syntax of conforming HTML 3.2 documents is defined by
the combination of the
SGML declaration
and the
document type definition
(DTD). This specification
defines the intended interpretation of HTML 3.2 elements, and places
further constraints on the permitted syntax which are otherwise
inexpressible in the DTD.
The SGML rules for record boundaries are tricky. In particular, a
record end immediately following a start tag should be discarded. For
example:


Text
is equivalent to:

Text
Similarly, a record end immediately preceding an end tag should be
discarded. For example:
Text


is equivalent to:
Text


Except within literal text (e.g. the
PRE
element), HTML
treats contiguous sequences of white space characters as being
equivalent to a single space character (ASCII decimal 32). These rules
allow authors considerable flexibility when editing the marked-up text
directly. Note that future revisions to HTML may allow for the
interpretation of the horizontal tab character (ASCII decimal 9) with
respect to a tab rule defined by an associated style sheet.
SGML entities in PCDATA content or in CDATA attributes are expanded
by the parser, e.g.
é
is expanded to the ISO
Latin-1 character decimal 233 (a lower case letter e with an acute
accent). This could also have been written as a named character entity,
e.g.
é
. The & character can be included
in its own right using the named character entity
&
HTML allows CDATA attributes to be unquoted provided the attribute
value contains only letters (a to z and A to Z), digits (0 to 9),
hyphens (ASCII
decimal 45) or, periods (ASCII decimal 46). Attribute values can
be quoted using double or single quote marks (ASCII decimal 34 and
39 respectively). Single quote marks can be included within the
attribute value when the value is delimited by double quote marks,
and vice versa.
Note that some user agents require attribute minimisation for the
following attributes:
COMPACT
ISMAP
CHECKED
NOWRAP
NOSHADE
and
NOHREF
. These user agents don't accept syntax such as
COMPACT=COMPACT
or
ISMAP=ISMAP
although this
is legitimate according to the HTML 3.2 DTD.
The SGML declaration and the DTD for use with HTML 3.2 are given in
appendices. Further guidelines for parsing HTML are given in
WD-html-lex
The Structure of HTML documents
HTML 3.2 Documents start with a declaration
followed by an HTML element containing a
HEAD
and then a
BODY
element:



A study of population dynamics
... other head elements


... document body


In practice, the
HTML
HEAD
and
BODY
start and end tags can be omitted
from the markup as these can be inferred in all cases by parsers conforming
to the
HTML 3.2 DTD
Every conforming HTML 3.2 document
must
start with the

declaration that is needed to distinguish
HTML 3.2 documents from other versions of HTML. The HTML specification
is not concerned with storage entities. As a result, it is not required
that the document type declaration reside in the same storage entity
(i.e. file). A Web site may choose to dynamically prepend HTML files
with the document type declaration if it is known that all such HTML
files conform to the HTML 3.2 specification.
Every HTML 3.2 document must also include the descriptive title
element. A minimal HTML 3.2 document thus looks like:

A study of population dynamics
Note: the word "Final" replaces "Draft" now that the HTML 3.2
specification has been ratified by the W3C member organizations.
The HEAD element
This contains the document head, but you can always omit both
the start and end tags for
HEAD
. The contents of the
document head is an unordered collection of the following elements:
The TITLE element
The STYLE element
The SCRIPT element
The ISINDEX element
The BASE element
The META element
The LINK element


The %head.misc entity is used to allow the associated elements
to occur multiple times at arbitrary positions within the HEAD.
The following elements can be part of the document head:
TITLE
defines the document title,
and is always needed.
ISINDEX
for simple keyword searches,
see
PROMPT
attribute.
BASE
defines base URL for resolving
relative URLs.
SCRIPT
reserved for future use
with scripting languages.
STYLE
reserved for future use
with style sheets.
META
used to supply meta info as
name/value pairs.
LINK
used to define relationships
with other documents.
TITLE
SCRIPT
and
STYLE
are
containers and require both start and end tags. The other elements are
not containers so that end tags are forbidden. Note that conforming
browsers won't render the contents of
SCRIPT
and
STYLE
elements.
TITLE

Every HTML 3.2 document
must
have exactly one
TITLE
element in the document's
HEAD
. It
provides an advisory title which can be displayed in a user agent's
window caption etc. The content model is PCDATA. As a result, character
entities can be used for accented characters and to escape special
characters such as & and <. Markup is not permitted in the
content of a
TITLE
element.
Example TITLE element:
A study of population dynamics
STYLE
and
SCRIPT


These are place holders for the introduction of style sheets and
client-side scripts in future versions of HTML. User agents should hide
the contents of these elements.
These elements are defined with CDATA as the content type. As a
result they may contain only SGML characters. All markup characters or
delimiters are ignored and passed as data to the application, except for
ETAGO ("[a-zA-Z]. This means that the element's end-tag (or that of an element
in which it is nested) is recognized, while an error occurs if the ETAGO
is invalid.
ISINDEX

prompt CDATA #IMPLIED -- prompt message -->
The
ISINDEX
element indicates that the user agent should
provide a single line text input field for entering a query string.
There are no restrictions on the number of characters that can be
entered. The
PROMPT
attribute can be used to specify a
prompt string for the input field, e.g.

The semantics for
ISINDEX
are currently well defined
only when the base URL for the enclosing document is an HTTP URL.
Typically, when the user presses the enter (return) key, the query
string is sent to the server identified by the base URL for this
document. For example, if the query string entered is "ten green apples"
and the base URL is:
then the query generated is:
Note that space characters are mapped to "+" characters and that
normal URL character escaping mechanisms apply. For further details see
the
HTTP
specification.
Note
in practice, the query string is resticted to Latin-1
as there is no current mechanism for the URL to specify a character
set for the query.
BASE

href %URL #REQUIRED
The
BASE
element gives the base URL for dereferencing
relative URLs, using the rules given by the URL specification, e.g.

...

The image is deferenced to
In the absence of a
BASE
element the document URL should
be used. Note that this is not necessarily the same as the URL used to
request the document, as the base URL may be overridden by an HTTP
header accompanying the document.
META

http-equiv NAME #IMPLIED -- HTTP response header name --
name NAME #IMPLIED -- metainformation name --
content CDATA #REQUIRED -- associated information --
The
META
element can be used to include name/value pairs
describing properties of the document, such as author, expiry date,
a list of key words etc. The
NAME
attribute specifies the
property name while the
CONTENT
attribute specifies the
property value, e.g.

The
HTTP-EQUIV
attribute can be used in place of the
NAME
attribute and has a special significance when
documents are retrieved via the Hypertext Transfer Protocol (HTTP). HTTP
servers may use the property name specified by the HTTP-EQUIV attribute
to create an RFC 822 style header in the HTTP response. This can't be
used to set certain HTTP headers though, see the HTTP specification for
details.

will result in the HTTP header:
Expires: Tue, 20 Aug 1996 14:25:27 GMT
This can be used by caches to determine when to fetch a fresh copy
of the associated document.
LINK
LINK
provides a media independent method for defining
relationships with other documents and resources.
LINK
has
been part of HTML since the very early days, although few browsers as
yet take advantage of it (most still ignore
LINK
elements).
LINK elements can be used
in principle
for document specific navigation toolbars or menus
to control how collections of
HTML files are rendered into printed documents
for linking associated resources such as
style sheets and scripts
to provide alternative forms of the current document

href %URL #IMPLIED -- URL for linked resource --
rel CDATA #IMPLIED -- forward link types --
rev CDATA #IMPLIED -- reverse link types --
title CDATA #IMPLIED -- advisory title string --
href
Specifies a URL designating the linked resource.
rel
The forward relationship also known as the "link type". It specifies
a named relationship from the enclosing document to the resource
specified by the
HREF
attribute. HTML link relationships
are as yet unstandardized, although some conventions have been
established.
rev
This defines a reverse relationship. A link from document A to
document B with
REV=
relation
expresses the same
relationship as a link from B to A with
REL=
relation
REV=made
is sometimes used to identify the document author,
either the author's email address with a mailto URL, or a link to the
author's home page.
title
An advisory title for the linked resource.
Here are some proposed relationship values:
rel=top
The link references the top of a hierarchy, e.g.
the first or cover page in a collection.
rel=contents
The link references a document serving as a table of contents.
rel=index
The link references a document providing an index
for the current document.
rel=glossary
The link references a document providing a glossary
of terms that are relevant to the current document.
rel=copyright
The link references a copyright statement for
the current document.
rel=next
The link references the next document to visit in a guided tour.
It can be used, for example, to preload the next page.
rel=previous
The link references the previous document in a guided tour.
rel=help
The link references a document offering help, e.g. describing
the wider context and offering further links to relevant documents.
This is aimed at reorienting users who have lost their way.
rel=search
The link references a page for searching material related
to a collection of pages
Example
LINK
elements:



The BODY element
This contains the document body. Both start and end tags for
BODY
may be omitted. The body can contain a wide range
of elements:
Headings (H1 - H6)
The ADDRESS element
Block level Elements
Text level elements
The key attributes are:
BACKGROUND
BGCOLOR
TEXT
LINK
VLINK
and
ALINK
. These can be used to set a
repeating background image, plus background and foreground colors for
normal text and hypertext links.

bgcolor %color #IMPLIED
text %color #IMPLIED
link %color #IMPLIED
vlink %color #IMPLIED
alink %color #IMPLIED
">


background %URL #IMPLIED -- texture tile for document background --
%body-color-attrs; -- bgcolor, text, link, vlink, alink --
Example:

bgcolor
Specifies the background color for the document body.
See below for the syntax of color values.
text
Specifies the color used to stroke the document's text.
This is generally used when you have changed the background
color with the
BGCOLOR
or
BACKGROUND
attributes.
link
Specifies the color used to stroke the text for unvisited hypertext
links.
vlink
Specifies the color used to stroke the text for visited hypertext
links.
alink
Specifies the highlight color used to stroke the text for hypertext
links at the moment the user clicks on the link.
background
Specifies a URL for an image that will be used to tile the document
background.
Colors
are given in the
sRGB
color space as hexadecimal numbers (e.g.
COLOR="#C0FFC0"
),
or as one of 16 widely understood color names. These colors were
originally picked as being the standard 16 colors supported with the
Windows VGA palette.
Color names and 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"
Block and Text level elements
Most elements that can appear in the document body fall into one of
two groups: block level elements which cause paragraph breaks, and text
level elements which don't. Common block level elements include
H1
to
H6
(headers),
(paragraphs)
LI
(list items), and
HR
(horizontal rules). Common text level elements include
EM
and
FONT
(character
emphasis),
(hypertext links),
IMG
and
APPLET
(embedded objects) and
BR
(line
breaks). Note that block elements generally act as containers for text
level and other block level elements (excluding headings and address
elements), while text level elements can only contain other text level
elements. The exact model depends on the element.
Headings


align (left|center|right) #IMPLIED
H1
H2
H3
H4
H5
and
H6
are used for document headings. You
always need the start and end tags.
H1
elements are more
important than
H2
elements and so on, so that
H6
elements define the least important level of headings.
More important headings are generally rendered in a larger font than
less important ones. Use the optional
ALIGN
attribute to
set the text alignment within a heading, e.g.


... centered heading ...


The default is left alignment, but this can be overridden by an
enclosing
DIV
or
CENTER
element.
ADDRESS


The
ADDRESS
element requires start and end tags, and
specifies information such as authorship and contact details for the
current document. User agents should render the content with
paragraph-breaks before and after. Note that the content is restricted
to paragraphs, plain text and text-like elements as defined by the %text
entity.
Example:


Newsletter editor

J.R. Brown

8723 Buena Vista, Smallville, CT 01234

Tel: +1 (123) 456 7890

Block elements
paragraphs
The paragraph element requires a start tag, but the end tag can
always be omitted. Use the
ALIGN
attribute to set the text
alignment within a paragraph, e.g.


UL
unordered lists
These require start and end tags, and contain one or more
LI
elements representing individual list items.
OL
ordered (i.e. numbered) lists
These require start and end tags, and contain one or more
LI
elements representing individual list items.
DL
definition lists
These require start and end tags and contain
DT
elements that give the terms, and
DD
elements that give
corresponding definitions.
PRE
preformatted text
Requires start and end tags. These elements are rendered with a
monospaced font and preserve layout defined by whitespace and line
break characters.
DIV
document divisions
Requires start and end tags. It is used with the
ALIGN
attribute to set the text alignment of the block elements it contains.
ALIGN
can be one of
LEFT
CENTER
or
RIGHT
CENTER
text alignment
Requires start and end tags. It is used to center text lines
enclosed by the
CENTER
element. See
DIV
for a more general solution.
BLOCKQUOTE
quoted passage
Requires start and end tags. It is used to enclose extended
quotations and is typically rendered with indented margins.
FORM
fill-out forms
Requires start and end tags. This element is used to define
a fill-out form for processing by HTTP servers. The attributes
are
ACTION
METHOD
and
ENCTYPE
Form elements can't be nested.
ISINDEX
primitive HTML forms
Not a container, so the end tag is forbidden. This predates
FORM
and is used for simple kinds of forms which have a
single text input field, implied by this element. A single
ISINDEX
can appear in the document head or body.
HR
horizontal rules
Not a container, so the end tag is forbidden. attributes are
ALIGN
NOSHADE
SIZE
and
WIDTH
TABLE
can be nested
Requires start and end tags. Each table starts with an optional
CAPTION
followed by one or more
TR
elements
defining table rows. Each row has one or more cells defined by
TH
or
TD
elements. attributes for
TABLE
elements are
WIDTH
BORDER
CELLSPACING
and
CELLPADDING
Paragraphs

align (left|center|right) #IMPLIED
The
element is used to markup paragraphs. It is a
container and requires a start tag. The end tag is optional as it can
always be inferred by the parser. User agents should place paragraph
breaks before and after
elements. The rendering is user
agent dependent, but text is generally wrapped to fit the space
available.
Example:

This is the first paragraph.

This is the second paragraph.
Paragraphs are usually rendered flush left with a ragged right
margin. The
ALIGN
attribute can be used to explicitly
specify the horizontal alignment:
align=left
The paragraph is rendered flush left.
align=center
The paragraph is centered.
align=right
The paragraph is rendered flush right.
For example:

This is a centered paragraph.

and this is a flush right paragraph.
The default is left alignment, but this can be overridden by an
enclosing
DIV
or
CENTER
element.
Lists
List items can contain block and text level items, including
nested lists, although headings and address elements are excluded.
This limitation is defined via the %flow entity.
Unordered Lists

type (%ULStyle) #IMPLIED -- bullet style --
compact (compact) #IMPLIED -- reduced interitem spacing --


type (%LIStyle) #IMPLIED -- list item style --
Unordered lists take the form:



  • ... first list item

  • ... second list item
    ...

The
UL
element is used for unordered lists. Both start
and end tags are always needed. The
LI
element is used for
individual list items. The end tag for
LI
elements can
always be omitted. Note that
LI
elements can contain nested
lists. The
COMPACT
attribute can be used as a hint to the
user agent to render lists in a more compact style.
The
TYPE
attribute can be used to set the bullet style
on
UL
and
LI
elements. The permitted values
are "disc", "square" or "circle". The default generally depends on the
level of nesting for lists.
with

  • with

  • with

  • This list was chosen to cater for the original bullet shapes used by
    Mosaic in 1993.
    Ordered (i.e. numbered) Lists

    type CDATA #IMPLIED -- numbering style --
    start NUMBER #IMPLIED -- starting sequence number --
    compact (compact) #IMPLIED -- reduced interitem spacing --


    type CDATA #IMPLIED -- list item style --
    value NUMBER #IMPLIED -- set sequence number --
    Ordered (i.e. numbered) lists take the form:



    1. ... first list item

    2. ... second list item
      ...

    The
    OL
    START
    attribute can be used to
    initialize the sequence number (by default it is initialized to 1).
    You can set it later on with the
    VALUE
    attribute on
    LI
    elements. Both of these attributes expect integer
    values. You can't indicate that numbering should be continued from a
    previous list, or to skip missing values without giving an explicit
    number.
    The
    COMPACT
    attribute can be used as a hint to the user
    agent to render lists in a more compact style. The
    OL
    TYPE
    attribute allows you to set the numbering style for
    list items:
    Type
    Numbering style
    Arabic numbers
    1, 2, 3, ...
    lower alpha
    a, b, c, ...
    upper alpha
    A, B, C, ...
    lower roman
    i, ii, iii, ...
    upper roman
    I, II, III, ...
    Definition Lists


    compact (compact) #IMPLIED -- more compact style --



    Definition lists take the form:



    term name

    term definition
    ...

    DT
    elements can only act as containers for text level
    elements, while
    DD
    elements can hold block level elements
    as well, excluding headings and address elements.
    For example:

    Term 1
    This is the definition of the first term.
    Term 2
    This is the definition of the second term.

    which could be rendered as:
    Term 1
    This is the definition of the first term.
    Term 2
    This is the definition of the second term.
    The
    COMPACT
    attribute can be used with the
    DL
    element as a hint to the user agent to render
    lists in a more compact style.
    DIR
    and

    compact (compact) #IMPLIED
    These elements have been part of HTML from the early days. They are
    intended for unordered lists similar to
    UL
    elements. User
    agents are recommended to render
    DIR
    elements as
    multicolumn directory lists, and
    elements as single
    column menu lists. In practice, Mosaic and most other user agents
    have ignored this advice and instead render
    DIR
    and
    in an identical way to
    UL
    elements.
    Preformatted Text

    width NUMBER #implied
    The
    PRE
    element can be used to include preformatted
    text. User agents render this in a fixed pitch font, preserving spacing
    associated with white space characters such as space and newline
    characters. Automatic word-wrap should be disabled within
    PRE
    elements.
    Note that the SGML standard requires that the parser
    remove a newline immediately following the start tag
    or immediately preceding the end tag.
    PRE
    has the same content model as paragraphs,
    excluding images and elements that produce changes in font size,
    e.g.
    IMG
    BIG
    SMALL
    SUB
    SUP
    and
    FONT
    A few user agents support the
    WIDTH
    attribute. It
    provides a hint to the user agent of the required width in characters.
    The user agent can use this to select an appropriate font size or to
    indent the content appropriately.
    Here is an example of a
    PRE
    element; a verse from
    Shelley (To a Skylark):

    Higher still and higher
    From the earth thou springest
    Like a cloud of fire;
    The blue deep thou wingest,
    And singing still dost soar, and soaring ever singest.

    which is rendered as:
    Higher still and higher
    From the earth thou springest
    Like a cloud of fire;
    The blue deep thou wingest,
    And singing still dost soar, and soaring ever singest.
    The horizontal tab character (encoded in Unicode, US ASCII and
    ISO 8859-1 as decimal 9) should be interpreted as the smallest
    non-zero number of spaces which will leave the number of characters
    so far on the line as a multiple of 8. Its use is strongly discouraged
    since it is common practice when editing to set the tab-spacing to other
    values, leading to misaligned documents.
    XMP
    LISTING
    and
    PLAINTEXT

    -- historical, non-conforming parsing mode where
    the only markup signal is the end tag
    in full
    -->


    ]]>
    These are obsolete tags for preformatted text that predate the
    introduction of
    PRE
    . User agents may support these
    for backwards compatibility. Authors should avoid using them in new
    documents!
    DIV
    and
    CENTER

    align (left|center|right) #IMPLIED -- alignment of following text --



    DIV
    elements can be used to structure HTML documents as
    a hierarchy of divisions. The
    ALIGN
    attribute can be used
    to set the default horizontal alignment for elements within the content
    of the
    DIV
    element. Its value is restricted to
    LEFT
    CENTER
    or
    RIGHT
    , and is
    defined in the same way as for the paragraph element


    Note that because
    DIV
    is a block-like element it will
    terminate an open
    element. Other than this, user agents
    are
    not
    expected to render paragraph breaks before and after
    DIV
    elements.
    CENTER
    is directly equivalent
    to
    DIV
    with
    ALIGN=CENTER
    . Both
    DIV
    and
    CENTER
    require start and end tags.
    CENTER
    was introduced by Netscape before they added
    support for the HTML 3.0
    DIV
    element. It is retained in
    HTML 3.2 on account of its widespread deployment.
    BLOCKQUOTE

    This is used to enclose block quotations from other works.
    Both the start and end tags are required. It is often rendered
    indented, e.g.
    They went in single file, running like hounds on a strong scent,
    and an eager light was in their eyes. Nearly due west the broad
    swath of the marching Orcs tramped its ugly slot; the sweet grass
    of Rohan had been bruised and blackened as they passed.
    from "The Two Towers" by J.R.R. Tolkien.
    FORM
    -- as per HTTP specification
    -->


    action %URL #IMPLIED -- server-side form handler --
    method (%HTTP-Method) GET -- see HTTP specification --
    enctype %Content-Type; "application/x-www-form-urlencoded"
    This is used to define an HTML form, and you can have more than one form
    in the same document. Both the start and end tags are required. For very
    simple forms, you can also use the
    ISINDEX
    element. Forms can contain a wide range of HTML markup including several
    kinds of
    form fields
    such as single and multi-line
    text fields, radio button groups, checkboxes, and menus.
    action
    This specifies a URL which is either used to post forms via email,
    e.g.
    action="mailto:foo@bar.com"
    , or used to invoke a
    server-side forms handler via HTTP, e.g.
    action="http://www.acme.com/cgi-bin/register.pl"
    method
    When the action attribute specifies an HTTP server, the method
    attribute determines which HTTP method will be used to send the form's
    contents to the server. It can be either
    GET
    or
    POST
    , and defaults to
    GET
    enctype
    This determines the mechanism used to encode the form's contents.
    It defaults to
    application/x-www-form-urlencoded
    Further details on handling forms are given in RFC 1867.
    HR
    - horizontal rules
    Horizontal rules may be used to indicate a change in topic.
    In a speech based user agent, the rule could be rendered as a pause.

    align (left|right|center) #IMPLIED
    noshade (noshade) #IMPLIED
    size %Pixels #IMPLIED
    width %Length #IMPLIED
    HR
    elements are not containers so the end tag is forbidden.
    The attributes are:
    ALIGN
    NOSHADE
    SIZE
    and
    WIDTH
    align
    This determines whether the rule is placed at the left, center
    or right of the space between the current left and right margins
    for
    align=left
    align=center
    or
    align=right
    respectively. By default, the rule is centered.
    noshade
    This attribute requests the user agent to render the rule in a
    solid color rather than as the traditional two colour "groove".
    size
    This can be used to set the height of the rule in pixels.
    width
    This can be used to set the width of the rule in
    pixels (e.g.
    width=100
    ) or as the percentage between the
    current left and right margins (e.g.
    width="50%"
    ). The
    default is 100%.
    Tables
    HTML 3.2 includes a widely deployed subset of the specification
    given in
    RFC 1942
    and can be used to
    markup tabular material or for layout purposes. Note that the latter
    role typically causes problems when rending to speech or to text
    only user agents.


    "align (left|center|right) #IMPLIED"


    "valign (top|middle|bottom) #IMPLIED"



    align %Where; #IMPLIED -- table position relative to window --
    width %Length #IMPLIED -- table width relative to window --
    border %Pixels #IMPLIED -- controls frame width around table --
    cellspacing %Pixels #IMPLIED -- spacing between cells --
    cellpadding %Pixels #IMPLIED -- spacing within cells --


    align (top|bottom) #IMPLIED

    %cell.halign; -- horizontal alignment in cells --
    %cell.valign; -- vertical alignment in cells --

    nowrap (nowrap) #IMPLIED -- suppress word wrap --
    rowspan NUMBER 1 -- number of rows spanned by cell --
    colspan NUMBER 1 -- number of cols spanned by cell --
    %cell.halign; -- horizontal alignment in cells --
    %cell.valign; -- vertical alignment in cells --
    width %Pixels #IMPLIED -- suggested width for cell --
    height %Pixels #IMPLIED -- suggested height for cell --
    Tables take the general form:



    ...
    ...

    ... table caption ...

    first cell

    second cell

    The attributes on
    TABLE
    are all optional. By default,
    the table is rendered without a surrounding border. The table is
    generally sized automatically to fit the contents, but you can also set
    the table width using the
    WIDTH
    attribute.
    BORDER
    CELLSPACING
    and
    CELLPADDING
    provide further control over the table's
    appearence. Captions are rendered at the top or bottom of the table
    depending on the
    ALIGN
    attribute.
    Each table row is contained in a
    TR
    element, although
    the end tag can always be omitted. Table cells are defined by
    TD
    elements for data and
    TH
    elements for
    headers. Like
    TR
    , these are containers and can be given
    without trailing end tags.
    TH
    and
    TD
    support
    several attributes:
    ALIGN
    and
    VALIGN
    for
    aligning cell content,
    ROWSPAN
    and
    COLSPAN
    for
    cells which span more than one row or column. A cell can contain a wide
    variety of other block and text level elements including form fields and
    other tables.
    The
    TABLE
    element always requires both start and end tags.
    It supports the following attributes:
    align
    This takes one of the case insensitive values:
    LEFT
    CENTER
    or
    RIGHT
    . It specifies the horizontal
    placement of the table relative to the current left and right margins.
    It defaults to left alignment, but this can be overridden by an
    enclosing
    DIV
    or
    CENTER
    element.
    width
    In the absence of this attribute the table width is automatically
    determined from the table contents. You can use the
    WIDTH
    attribute to set the table width to a fixed value in pixels (e.g.
    WIDTH=212
    ) or as a percentage of the space between the
    current left and right margins (e.g.
    WIDTH="80%"
    ).
    border
    This attribute can be used to specify the width of the outer border
    around the table to a given number of pixels (e.g.
    BORDER=4
    ). The value can be set to zero to suppress the
    border altogether. In the absence of this attribute the border should be
    suppressed. Note that some browsers also accept
    BORDER>
    with the same semantics as
    BORDER=1
    cellspacing
    In traditional desktop publishing software, adjacent table cells
    share a common border. This is not the case in HTML. Each cell is given
    its own border which is separated from the borders around neighboring
    cells. This separation can be set in pixels using the
    CELLSPACING
    attribute, (e.g.
    CELLSPACING=10
    ).
    The same value also determines the separation between the table border
    and the borders of the outermost cells.
    cellpadding
    This sets the padding in pixels between the border around each cell
    and the cell's contents.
    The
    CAPTION
    element has one attribute
    ALIGN
    which can be either
    ALIGN=TOP
    or
    ALIGN=BOTTOM
    This can be used to force the caption to be placed above the top or
    below the bottom of the table respectively. Most user agents default to
    placing the caption above the table.
    CAPTION
    always
    requires both start and end tags. Captions are limited to plain text and
    text-level elements as defined by the %text entity. Block level elements
    are not permitted.
    The
    TR
    or table row element requires a start tag, but
    the end tag can always be left out.
    TR
    acts as a container
    for table cells. It has two attributes:
    align
    Sets the default horizontal alignment of cell contents. It takes
    one of the case insensitive values:
    LEFT
    CENTER
    or
    RIGHT
    and plays the same role as the
    ALIGN
    attribute on paragraph elements.
    valign
    This can be used to set the default vertical alignment of cell
    contents within each cell. It takes one of the case insensitive values:
    TOP
    MIDDLE
    or
    BOTTOM
    to position
    the cell contents at the top, middle or bottom of the cell respectively.
    There are two elements for defining table cells.
    TH
    is
    used for header cells and
    TD
    for data cells. This
    distinction allows user agents to render header and data cells in
    different fonts, and enables speech based browsers to do a better job.
    The start tags for
    TH
    and
    TD
    are always needed
    but the end tags can be left out. Table cells can have the following
    attributes:
    nowrap
    The presence of this attribute disables automatic word wrap
    within the contents of this cell (e.g.

    ).
    This is equivalent to using the
     
    entity for
    non-breaking spaces within the content of the cell.
    rowspan
    This takes a positive integer value specifying the number of
    rows spanned by this cell. It defaults to one.
    colspan
    This takes a positive integer value specifying the number of
    columns spanned by this cell. It defaults to one.
    align
    Specifies the default horizontal alignment of cell
    contents, and overrides the
    ALIGN
    attribute on the table
    row. It takes the same values:
    LEFT
    CENTER
    and
    RIGHT
    . If you don't specify an
    ALIGN
    attribute value on the cell, the default is left alignment for

    and center alignment for

    although you can override this with an
    ALIGN
    attribute on
    the
    TR
    element.
    valign
    Specifies the default vertical alignment of cell
    contents, overriding the
    VALIGN
    attribute on the table row.
    It takes the same values:
    TOP
    MIDDLE
    and
    BOTTOM
    . If you don't specify a VALIGN attribute value on
    the cell, the default is middle although you can override this with a
    VALIGN
    attribute on the
    TR
    element.
    width
    Specifies the suggested width for a cell content in pixels
    excluding the cell padding. This value will normally be
    used except when it conflicts with the width requirements
    for other cells in the same column.
    height
    Specifies the suggested height for a cell content in pixels
    excluding the cell padding. This value will normally be
    used except when it conflicts with the height requirements
    for other cells in the same row.
    Tables are commonly rendered in bas-relief, raised up with the outer
    border as a bevel, and individual cells inset into this raised surface.
    Borders around individual cells are only drawn if the cell has explicit
    content. White space doesn't count for this purpose with the exception
    of  .
    The algorithms used to automatically size tables should take
    into account the minimum and maximum width requirements for each
    cell. This is used to determine the minimum and maximum width
    requirements for each column and hence for the table itself.
    Cells spanning more than one column contribute to the
    widths of each of the columns spanned. One approach is to evenly
    apportion the cell's minimum and maximum width between these
    columns, another is to weight the apportioning according to the
    contributions from cells that don't span multiple columns.
    For some user agents it may be necessary or desirable to break
    text lines within words. In such cases a visual indication that this
    has occurred is advised.
    The minimum and maximum width of nested tables contribute to the
    minimum and maximum width of the cell in which they occur. Once the
    width requirements are known for the top level table, the column widths
    for that table can be assigned. This allows the widths of nested tables
    to be assigned and hence in turn the column widths of such tables.
    If practical, all columns should be assigned at least their minimum
    widths. It is suggested that any surplus space is then shared out
    proportional to the difference between the minimum and maximum width
    requirements of each column.
    Note that pixel values for width and height refer to screen pixels, and
    should be multiplied by an appropriate factor when rendering to very high
    resolution devices such as laser printers. For instance if a user agent has
    a display with 75 pixels per inch and is rendering to a laser printer with
    600 dots per inch, then the pixel values given in HTML attributes should be
    multiplied by a factor of 8.
    Text level elements
    These don't cause paragraph breaks. Text level elements
    that define character styles can generally be nested. They can
    contain other text level elements but not block level elements.
    Font style elements
    Phrase elements
    Form Fields
    The A (anchor) element
    IMG - inline images
    APPLET
    (Java Applets)
    FONT elements
    BASEFONT elements
    BR - line breaks
    MAP - client-side image maps
    Font style elements
    These all require start and end tags, e.g.
    This has some bold text.
    Text level elements must be properly nested - the following
    is in error:
    This has some bold and italic text.
    User agents should do their best to respect nested emphasis, e.g.
    This has some bold and italic text.
    Where the available fonts are restricted or for speech output, alternative
    means should be used for rendering differences in emphasis.
    TT
    teletype or monospaced text
    italic text style
    bold text style
    underlined text style
    STRIKE
    strike-through text style
    BIG
    places text in a large font
    SMALL
    places text in a small font
    SUB
    places text in subscript style
    SUP
    places text in superscript style
    Note: future revisions to HTML may be phase out STRIKE
    in favor of the more concise "S" tag from HTML 3.0.
    Phrase Elements
    These all require start and end tags, e.g.
    This has some emphasized text.
    EM
    basic emphasis typically rendered in an italic font
    STRONG
    strong emphasis typically rendered in a bold font
    DFN
    defining instance of the enclosed term
    CODE
    used for extracts from program code
    SAMP
    used for sample output from programs, and scripts etc.
    KBD
    used for text to be typed by the user
    VAR
    used for variables or arguments to commands
    CITE
    used for citations or references to other sources
    Form fields
    INPUT
    SELECT
    and
    TEXTAREA
    are only allowed within
    FORM
    elements.
    INPUT
    can
    be used for a variety of form fields including single line text fields,
    password fields, checkboxes, radio buttons, submit and reset buttons,
    hidden fields, file upload, and image buttons.
    SELECT
    elements are used for single or
    multiple choice menus.
    TEXTAREA
    elements are used to define multi-line text fields. The content of the
    element is used to initialize the field.
    INPUT
    text fields, radio buttons, check boxes, ...
    INPUT
    elements are not containers and so the end tag is
    forbidden.

    "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
    | RESET | FILE | HIDDEN | IMAGE)">


    type %InputType TEXT -- what kind of widget is needed --
    name CDATA #IMPLIED -- required for all but submit and reset --
    value CDATA #IMPLIED -- required for radio and checkboxes --
    checked (checked) #IMPLIED -- for radio buttons and check boxes --
    size CDATA #IMPLIED -- specific to each type of field --
    maxlength NUMBER #IMPLIED
    src %URL #IMPLIED -- for fields with background images --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --
    type
    Used to set the type of input field:
    type=text
    (the default)
    A single line text field whose visible size can be set using the
    size
    attribute, e.g.
    size=40
    for a 40 character wide field. Users should be able to type more than
    this limit though with the text scrolling through the field to keep the
    input cursor in view. You can enforce an upper limit on the number of
    characters that can be entered with the
    maxlength
    attribute. The
    name
    attribute is used to name the field,
    while the
    value
    attribute can be used
    to initialize the text string shown in the field when the document is
    first loaded.

    type=password
    This is like type=text, but echoes characters using a character
    like * to hide the text from prying eyes when entering passwords.
    You can use
    size
    and
    maxlength
    attributes to control
    the visible and maximum length exactly as per
    regular text fields.

    type=checkbox
    Used for simple Boolean attributes, or for attributes that can take
    multiple values at the same time. The latter is represented by several
    checkbox fields with the same
    name
    and
    a different
    value
    attribute. Each checked
    checkbox generates a separate name/value pair in the submitted data, even
    if this results in duplicate names. Use the
    checked
    attribute to initialize
    the checkbox to its checked state.

    type=radio
    Used for attributes which can take a single value from a set of
    alternatives. Each radio button field in the group should be given the
    same
    name
    . Radio buttons require an explicit
    value
    attribute. Only the checked radio
    button in the group generates a name/value pair in the submitted data. One
    radio button in each group should be initially checked using the
    checked
    attribute.





    type=submit
    This defines a button that users can click to submit the form's
    contents to the server. The button's label is set from the
    value
    attribute. If the
    name
    attribute is given then the submit button's name/value pair will be
    included in the submitted data. You can include several submit buttons
    in the form. See
    type=image
    for graphical submit buttons.

    type=image
    This is used for graphical submit buttons rendered by an image
    rather than a text string. The URL for the image is specified with the
    src
    attribute. The image alignment can
    be specified with the
    align
    attribute. In this respect, graphical submit buttons are treated
    identically to
    IMG
    elements, so you can
    set align to left, right, top, middle or bottom. The x and y values of
    the location clicked are passed to the server: In the submitted data,
    image fields are included as two name/value pairs. The names are derived
    by taking the name of the field and appending ".x" for the x value, and
    ".y" for the y value.

    Now choose a point on the map:


    Note
    : image fields typically cause problems for text-only and
    speech-based user agents!
    type=reset
    This defines a button that users can click to reset form fields
    to their initial state when the document was first loaded. You can
    set the label by providing a
    value
    attribute. Reset buttons are never sent as part of the form's contents.

    type=file
    This provides a means for users to attach a file to the form's
    contents. It is generally rendered by text field and an associated
    button which when clicked invokes a file browser to select a file
    name. The file name can also be entered directly in the text field.
    Just like type=text you can use the
    size
    attribute to set the visible width of this field in average character
    widths. You can set an upper limit to the length of file names using the
    maxlength
    attribute. Some user agents
    support the ability to restrict the kinds of files to those
    matching a comma separated list of MIME content types given with
    the
    ACCEPT
    attribute e.g.
    accept="image/*"
    restricts files to images. Further information can be found in
    RFC 1867

    type=hidden
    These fields should not be rendered and provide a means for servers
    to store state information with a form. This will be passed back to the
    server when the form is submitted, using the name/value pair defined by
    the corresponding attributes. This is a work around for the statelessness
    of HTTP. Another approach is to use HTTP "
    ".

    name
    Used to define the property name that will be used to identify this
    field's content when it is submitted to the server.
    value
    Used to initialize the field, or to provide a textual label for
    submit and reset buttons.
    checked
    The presence of this attribute is used to initialize checkboxes and
    radio buttons to their checked state.
    size
    Used to set the visible size of text fields to a given number of
    average character widths, e.g.
    size=20
    maxlength
    Sets the maximum number of characters permitted in a text field.
    src
    Specifies a URL for the image to use with a graphical submit button.
    align
    Used to specify image alignment for graphical submit buttons.
    It is defined just like the
    IMG
    align
    attribute and takes one of the values:
    top
    middle
    bottom
    left
    or
    right
    , defaulting
    to
    bottom
    SELECT
    menus

    name CDATA #REQUIRED
    size NUMBER #IMPLIED
    multiple (multiple) #IMPLIED


    selected (selected) #IMPLIED
    value CDATA #IMPLIED -- defaults to element content --
    SELECT
    is used to define select one from many or many
    from many menus.
    SELECT
    elements require start and end tags
    and contain one or more
    OPTION
    elements that define menu
    items. One from many menus are generally rendered as drop-down menus
    while many from many menus are generally shown as list boxes.
    Example:

    SELECT
    attributes:
    name
    This specifies a property name that is used to identify the menu
    choice when the form is submitted to the server. Each selected option
    results in a property name/value pair being included as part of the
    form's contents.
    size
    This sets the number of visible choices for many from many menus.
    multiple
    The presence of this attribute signifies that the users can make
    multiple selections. By default only one selection is allowed.
    OPTION
    attributes:
    selected
    When this attribute is present, the option is selected when the
    document is initially loaded. It is an error for more than one option
    to be so selected for one from many menus.
    value
    Specifies the property value to be used when submitting the form's
    content. This is combined with the property name as given by the name
    attribute of the parent
    SELECT
    element.
    TEXTAREA
    multi-line text fields


    name CDATA #REQUIRED
    rows NUMBER #REQUIRED
    cols NUMBER #REQUIRED
    TEXTAREA
    elements require start and end tags. The
    content of the element is restricted to text and character entities. It
    is used to initialize the text that is shown when the document is first
    loaded.
    Example:

    It is recommended that user agents canonicalize line endings to
    CR, LF (ASCII decimal 13, 10) when submitting the field's contents.
    The character set for submitted data should be ISO Latin-1, unless
    the server has previously indicated that it can support alternative
    character sets.
    name
    This specifies a property name that is used to identify the textarea
    field when the form is submitted to the server.
    rows
    Specifies the number of visible text lines. Users should be able
    to enter more lines that this, so user agents should provide some
    means to scroll through the contents of the textarea field when the
    contents extend beyond the visible area.
    cols
    Specifies the visible width in average character widths. Users should
    be able to enter longer lines that this, so user agents should provide
    some means to scroll through the contents of the textarea field when the
    contents extend beyond the visible area. User agents may wrap visible text
    lines to keep long lines visible without the need for scrolling.
    Special Text level Elements
    (Anchor),
    IMG
    APPLET
    FONT
    BASEFONT
    BR
    and
    MAP
    The A (anchor) element

    name CDATA #IMPLIED -- named link end --
    href %URL #IMPLIED -- URL for linked resource --
    rel CDATA #IMPLIED -- forward link types --
    rev CDATA #IMPLIED -- reverse link types --
    title CDATA #IMPLIED -- advisory title string --
    Anchors can't be nested and always require start and end tags.
    They are used to define hypertext links and also to define
    named locations for use as targets for hypertext links, e.g.
    The way to happiness.
    and also to define named locations for use as targets for hypertext
    links, e.g.

    545 Tech Square - Hacker's Paradise


    name
    This should be a string defining unique name for the scope of the
    current HTML document.
    NAME
    is used to associate a name
    with this part of a document for use with URLs that target a named
    section of a document.
    href
    Specifies a URL acting as a network address for the linked resource.
    This could be another HTML document, a PDF file or an image etc.
    rel
    The forward relationship also known as the "link type". It can be
    used to determine to how to deal with the linked resource when printing
    out a collection of linked resources.
    rev
    This defines a reverse relationship. A link from document A to
    document B with
    REV=relation
    expresses the same
    relationship as a link from B to A with
    REL=relation
    REV=made
    is sometimes used to identify the document author,
    either the author's email address with a mailto URL, or a link to the
    author's home page.
    title
    An advisory title for the linked resource.
    IMG
    - inline images


    src %URL #REQUIRED -- URL of image to embed --
    alt CDATA #IMPLIED -- for display in place of image --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --
    height %Pixels #IMPLIED -- suggested height in pixels --
    width %Pixels #IMPLIED -- suggested width in pixels --
    border %Pixels #IMPLIED -- suggested link border width --
    hspace %Pixels #IMPLIED -- suggested horizontal gutter --
    vspace %Pixels #IMPLIED -- suggested vertical gutter --
    usemap %URL #IMPLIED -- use client-side image map --
    ismap (ismap) #IMPLIED -- use server image map --
    Used to insert images.
    IMG
    is an empty element and so
    the end tag is forbidden. Images can be positioned vertically relative
    to the current textline or floated to the left or right. See
    BR
    with the
    CLEAR
    attribute for control
    over textflow.
    e.g.
    Grand Canyon
    IMG
    elements support the following attributes:
    src
    This attribute is required for every
    IMG
    element. It
    specifies a URL for the image resource, for instance a GIF, JPEG or PNG
    image file.
    alt
    This is used to provide a text description of the image and
    is vital for interoperability with speech-based and text only
    user agents.
    align
    This specifies how the image is positioned relative to the current
    textline in which it occurs:
    align=top
    positions the top of the image
    with the top of the current text line. User agents vary in how they
    interpret this. Some only take into account what has occurred on the
    text line prior to the IMG element and ignore what happens after it.
    align=middle
    aligns the middle of the image with the baseline for the
    current textline.
    align=bottom
    is the default and aligns the bottom of the image with the baseline.
    align=left
    floats the image to the current left margin, temporarily changing
    this margin, so that subsequent text is flowed along the image's
    righthand side. The rendering depends on whether there is any left
    aligned text or images that appear earlier than the current image in the
    markup. Such text (but not images) generally forces left aligned images
    to wrap to a new line, with the subsequent text continuing on the former
    line.
    align=right
    floats the image to the current right margin, temporarily changing
    this margin, so that subsequent text is flowed along the image's
    lefthand side. The rendering depends on whether there is any right
    aligned text or images that appear earlier than the current image in the
    markup. Such text (but not images) generally forces right aligned images
    to wrap to a new line, with the subsequent text continuing on the former
    line.
    Note that some browsers introduce spurious spacing with multiple left
    or right aligned images. As a result authors can't depend on this being
    the same for browsers from different vendors. See
    BR
    for ways to control text flow.
    width
    Specifies the intended width of the image in pixels. When given
    together with the height, this allows user agents to reserve screen
    space for the image before the image data has arrived over the network.
    height
    Specifies the intended height of the image in pixels. When given
    together with the width, this allows user agents to reserve screen space
    for the image before the image data has arrived over the network.
    border
    When the
    IMG
    element appears as part of a hypertext
    link, the user agent will generally indicate this by drawing a colored
    border (typically blue) around the image. This attribute can be used to
    set the width of this border in pixels. Use
    border=0
    to
    suppress the border altogether. User agents are recommended to provide
    additional cues that the image is clickable, e.g. by changing the mouse
    pointer.
    hspace
    This can be used to provide white space to the immediate left and
    right of the image. The
    HSPACE
    attribute sets the width of
    this white space in pixels. By default
    HSPACE
    is a small
    non-zero number.
    vspace
    This can be used to provide white space above and below the image
    The
    VSPACE
    attribute sets the height of this white space
    in pixels. By default
    VSPACE
    is a small non-zero number.
    usemap
    This can be used to give a URL fragment identifier for a client-side
    image map defined with the
    MAP
    element.
    ismap
    When the
    IMG
    element is part of a hypertext link, and
    the user clicks on the image, the
    ISMAP
    attribute causes
    the location to be passed to the server. This mechanism causes problems
    for text-only and speech-based user agents. Whenever its possible to
    do so use the
    MAP
    element instead.
    Here is an example of how you use
    ISMAP

    The location clicked is passed to the server as follows. The user
    agent derives a new URL from the URL specified by the
    HREF
    attribute by appending `?' the x coordinate `,' and the y coordinate of
    the location in pixels. The link is then followed using the new URL. For
    instance, if the user clicked at at the location x=10, y=27 then the
    derived URL will be:
    /cgibin/navbar.map?10,27
    . It
    is generally a good idea to suppress the border and use graphical idioms
    to indicate that the image is clickable.
    Note that pixel values refer to screen pixels, and should be
    multiplied by an appropriate factor when rendering to very high
    resolution devices such as laser printers. For instance if a
    user agent has a display with 75 pixels per inch and is rendering
    to a laser printer with 600 dots per inch, then the pixel values
    given in HTML attributes should be multiplied by a factor of 8.
    APPLET
    (Java Applets)

    codebase %URL #IMPLIED -- code base --
    code CDATA #REQUIRED -- class file --
    alt CDATA #IMPLIED -- for display in place of applet --
    name CDATA #IMPLIED -- applet name --
    width %Pixels #REQUIRED -- suggested width in pixels --
    height %Pixels #REQUIRED -- suggested height in pixels --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --
    hspace %Pixels #IMPLIED -- suggested horizontal gutter --
    vspace %Pixels #IMPLIED -- suggested vertical gutter --


    name NMTOKEN #REQUIRED -- The name of the parameter --
    value CDATA #IMPLIED -- The value of the parameter --
    Requires start and end tags. This element is supported by all Java
    enabled browsers. It allows you to embed a Java applet into HTML
    documents.
    APPLET
    uses associated
    PARAM
    elements to pass parameters to the
    applet. Following the
    PARAM
    elements, the content of
    APPLET
    elements should be used to provide an alternative to
    the applet for user agents that don't support Java. It is restricted to
    text-level markup as defined by the
    %text
    entity in
    the DTD. Java-compatible browsers ignore this extra HTML code. You can
    use it to show a snapshot of the applet running, with text explaining
    what the applet does. Other possibilities for this area are a link to a
    page that is more useful for the Java-ignorant browser, or text that
    taunts the user for not having a Java-compatible browser.
    Here is a simple example of a Java applet:

    Java applet that draws animated bubbles.

    Here is another one using a
    PARAM
    element:


    Java applet that plays a welcoming sound.

    codebase =
    codebaseURL
    This optional attribute specifies the base URL of the applet --
    the directory or folder that contains the applet's code.
    If this attribute is not specified,
    then the document's URL is used.
    code =
    appletFile
    This required attribute gives the name of the file
    that contains the applet's compiled Applet subclass.
    This file is relative to the base URL of the applet.
    It cannot be absolute.
    alt =
    alternateText
    This optional attribute specifies any text
    that should be displayed
    if the browser understands the APPLET tag
    but can't run Java applets.
    name =
    appletInstanceName
    This optional attribute specifies a name for the applet instance,
    which makes it possible for applets on the same page
    to find (and communicate with) each other.
    width =
    pixels
    height =
    pixels
    These required attributes give the initial width and height
    (in pixels) of the applet display area,
    not counting any windows or dialogs that the applet brings up.
    align =
    alignment
    This attribute specifies the alignment of the applet.
    This attribute is defined in exactly the same way
    as the
    IMG
    element.
    The permitted values are:
    top
    middle
    bottom
    left
    and
    right
    The default is
    bottom
    vspace =
    pixels
    hspace =
    pixels
    These optional attributes specify the number of pixels above and
    below the applet (
    VSPACE
    ) and on each side of the
    applet (
    HSPACE
    ). They're treated the same way as the
    IMG
    element's
    VSPACE
    and
    HSPACE
    attributes.
    The
    PARAM
    element is used to pass named
    parameters to applet:
    appletParameter
    VALUE =
    value
    PARAM
    elements are the only way to specify applet-specific
    parameters. Applets read user-specified values for parameters with the
    getParameter()
    method.
    name =
    applet parameter name
    value =
    parameter value
    SGML character entities such as
    é
    and
    ¹
    are expanded before the parameter value is passed to the applet.
    To include an & character use
    &
    Note: PARAM elements should be placed at the start of the
    content for the APPLET element. This is not specified as part of the
    DTD due to technicalities with SGML mixed content models.
    FONT

    size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
    color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
    Requires start and end tags. This allows you to change the font size
    and/or color for the enclosed text. The attributes are:
    SIZE
    and
    COLOR
    . Font sizes are given in terms of a scalar range
    defined by the user agent with no direct mapping to point sizes etc.
    The
    FONT
    element may be phased out in future revisions
    to HTML.
    size
    This sets the font size for the contents of the font element. You
    can set size to an integer ranging from 1 to 7 for an absolute font
    size, or specify a relative font size with a signed integer value, e.g.
    size="+1"
    or
    size="-2"
    . This is mapped to an
    absolute font size by adding the current base font size as set by the
    BASEFONT
    element (see below).
    color
    Used to set the color to stroke the text. Colors are given as RGB
    in hexadecimal notation or as one of 16 widely understood
    color names
    defined as per the BGCOLOR attribute
    on the
    BODY
    element.
    Some user agents also support a
    FACE
    attribute which
    accepts a comma separated list of font names in order of preference.
    This is used to search for an installed font with the corresponding
    name.
    FACE
    is not part of HTML 3.2.
    The following shows the effects of setting font to absolute sizes:
    size=1
    size=2
    size=3
    size=4
    size=5
    size=6
    size=7
    The following shows the effect of relative font sizes using
    a base font size of 3:
    size=-4
    size=-3
    size=-2
    size=-1
    size=+1
    size=+2
    size=+3
    size=+4
    The same thing with a base font size of 6:
    size=-4
    size=-3
    size=-2
    size=-1
    size=+1
    size=+2
    size=+3
    size=+4
    BASEFONT

    size CDATA #IMPLIED -- e.g. size=4, defaults to 3 --
    Used to set the base font size.
    BASEFONT
    is an empty
    element so the end tag is forbidden. The
    SIZE
    attribute is
    an integer value ranging from 1 to 7. The base font size applies to the
    normal and preformatted text but not to headings, except where these are
    modified using the
    FONT
    element with a relative font size.
    BR
    Used to force a line break. This is an empty element so the end tag
    is forbidden. The
    CLEAR
    attribute can be used to move down
    past floating images on either margin.
    CLEAR=LEFT>
    moves down past floating images on the left
    margin,


    does the same for floating
    images on the right margin, while


    does
    the same for such images on both left and right margins.
    MAP
    The
    MAP
    element provides a mechanism for 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. The
    MAP
    element requires start and end tags. It contains one or
    more
    AREA
    elements that specify hotzones on the associated
    image and bind these hotzones to URLs.


    name CDATA #REQUIRED


    shape %SHAPE rect
    coords %COORDS #IMPLIED -- defines coordinates for shape --
    href %URL #IMPLIED -- this region acts as hypertext link --
    nohref (nohref) #IMPLIED -- this region has no action --
    alt CDATA #REQUIRED -- needed for non-graphical user agents --
    Here is a simple example for a graphical navigational toolbar:


    Access Guide
    Search
    Go
    Top Ten

    The
    MAP
    element has one attribute
    NAME
    which is used to associate a name with a map. This is then used by the
    USEMAP
    attribute on the
    IMG
    element to
    reference the map via a URL fragment identifier. Note that the value of
    the
    NAME
    attribute is case sensitive.
    The
    AREA
    element is an empty element and so the end tag
    is forbidden. It takes the following attributes:
    SHAPE
    COORDS
    HREF
    NOHREF
    and
    ALT
    . The
    SHAPE
    and
    COORDS
    attributes define a region on the image. If the
    SHAPE
    attribute is omitted,
    SHAPE="RECT"
    is assumed.
    shape=rect coords="
    left-x
    top-y
    right-x
    bottom-y
    shape=circle coords="
    center-x
    center-y
    radius
    shape=poly
    coords="
    ...
    Where
    and
    are measured in pixels from the left/top
    of the associated image. If
    and
    values are given with a
    percent sign as a suffix, the values should be interpreted as percentages
    of the image's width and height, respectively. For example:
    SHAPE=RECT COORDS="0, 0, 50%, 100%"
    The
    HREF
    attribute gives a URL for the target of the
    hypertext link. The
    NOHREF
    attribute is used when you want
    to define a region that doesn't act as a hotzone. This is useful when
    you want to cut a hole in an underlying region acting as a hotzone.
    If two or more regions overlap, the region defined first in the map
    definition takes precedence over subsequent regions. This means that
    AREA
    elements with
    NOHREF
    should generally be
    placed before ones with the
    HREF
    attribute.
    The
    ALT
    attribute is used to provide text labels which
    can be displayed in the status line as the mouse or other pointing
    device is moved over hotzones, or for constructing a textual menu for
    non-graphical user agents. Authors are
    strongly recommended
    to
    provide meaningful
    ALT
    attributes to support
    interoperability with speech-based or text-only user agents.
    Sample SGML Open Catalog for HTML 3.2
    This can be used with an SGML parser like nsgmls to verify that
    files conform to the HTML 3.2 DTD. It assumes that the DTD has been
    saved as the file "HTML32.dtd" and that the Latin-1 entities are
    in the file "ISOlat1.ent".
    -- html32.soc: catalog for parsing HTML 3.2 documents --
    SGMLDECL "HTML32.dcl"
    PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" HTML32.dtd
    PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN" HTML32.dtd
    PUBLIC "-//W3C//DTD HTML 3.2//EN" HTML32.dtd
    PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" ISOlat1.ent
    SGML Declaration for HTML 3.2
    This uses the 8 bit ISO Latin-1 character set. The size limits on
    properties like literals and tag names have been considerably increased
    from their HTML 2.0 values, but it is recommended that user agents avoid
    imposing arbitrary length limits.
    --
    SGML Declaration for HyperText Markup Language version 3.2

    With support for ISO Latin-1 and increased limits
    for tag and literal lengths etc.
    --

    CHARSET
    BASESET "ISO 646:1983//CHARSET
    International Reference Version
    (IRV)//ESC 2/5 4/0"
    DESCSET 0 9 UNUSED
    9 2 9
    11 2 UNUSED
    13 1 13
    14 18 UNUSED
    32 95 32
    127 1 UNUSED
    BASESET "ISO Registration Number 100//CHARSET
    ECMA-94 Right Part of
    Latin Alphabet Nr. 1//ESC 2/13 4/1"
    DESCSET 128 32 UNUSED
    160 96 32

    CAPACITY SGMLREF
    TOTALCAP 200000
    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 646:1983//CHARSET
    International Reference Version
    (IRV)//ESC 2/5 4/0"
    DESCSET 0 128 0

    FUNCTION
    RE 13
    RS 10
    SPACE 32
    TAB SEPCHAR 9

    NAMING LCNMSTRT ""
    UCNMSTRT ""
    LCNMCHAR ".-"
    UCNMCHAR ".-"
    NAMECASE GENERAL YES
    ENTITY NO
    DELIM GENERAL SGMLREF
    SHORTREF SGMLREF
    NAMES SGMLREF
    QUANTITY SGMLREF
    ATTSPLEN 65536
    LITLEN 65536
    NAMELEN 65536
    PILEN 65536
    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
    HTML 3.2 Document Type Definition

    "-//W3C//DTD HTML 3.2 Final//EN"

    -- Typical usage:



    ...

    --

    -- meaning a MIME content type, as per RFC1521
    -->

    -- as per HTTP specification
    -->

    -- The term URL means a CDATA attribute
    whose value is a Uniform Resource Locator,
    See RFC1808 (June 95) and RFC1738 (Dec 94).
    -->


    ]]>

    "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
    %ISOlat1;





    size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
    color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --


    size CDATA #IMPLIED -- e.g. size=3 --


    clear (left|all|right|none) none -- control of text flow --


    "P | %list | %preformatted | DL | DIV | CENTER |
    BLOCKQUOTE | FORM | ISINDEX | HR | TABLE">

    bgcolor %color #IMPLIED
    text %color #IMPLIED
    link %color #IMPLIED
    vlink %color #IMPLIED
    alink %color #IMPLIED
    ">


    background %URL #IMPLIED -- texture tile for document background --
    %body-color-attrs; -- bgcolor, text, link, vlink, alink --


    align (left|center|right) #IMPLIED -- alignment of following text --



    name CDATA #IMPLIED -- named link end --
    href %URL #IMPLIED -- URL for linked resource --
    rel CDATA #IMPLIED -- forward link types --
    rev CDATA #IMPLIED -- reverse link types --
    title CDATA #IMPLIED -- advisory title string --



    name CDATA #IMPLIED


    shape %SHAPE rect
    coords %COORDS #IMPLIED -- defines coordinates for shape --
    href %URL #IMPLIED -- this region acts as hypertext link --
    nohref (nohref) #IMPLIED -- this region has no action --
    alt CDATA #REQUIRED -- needed for non-graphical user agents --

    -- See Internet Draft: draft-ietf-html-relrev-00.txt
    LINK has been part of HTML since the early days
    although few browsers as yet take advantage of it.

    Relationship values can be used in principle:

    a) for document specific toolbars/menus when used
    with the LINK element in the document head:
    b) to link to a separate style sheet
    c) to make a link to a 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
    -->


    href %URL #IMPLIED -- URL for linked resource --
    rel %Types #IMPLIED -- forward link types --
    rev %Types #IMPLIED -- reverse link types --
    title CDATA #IMPLIED -- advisory title string --



    src %URL #REQUIRED -- URL of image to embed --
    alt CDATA #IMPLIED -- for display in place of image --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --
    height %Pixels #IMPLIED -- suggested height in pixels --
    width %Pixels #IMPLIED -- suggested width in pixels --
    border %Pixels #IMPLIED -- suggested link border width --
    hspace %Pixels #IMPLIED -- suggested horizontal gutter --
    vspace %Pixels #IMPLIED -- suggested vertical gutter --
    usemap %URL #IMPLIED -- use client-side image map --
    ismap (ismap) #IMPLIED -- use server image map --




    codebase %URL #IMPLIED -- code base --
    code CDATA #REQUIRED -- class file --
    alt CDATA #IMPLIED -- for display in place of applet --
    name CDATA #IMPLIED -- applet name --
    width %Pixels #REQUIRED -- suggested width in pixels --
    height %Pixels #REQUIRED -- suggested height in pixels --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --
    hspace %Pixels #IMPLIED -- suggested horizontal gutter --
    vspace %Pixels #IMPLIED -- suggested vertical gutter --


    name NMTOKEN #REQUIRED -- The name of the parameter --
    value CDATA #IMPLIED -- The value of the parameter --


    align (left|right|center) #IMPLIED
    noshade (noshade) #IMPLIED
    size %Pixels #IMPLIED
    width %Length #IMPLIED


    align (left|center|right) #IMPLIED


    align (left|center|right) #IMPLIED


    width NUMBER #implied -- is this widely supported? --

    -- historical, non-conforming parsing mode where
    the only markup signal is the end tag
    in full
    -->


    ]]>


    compact (compact) #IMPLIED -- more compact style --



    type %OLStyle #IMPLIED -- numbering style --
    start NUMBER #IMPLIED -- starting sequence number --
    compact (compact) #IMPLIED -- reduced interitem spacing --

    type (%ULStyle) #IMPLIED -- bullet style --
    compact (compact) #IMPLIED -- reduced interitem spacing --


    compact (compact) #IMPLIED
    compact (compact) #IMPLIED





    type %LIStyle #IMPLIED -- list item style --
    value NUMBER #IMPLIED -- reset sequence number --


    action %URL #IMPLIED -- server-side form handler --
    method (%HTTP-Method) GET -- see HTTP specification --
    enctype %Content-Type; "application/x-www-form-urlencoded"

    "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
    | RESET | FILE | HIDDEN | IMAGE)">


    type %InputType TEXT -- what kind of widget is needed --
    name CDATA #IMPLIED -- required for all but submit and reset --
    value CDATA #IMPLIED -- required for radio and checkboxes --
    checked (checked) #IMPLIED -- for radio buttons and check boxes --
    size CDATA #IMPLIED -- specific to each type of field --
    maxlength NUMBER #IMPLIED -- max chars allowed in text fields --
    src %URL #IMPLIED -- for fields with background images --
    align %IAlign #IMPLIED -- vertical or horizontal alignment --


    name CDATA #REQUIRED
    size NUMBER #IMPLIED
    multiple (multiple) #IMPLIED


    selected (selected) #IMPLIED
    value CDATA #IMPLIED -- defaults to element content --


    name CDATA #REQUIRED
    rows NUMBER #REQUIRED
    cols NUMBER #REQUIRED



    "align (left|center|right) #IMPLIED"


    "valign (top|middle|bottom) #IMPLIED"



    align %Where; #IMPLIED -- table position relative to window --
    width %Length #IMPLIED -- table width relative to window --
    border %Pixels #IMPLIED -- controls frame width around table --
    cellspacing %Pixels #IMPLIED -- spacing between cells --
    cellpadding %Pixels #IMPLIED -- spacing within cells --


    align (top|bottom) #IMPLIED

    %cell.halign; -- horizontal alignment in cells --
    %cell.valign; -- vertical alignment in cells --

    nowrap (nowrap) #IMPLIED -- suppress word wrap --
    rowspan NUMBER 1 -- number of rows spanned by cell --
    colspan NUMBER 1 -- number of cols spanned by cell --
    %cell.halign; -- horizontal alignment in cell --
    %cell.valign; -- vertical alignment in cell --
    width %Pixels #IMPLIED -- suggested width for cell --
    height %Pixels #IMPLIED -- suggested height for cell --

    -- 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.
    -->


    prompt CDATA #IMPLIED -- prompt message -->


    href %URL #REQUIRED


    http-equiv NAME #IMPLIED -- HTTP response header name --
    name NAME #IMPLIED -- metainformation name --
    content CDATA #REQUIRED -- associated information --



    ]]>


    %version.attr;
    Character Entities for ISO Latin-1


































































































    Table of printable Latin-1 Character codes
    Acknowledgements
    The author would like to thank the members of the W3C HTML Editorial
    Review Board, members of the W3C staff, and the many other people who
    have contributed to this specification.
    Further Reading
    The World Wide Web Consortium
    Further information on W3C activities and pointers to the
    status of work on HTML and HTTP etc. can be found at
    Further information on HTML in particular can be found at
    HTML 2.0 (RFC1866)
    By Tim Berners-Lee and Dan Connolly, November 1995.
    Defines the Hypertext Markup Language Specification Version 2.0.
    Available from
    ftp://ds.internic.net/rfc/rfc1866.txt
    Form-based File Upload in HTML (RFC1867)
    By E. Nebel and L. Masinter, November 1995. Describes extensions to
    HTML 2.0 (RFC1866) to support file upload from HTML forms.
    Available from
    ftp://ds.internic.net/rfc/rfc1867.txt
    HTML Tables (RFC1942)
    By Dave Raggett, May 1996. This defines the HTML table model. It is a superset
    of the table model defined by HTML 3.2.
    Available from
    ftp://ds.internic.net/rfc/rfc1942.txt
    or as a W3C working draft at
    A Lexical Analyzer for HTML and Basic SGML
    By Dan Connolly, June 1996. Describes lexical considerations for parsing
    HTML documents. Available from
    The Hypertext Transfer Protocol (HTTP)
    Further information of HTTP can be found at:
    A Standard Default Color Space for the Internet - sRGB
    By Michael Stokes, Mathew Anderson, Srinivasan Chandrasekar and Ricardo
    Motta, November 1996. Available from:
    This provides a precise definition for RGB that allows sRGB images
    to be reproduced accurately on different platforms and media under varying
    ambient lighting conditions.
    W3C
    MIT
    INRIA
    Keio
    ), All Rights Reserved. W3C
    liability,
    trademark
    document
    use
    and
    software
    licensing
    rules apply.