[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[HtmSt] use case

The implementation of the HtmSt framework is generated by parsing the HTML specification from a file (doing this way reduced human related errors and make the upgrade to new versions of HTML easier).

The implementation of the code generator is embedded in sample[VSE] HtmSt.

The file that was parsed to generate code follows (under title HTML Spec).

A post generation fileIn was used to add cpmments and categories to implementation. The post-proccessing code code is attached to this page as HTMLSt.Cat

HTML spec

title:HTML Specification
version:3.0+
author:Alejandro F. Reimondo
;debug:true

; indicates comment
; empty lines are skipped
;
;<startToken>className,[superClass],conformanceLevel,[(events)],[comment withCrs]
;   propertyName[#msgSelector],[Type[(alternatives)]],[comments withCrs]
;</stopToken>

;   FileHandle cleanHandles. HTMLSpecificationReader fileIn: 'HtmlSpec.Txt'
;

<>Element,,,\\    Parts of an HTML Page.\    See:\        WWW Consortium at http://www.w3.org/hypertext/WWW/Consortium/\        rfc1866 "Hypertext Markup Language - 2.0" at ftp://ds.internic.net/rfc/rfc1866.txt\        rfc1867 "Form-based File Upload in HTML" at ftp://ds.internic.net/rfc/rfc1867.txt\        ISO Standard 8879:1986 at http://www.iso.ch/cate/d16387.html\\    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 document reviews the design requirements for forms in hypertext\         documents and presents some possible directions for extending HTML 2.0 to meet these\         requirements. A phased implementation plan is proposed.
    lang,,This is one of the ISO standard language abbreviations, e.g.\    ''en.uk'' for the variation of English spoken in the United Kingdom.\    It can be used by parsers to select language specific choices for quotation marks, ligatures and hypenation rules etc.\    The language attribute is composed from the two letter language  code from ISO 639, optionally followed by a period and a two letter country code from ISO 3166.\    The LANG and DIR attributes are introduced with the internationalization proposal.
    dir,(ltr|rtl),The LANG and DIR attributes are introduced with the internationalization proposal.
    charset,,The CHARSET attribute is a hint as to the expected character set used by this element.
    id,,An SGML identifier used as the target for hypertext links or for naming particular elements in associated style sheets.\    Identifiers are NAME tokens and must be unique within the scope of the current document.\    Earlier proposals suggest changing the NAME attribute to ID, declaring the NAME attribute as obsolete, and adding an ID attribute for various elements including the paragraph and heading elements. With the ID, MD, and CLASS attributes as part of the style sheet proposal, this is likely to change.
    class#htmlClass,,This a space separated list of SGML NAME tokens and is used to subclass tag names.\    For instance, <DIV CLASS=APPENDIX> defines a division that acts as an appendix.\    By convention, the class names are interpreted hierarchically, with the most general class on the left and the most specific on the right, where classes are separated by a period.\    The CLASS attribute is most commonly used to attach a different style to some element, but it is recommended that where practical class names should be picked on the basis of the element's semantics, as this will permit other uses, such as restricting search through documents by matching on element class names.\    Earlier proposals suggest changing the NAME attribute to ID, declaring the NAME attribute as obsolete, and adding an ID attribute for various elements including the paragraph and heading elements. With the ID, MD, and CLASS attributes as part of the style sheet proposal, this is likely to change.
    md#messageDigest,,Specifies a message digest or cryptographic checksum for the associated graphic specified by the SRC attribute.\    It is used when you want to be sure that a linked object is indeed the same one that the author intended, and hasn't been modified in any way.\    For instance, MD='md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ', which specifies an MD5 checksum encoded as a base64 character string.\    The MD attribute is generally allowed for all elements which support URI based links.\    Earlier proposals suggest changing the NAME attribute to ID, declaring the NAME attribute as obsolete, and adding an ID attribute for various elements including the paragraph and heading elements. With the ID, MD, and CLASS attributes as part of the style sheet proposal, this is likely to change.
</>

<>ComposedElement,Element,,\\    Parts of an HTML Page containing another parts.
; no properties defined at this level
</>

<>FormElement,ComposedElement,,\\    Parts for CGI-Forms composition.
    name,,NAME specifies a name for this instance.
    tabIndex,,The keyboard focus determines which object in a document gets keyboard events.\    Until now, most browsers require you to use the mouse (or other pointer device) to give the focus to the form field you wish to interact with.\\    The proposed tabindex attribute: \\         Identifies elements in the document which are reachable via the tab key \         Specifies a integer value (e.g. tabindex=4) defining the order in which the tab key traverses the elements\         Can be supplied with any element that can be given the keyboard focus, e.g. INPUT, SELECT, TEXTAREA and A (anchors)\         The treatment of elements without explicit values for TABINDEX or when a document is partially loaded is user agent dependent.
    shortcut,,Most windowing systems allow authors to specify short cuts for certain actions, for instance Control-X to cut and Control-V to paste.\    The SHORTCUT attribute is proposed for defining short cuts, e.g. shortcut="x".\    The attribute value is case sensitive and specifies a letter or other character to be used with the control key or command key, depending on the platform. On the Macintosh, the command (or apple key) is used, while other platforms tend to use the control key. 
    accessKey,,On Windows, you can use the Alt key plus a letter to drive menus without needing to use the pointer device.\     For a given menu action, you typically need to use several Alt+letter key presses to invoke the action.\    This is in contrast to keyboard short cuts which invoke actions with a single key press.\    The ACCESSKEY attribute is proposed for defining access keys. The attribute value is a case sensitive letter, e.g. accesskey="T".\    Browsers are recommended to underline the corresponding letter in the label. 
</>

<!>Comment,ComposedElement,,\\    Comment of anHTMLPage.
; no properties defined at this level
</>

<>ServerSideInclude,Comment,,\\    Server Side Include of anHTMLPage.
    file,URL,Include - Receiver's tag file.
    virtual,URL,Include - Receiver's tag virtual.
    var,URL,Include - Receiver's tag var.
    cmd,,Exec - Receiver's tag for OS command scripts.
    cgi,,Exec - Receiver's tag for cgi-bin scripts.
</>

<>FrameElement,ComposedElement,,\\    Parts for Frame composition.
; no properties defined at this level
</>

<>GraphicElement,ComposedElement,,\\    Graphic parts of an HTML Document.
    width,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.\    If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    height,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.\    If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    src#source,URL,The SRC attribute value is the URL of the graphicPart to be displayed in this frame.
    alt#alternate,,ALT specifies parsed character data to be displayed if the brower can't display element.\    Some image capable browsers will display the ALT text until the full image is retrieved.
    hSpace,,VSPACE and HSPACE specify the reserved space around the receiver (in pixels).
    vSpace,,VSPACE and HSPACE specify the reserved space around the receiver (in pixels).
</>

<>MapElement,ComposedElement,,\\    Parts for MAPs composition.
; no properties defined at this level
</>

<>TableElement,ComposedElement,,\\    Parts for MAPs composition.
    align,Align,ALIGN specifies the display alignment.
</>

<>TableCellElement,TableElement,,\\    Parts for table cell composition.
    valign,VerticalAlign(top|middle|bottom|baseline),VALIGN specifies the vertical display alignment. 
    noWrap,Boolean,The NOWRAP attribute will suppress word wrap.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
</>

<>Text,ComposedElement,,\\    Parts for text composition.
; no properties defined at this level
</>

<>Link,Text,,\\    Parts for modeling HTML links in text.
    href,URL,Define the address of the destination.\    This names an object using the URI notation. 
    rel,RelationShip,This defines the relationship defined by the link.\    At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    rev,RelationShip,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-- URI, or a link to the author's home page.\    At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    urn,Obsolete,URN is for a Universal Resource Number, and is not currently used or supported, and is a Level 1 attribute. RFC 1866 describes it as a preferred, more persistent identifier than the value of HREF.
    title,,TITLE is little used or supported, and is a Level 1 attribute, but is expected to be the title of the HREF document. RFC 1866 suggests TITLE can be displayed as a margin note or on a small box while the mouse is over the anchor.
    methods,HTTPMethods,METHODS is little used or supported, but is expected to be a white-space-separated list of HTTP METHODS supported by the object and accessible to the user. RFC 1866 suggests that the content of the A element may be rendered differently depending upon the HTTP method.
</>

<A>Anchor,Link,0,(mouseOver),\\    The Anchor element brackets (or anchors) a piece of text (and/or image) which is identified as a hypertext link.
;    href,URL, implemented in HTMLLink
    name,,Earlier proposals suggest changing the NAME attribute to ID, declaring the NAME attribute as obsolete, and adding an ID attribute for various elements including the paragraph and heading elements.
    rel,RelationShip,At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    rev,RelationShip,At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    urn,Obsolete,URN is for a Universal Resource Number, and is not currently used or supported, and is a Level 1 attribute. RFC 1866 describes it as a preferred, more persistent identifier than the value of HREF.
    title,, TITLE is little used or supported, and is a Level 1 attribute, but is expected to be the title of the HREF document. RFC 1866 suggests TITLE can be displayed as a margin note or on a small box while the mouse is over the anchor.
    methods,HTTPMethods,METHODS is little used or supported, but is expected to be a white-space-separated list of HTTP METHODS supported by the object and accessible to the user. RFC 1866 suggests that the content of the A element may be rendered differently depending upon the HTTP method.
    target,,TARGET is a Netscape 2.0 extension to define a window name for use by the retrieved hyperlink. If the named window is not already open, Netscape 2.0 will open a new window and assign it that name. See also the FRAME element for naming a window.
    shape,Shape,SHAPE is proposed to provide a mechanism to define multiple A elements and corresponding "hotzones" within the proposed FIG element,to perform the equivalent function of ISMAP without the need for writing a responding cgi-bin program.For an alternate proposal, see the MAP element.
    tabIndex,,The keyboard focus determines which object in a document gets keyboard events.\    Until now, most browsers require you to use the mouse (or other pointer device) to give the focus to the form field you wish to interact with.\\    The proposed tabindex attribute: \\         Identifies elements in the document which are reachable via the tab key \         Specifies a integer value (e.g. tabindex=4) defining the order in which the tab key traverses the elements\         Can be supplied with any element that can be given the keyboard focus, e.g. INPUT, SELECT, TEXTAREA and A (anchors)\         The treatment of elements without explicit values for TABINDEX or when a document is partially loaded is user agent dependent.
</A>

; <ABBREV> implemented by HTMLParagraph
; <ACRONYM> implemented by HTMLParagraph
; <ADDRESS> implemented by HTMLParagraph
;<APP> Obsoleted by <APPLET>

<APPLET>Applet,GraphicElement,0,\\    The APPLET element replaced the APP element as the mechanism to identify and invoke a JAVA(tm) application.
    code,URL,CODE is the name of the file that contains the compiled Applet subclass. This name is relative to the base URL of the applet and cannot be an absolute URL.
    codeBase,URL,CODEBASE specifies the base URL of the applet.
    width,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.\    If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    height,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.\    If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    alt#alternate,,ALT specifies parsed character data to be displayed if the brower understands the APPLET tag but can't/won't run them.
    name,,NAME specifies a name for the applet instance,which allows applets on the same page to commuicate with each other. 
    align,Align(left|right|top|texttop|middle|absmiddle|baseline|bottom|absbottom),ALIGN specifies the display alignment. 
    vSpace,,VSPACE and HSPACE specify the reserved space around the applet (in pixels).
    hSpace ,,VSPACE and HSPACE specify the reserved space around the applet (in pixels).
</APPLET>

<AREA>Area,GraphicElement,0,\\    The AREA element specifies a single area of an image which, if selected, will link to the hyperlink identified by HREF.\    If multiple AREA elements in the same MAP define overlapping areas, the first encountered takes precedence.\    The AREA element is part of a proposed enhancement to provide client-side image maps.
    coords#points,ValueList,COORDS describes the position of an area (in pixels) of the image in comma-separated x,y coordinates where the upper-left corner is "0,0". 
    shape,(rect|circle|polygon|default),  For SHAPE=rect (the default), it is "left,top,right,bottom". For SHAPE=circle, it is "center_x,center_y,radius". For SHAPE=polygon, it is successive x,y vertices of the polygon. If the first and last coordinates are not the same, then a segment is inferred to close the polygon.
    nohref,Boolean,The NOHREF indicates that this region should generate no links.
    alt,,The ALT attribute specifies optional parsed character data to describe the area which could be displayed by a text-only browser as a substitute for the image.
    href,URL,Define the address of the destination.\    This names an object using the URI notation. 
</AREA>

; <AU> implemented by HTMLParagraph

<Base>Base,ComposedElement,0,\\    The BASE element provides the absolute URL base to be used for any relative URL links in this document. It must be a complete file name, and is usually the original URL of this document. If this file is moved, having the BASE set to the original URL eliminates the need to also move all the documents which are identified by relative URL links in this document.
    href,URL,Define the address of the destination.\    This names an object using the URI notation. 
    target,,Netscape 2.0 defines the TARGET attribute to define a default named target window for every link in a document that does not have an explicit TARGET attribute. 
</Base>

<BASEFONT>BaseFont,Text,0,\\    Change the document base font size to one of the seven defined sizes. The default is 3.
    size,Size,Change the document base font size to one of the seven defined sizes.
</BASEFONT>

<BDO>DirectionalOverride,ComposedElement,0,\\    The BDO element is a directional override feature needed to deal with unusual pieces of text in which directionality cannot be resolved from context in an unambiguous fashion. It requires the DIR attribute. The meaning of DIR is different on BDO than on inline text markup elements. For BDO the DIR attribute is a bidi override, forcing the directionnality of even those characters that have strong directionnality. On inline elements, DIR indicates a new directional embedding level, affecting mostly the neutrals and the overall layout. The BDO element is a proposed element as part of the enhancement to deal with internationalization of HTML.
</BDO>

<BGSOUND>BackgroundSound,ComposedElement,0,\\    The BGSOUND element will cause an audio file to be presented as background to the document. 
    src#source,URL,SRC specifies the URL of the audio file to be played.
    loop,,LOOP specifies how many times the sound will be displayed while the HTML document is displayed, and can either be a number or the string "infinite".\    The default for LOOP is one.\    Considerable opposition to the use of this element has been expressed on the Web, especially the use of LOOP=infinite, since users currently have no way to disable the audio.
</BGSOUND>

<BIG>BIG,Text,0,\\    The BIG element changes the physical rendering of the contents of the element to a bigger font than normal text, if practical. 
</BIG>

<BLINK>Blink,Text,0,\\    The BLINK element changes the physical rendering of the contents of the element to a blinking font.
</BLINK>

; <BLOCKQUOTE> implemented by HTMLParagraph
; <BQ> implemented by HTMLParagraph

<BODY>Body,ComposedElement,0,(load unLoad),\\    The BODY element contains all the content of the document, as opposed to the HEAD, which contains information about the document. All displayable elements should be within the content of the BODY. 
    background,URL,BACKGROUND attribute, which is a URL to point to an image to be reproduced to fill the background of the document.
    bgColor#backColor,Color,The BGCOLOR attribute defines the background color for the receiver, which is specified as an "#rrggbb" number, or the following color names: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White.
    text#textColor,Color,The TEXT attribute defines the text color for the receiver, which is specified as an "#rrggbb" number, or the following color names: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White.
    link#linkColor,Color,
    vlink#visitedLinkColor,Color,
    alink#activeLinkColor,Color,
    bgProperties,(fixed),BGPROPERTIES is an MS Internet Explorer 2.0 extension and currently only accepts the value of "fixed" which provides a watermark (non-scrolling) background image.
</BODY>

<BR>LineBreak,ComposedElement,0,\\    The BR element breaks for a new line, but does not produce separation of text. 
    clear,Clear(left|right|all),Breaks for a new line, but does not produce separation of text. 
</>

<BUTTON>Button,ComposedElement,0,\\        The new BUTTON element is more flexible and allows images as well as text.\    The button's label is centered. The width and height are by default adjusted to fit the label.
    disable,Boolean,The DISABLE attribute greys the button's label and disactivates the button.
    width,, The width and height are by default adjusted to fit the label, but you can specify WIDTH and HEIGHT attributes in pixels. Leading and trailing white space characters on each line are ignored.
    height,, The width and height are by default adjusted to fit the label, but you can specify WIDTH and HEIGHT attributes in pixels. Leading and trailing white space characters on each line are ignored.
    active,Boolean,The ACTIVE attribute places the button into a permanently depressed state, and works independently of the DISABLE attribute.
</BUTTON>

<CAPTION>Caption,TableElement,0,\\    The CAPTION element is used to label a table or figure.
    align,Align(top|bottom|left|right),The ALIGN attribute specifies on which outside edge to place the caption.
</CAPTION>

<CENTER>Center,Text,0,\\    All contents within the CENTER element is to be centered between the current left and right margin.
</CENTER>

; <CITE> implemented by HTMLParagraph
; <CODE> implemented by HTMLParagraph

<COL>Col,TableElement,0,\\    The COL element specifies column based defaults for table properties.\\    The COL element is part of the new proposed standard tables structure. It is not widely implemented in existing browsers. The order of placement of a series of COL elements within the TABLE content (or within a COLGROUP) is significant, and describes the columns in the TABLE DIR presentation order, first to last.
    span,PositiveInteger,SPAN is a positive integer that specifies how many columns this element applies to, defaulting to one. SPAN=0 implies all columns from the current column up to and including the last column.
    width,,WIDTH is a decimal number which specifies the width of each column in the span. The default units is pixels, but may be specified by a suffix on the number. The standard defined units suffixes include: pt=points, pi=picas, in=inches, cm=centimeters, mm=millimeters, em=em units, px=screen pixels. In addition, the special suffix of an asterisk may be used to specify a number to be used as a multiplier of a "standard" column width. This is used to specify the widths of columns proportionately relative to each other. If a number does not accompany the asterisk it defaults to one. Specifying WIDTH="0*" forces the column to its minimum width.
    align,Align(left|center|right|justify|char),ALIGN and VALIGN define the alignment of text within a table cell. If ALIGN=char,CHAR specifies the alignment character which defaults to the decimal point for the current language.
    char,,CHAR specifies the alignment character which defaults to the decimal point for the current language.
    charoff,,CHAROFF is a decimal number that specifies the offset for the alignment character from the beginning of the table cell in the DIR direction. Units may be specified using the standard defined units suffixes plus the special suffix of the percent sign indicating the percentage of offset within the cell from the beginning of the cell. 
    valign,VerticalAlign(top|middle|bottom|baseline),ALIGN and VALIGN define the alignment of text within a table cell.
</COL>

<COLGROUP>ColGroup,Col,0,\\    The COLGROUP element defines a group of one or more columns and specifies the defaults for all the columns in this group.
; Same parameters of Col
</COLGROUP>

<CREDIT>Credit,TableElement,0,\\    The CREDIT element is used to name the source of a block quotation or figure. 
</CREDIT>

; <DD> implemented by HTMLParagraph
; <DEL> implemented by HTMLParagraph
; <DFN> implemented by HTMLParagraph

<DIV>Div,Text,0,\\    The DIV element is proposed to be used with the CLASS attribute to represent different kinds of containers, e.g. chapter, section, abstract, or appendix. 
    align,Align(left|center|right|justify),ALIGN specifies the display alignment.
    noWrap,Boolean,The NOWRAP attribute will suppress word wrap.
    clear,Clear(left|right|all),
</DIV>

; <DL> implemented by HTMLParagraph

<!DOCTYPE>DocumentType,Element,0,\\    Used for document version conformance specification as HTMLPage types.
    html,Boolean,Register the receiver as an html document
    system,Boolean,Register the receiver as a system document
    public,Boolean,Register the receiver as a public document
</>

; <DT> implemented by HTMLParagraph

<EMBED>Embed,GraphicElement,0,\\    The EMBED element defines a container that allows the insertion of arbitrary objects directly into an HTML page. Embedded objects are supported by application-specific plug-ins. EMBED is defined to allow arbitrary attributes.\\    The EMBED element is a Netscape 2.0 extension. Netscape gives as examples of plug-in applications: WebFX by Paper Software for viewing VRML (Virtual Reality Modeling Language) worlds, Adobe Acrobat for PDF documents, and Macromedia Director and Apple QuickTime for multimedia.\     Netscape's examples do not include the ending element, but their documentation does not specify what would imply the end of the EMBED content if the ending element is absent.\   The concept of arbitrary undefined attributes violates the underlying SGML standard of HTML.\    * Change is expected in this element.\    * See also the APPLET element. The Netscape documentation does not currently define the units for HEIGHT and WIDTH but examples would imply that they are pixels. The object's image will be scaled to fit the specified height/width. Embedded plug-in applications may be activated by double-clicking their image.
;    src#source,URL, implemented in GraphicElement
;    width,, implemented in GraphicElement
;    height,, implemented in GraphicElement
;    attribute_#,,  implemented coding by hand...
</EMBED>

<FIG>Figure,GraphicElement,0,\\    The FIG element is an advanced form of the IMG element to define an image, with optional overlays, text elements and "hotzones", to be inserted within a document.\    The structure of the contents of the FIG element expects a series of optional overlay images defined by OVERLAY elements, followed by an optional CAPTION element, followed by text to be presented as an alternative to the image(s) and which may contain normal text elements as well as hypertext links defined by A elements with SHAPE attributes to identify "hotzones" on the image, finally completed by an optional CREDIT element. 
;    src#source,URL, implemented in GraphicElement
    clear,Clear(left|right|all),
    noflow,Boolean,
    align,Align(left|right|center|justify|bleedleft|bleedright),ALIGN specifies the display alignment.
;    width,, implemented in GraphicElement
;    height,, implemented in GraphicElement
    units,,Version 3 proposes the UNITS attribute for use by the WIDTH and HEIGHT attributes to define units other than pixels.\    The default units is pixels.\    The standard defined units suffixes include: pt=points, pi=picas, in=inches, cm=centimeters, mm=millimeters, em=em units, px=screen pixels.
    imageMap,URL,
</FIG>

; <FN> implemented by HTMLParagraph

<FONT>Font,BaseFont,0,\\    The FONT element changes the font size of the following characters to one of the seven defined sizes, or plus or minus from the document BASEFONT size. 
;    size,Size, implemented in BaseFont
    color,Color,Netscape 2.0 and MS Internet Explorer 2.0 added the COLOR attribute.\    Netscape requires an "#rrggbb" number, while Internet Explorer also accepts the following color names: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White.
    face,,The FACE attribute is a MS Internet Explorer 2.0 extension to specify a font style, but the permitted values are not defined. 
</FONT>

<FORM>Form,ComposedElement,2,\\    The FORM element creates a fill-out form.\    The browser permits the user to enter information in the fields of the form and sends this information to a cgi-bin script on a server identified as a URL by the ACTION attribute.\    METHOD=GET (the default) appends the input information to the ACTION URL which on most receiving systems becomes the value of the environment variable QUERY_STRING.\    METHOD=POST (the preferred) sends the input information in a data body which is available on stdin with the data length set in the environment variable CONTENT_LENGTH. Form data is a stream of name=value pairs separated by the & character. Each name=value pair is URL encoded, i.e. spaces are changed into the plus character and some characters are encoded into hexadecimal.\    At least one of the following is expected inside the FORM contents: INPUT, SELECT, TEXTAREA. 
    action,URL,Most current browsers only handle ACTION for the http: access type, but proposals for handling the mailto: access type are being discussed.
    method,(GET|POST), METHOD=GET (the default) appends the input information to the ACTION URL which on most receiving systems becomes the value of the environment variable QUERY_STRING.\    METHOD=POST (the preferred) sends the input information in a data body which is available on stdin with the data length set in the environment variable CONTENT_LENGTH. Form data is a stream of name=value pairs separated by the & character. Each name=value pair is URL encoded, i.e. spaces are changed into the plus character and some characters are encoded into hexadecimal.
    encType,,The original definition of FORM only defined the default value of application/x-www-form-urlencoded for the ENCTYPE attribute.\    RFC 1867 adds the value of multipart/form-data for this attribute to permit a FORM to upload one or more files in addition to the FORM data. METHOD=POST is required with this value of ENCTYPE.\    This file upload extension is implemented in Netscape 2.0.
    accept-charset#acceptCharSet,,ACCEPT-CHARSET attribute is to provide a hint as to the character set or sets that the receiving URL is prepared to handle.
    script,URL,Version 3 proposes the SCRIPT attribute to specify a URL which contains a limited syntax script to be downloaded to the browser for execution to preprocess the FORM output before sending it to the ACTION destination. This SCRIPT proposal may change as part of the new proposals concerning APPLET and EMBED.
</FORM>

<FRAME>Frame,FrameElement,0,\\    The FRAME element defines a single frame in a frameset.
    src#source,URL,The SRC attribute value is the URL of the document to be displayed in this frame.
    name,,The NAME element assigns a name to the frame to be used as a target of hyperlinks.
    marginWidth,,Netscape 2.0 defines the units for MARGINWIDTH and MARGINHEIGHT as pixels. 
    marginHeight,,Netscape 2.0 defines the units for MARGINWIDTH and MARGINHEIGHT as pixels. 
    scrolling,(yes|no|auto),The SCROLLING attribute is used to define whether the frame should have a scrollbar, and defaults to the value 'auto'. 
    noResize#noResizable,Boolean,NORESIZE attribute prevents the frame from being resized by the user.
</FRAME>

<FRAMESET>FrameSet,FrameElement,0,(load unLoad),\\    The FRAMESET element is used instead of the BODY element.\    It is used in an HTML document whose sole purpose is to define the layout of the sub-HTML documents, or Frames, that will make up the page.\    The ROWS and COLS values are comma-separated lists describing the row-heights and column-widths of the Frames.
    rows,ValueList,Netscape 2.0 restricts the ROWS and COLS values to integers with an optional suffix to define the units. Default units are pixels. A percentsign suffix indicates the value is a percentage between 1 and 100. A suffix of an asterisk may be used to specify a number to be used as a multiplier of a "standard" width/height. This is used to specify the widths/heights of Frames proportionately relative to each other. If a number does not accompany the asterisk it defaults to one. 
    cols,ValueList,Netscape 2.0 restricts the ROWS and COLS values to integers with an optional suffix to define the units. Default units are pixels. A percentsign suffix indicates the value is a percentage between 1 and 100. A suffix of an asterisk may be used to specify a number to be used as a multiplier of a "standard" width/height. This is used to specify the widths/heights of Frames proportionately relative to each other. If a number does not accompany the asterisk it defaults to one. 
</FRAMESET>

<H#>Heading,Text,0,\\    The H# element identifies text to be separated and displayed as a prominent header.\    RFC 1866 recommends that a document use the header elements in order, without breaks, beginning with H1. 
    align,Align(left|center|right|justify),ALIGN specifies the display alignment.
    clear,Clear(left|right|all),
    seqNum,,A sequence number is associated with each level of header from the top level (H1) to the bottom level (H6).\    This attribute is used to set the sequence number associated with the header level of the current element to a given number, e.g. SEQNUM=10.\    Normally, the sequence number is initialized to 1 at the beginning of the document and incremented after each header element.\    It is reset to 1 by any header element of a higher level, e.g. an H1 header resets the sequence numbers for H2 to H6.\    The style of header numbering is controlled by the style sheet. 
    skip,,Increments the sequence number before rendering the element.\    It is used when headers have been left out of the sequence.\    For instance, SKIP=3 advances the sequence number past 3 omitted items
    dingbat,URL,Specifies an iconic image to appear preceding the header.\    The icon is specified as an entity name.\    A list of standard icon entity names for HTML 3.0 is given in an appendix of this specification. 
    src#source,URL,Specifies an image to appear preceding the header.\    The image is specified as a URI.\    This attribute may appear together with the MD attribute.\    SRC is proposed to specify a custom image for the rule.
    noWrap,Boolean,The NOWRAP attribute is used when you don't want the browser to automatically wrap lines.\     You can then explicitly specify line breaks in headings using the BR element. 
</H#>

<HEAD>Header,HTMLComposedElement,0,\\    The HEAD contains general information about the document. None of the elements authorized to exist in the contents of the HEAD are displayed; the displayed material is found within the BODY. 
    title,,The TITLE is not part of the document text.\    Often the title is used by a browser to label the display window.\    Some Web search engines only search the title of Web pages.\    Therefore the text of the TITLE should be kept short but sufficient to identify the document.
</HEAD>

; HP# HPn was an early idea about highlighting but is seldom used or implemented.\    RFC 1866 does not include these elements, and these elements should be considered obsolete.

<HR>HorizontalRule,ComposedElement,0,\\    The HR element produces a divider between sections of text.
    align,Align(left|right|center|justify),ALIGN specifies the display alignment.
    clear,Clear(left|right|all),
    src#source,URL,SRC is proposed to specify a custom image for the rule.
    size,,Define the receiver's size...
    width,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.
    noShade,Boolean,Disable shading of the receiver.
</>

<HTML>Page,Element,0,\\    The HTML element is intended to bracket the entire HTML text in the document.\    All other HTML elements are inside the start and end of the HTML element.\    The element HTML is the outermost element and should not be nested inside any element.\    RFC 1866 introduced the VERSION attribute.\    The LANG and DIR attributes are introduced with the internationalization proposal.
    version,,
</HTML>

; <I> implemented by HTMLParagraph

<IMG>Image,GraphicElement,1,\\    The IMG element allows an image file to be inserted within an HTML document along with the text.\    The ALT attribute and a value describing the image is required.\    If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
;    src#source,URL, implemented in GraphicElement
    alt,,The ALT attribute defines parsed character data that will be displayed if the image is not or cannot be displayed by the browser.\    The ALT attribute and a value describing the image is required.
    isMap,Boolean,The ISMAP attribute is only meaningful if the IMG element is within the contents of an Anchor element, and a responding cgi-bin program has been established at the URL identified by the HREF attribute of the Anchor element. If a single Anchor element spans both an image and text, the cgi-bin program will receive the HREF input values, if any, if the text is selected, or the x,y cursor pixel coordinates relative to 0,0 as the the upper-left corner of the image if the image is selected.
    align,Align(bottom|middle|top|left|right|texttop|absmiddle|baseline|absbottom),ALIGN specifies the display alignment.
    height,,If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    width,,If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.\    If used, the HEIGHT and WIDTH attributes shall specify the actual size of the stored image in pixels.
    units,,UNITS attribute is for use by the WIDTH and HEIGHT attributes to define units other than pixels.
    border,,If known, the BORDER, HEIGHT, and WIDTH attributes are recommended as they improve download performance on some browsers.
    lowSrc,URL,Low definition source resource.
    hSpace,,VSPACE and HSPACE specify the reserved space around the receiver (in pixels). 
    vSpace,,VSPACE and HSPACE specify the reserved space around the receiver (in pixels).
    useMap,URL,USEMAP specifies a URL with a #NAME suffix to identify a file and MAP name, and is used with the MAP element.
    dynSrc,URL,The address of a video clip or VRML world to be displayed if your browser is capable, otherwise display SRC.
    start,(fileopen|mouseover), START is defined by MS Internet Explorer 2.0 as when the videoclip or VRML world is to be displayed.\    If START=mouseover, the SRC image is displayed until the mouse cursor is over that image.
    controls,,CONTROLS is defined by MS Internet Explorer 2.0 as displaying a set of controls under the animation.
    loop,,LOOP is defined by MS Internet Explorer 2.0 as how many times a video clip will loop when activated.\    If LOOP=-1 or LOOP=INFINITE, it will loop indefinately.
    loopDelay,, LOOPDELAY is defined by MS Internet Explorer 2.0 as how long, in milliseconds, a video clip will wait between replays.
</>

<INPUT>Input,FormElement,0,\\    The INPUT element is used to specify a simple input field as part of the contents in a FORM element.
    type,(text|password|checkbox|radio|submit|reset|hidden|image|file|range|scribble|jot|button|submit),Define the receiver's type.
    name,,NAME defines the symbolic name of the field returned to the server on submission and must be present for all but TYPE=submit|reset.
    value,,VALUE defines default text to be returned, which normally is null.
    src#source,URL,TYPE=image defines an image, whose URL is identified by the SRC attribute, which, when clicked, performs the form submission and sends the X,Y coordinates of the click, similar to ISMAP in the IMG element.\    The Version 3 proposed TYPE=scribble is to allow the user to scribble with a pointing device on top of the image specified with the SRC attribute.
    checked,Boolean,Used for checking the receiver's contents.
    size,,A value for the SIZE attribute of 'width,height' would specify a default filename width for the input display and height sufficient to show some number of files.
    maxLenght,, A value for the MAXLENGTH attribute specifies a maximum Content-Length (in bytes) which the responding server is likely to accept for transferred files.
    align,Align(top|middle|bottom|left|right),ALIGN specifies the display alignment.
    accept,, ACCEPT is a list of media types or type patterns allowed for input.\    The valid ACCEPT values and meaning of those values is platform dependent.
    disabled,Boolean,The Version 3 proposed DISABLED attribute would display this element, but prohibit user entry/modification.
    error,,The Version 3 proposed ERROR attribute defines text to be displayed in the event that the entered value for this INPUT is invalid.
    min,,The Version 3 proposed TYPE=range uses the proposed MIN and MAX attributes to specify limits to numeric (real or integer) input.\    The proposed default value is halfway between MIN and MAX.
    max,,The Version 3 proposed TYPE=range uses the proposed MIN and MAX attributes to specify limits to numeric (real or integer) input.\    The proposed default value is halfway between MIN and MAX.
    readOnly,Boolean,Used to display status info, for instance status messages and gauges.
    mask,,Most form builders allow you to specify mask patterns that constrain the allowed input strings. A control string or ''mask'' defines a pattern, for instance MASK=''##-##-##'' matches strings like ''12-03-96'' but not strings like ''12/05/94''. The mask consists of a sequence of symbols. Certain symbols match only digits, others match only letters and may force input to upper or lower case. In the example, the ''#'' symbol matches a digit. Other characters match themselves, e.g. ''-''.
    type,(number|currency|date|button),The Version 3 proposed INPUT elements can be designated for use with canonical number, currency and date values using the TYPE attribute. 
</INPUT>

; <INS> implemented by HTMLParagraph
 
<ISINDEX>IsIndex,ComposedElement,0,\\    This element appears to be a precursor to the <FORM> element which has more features. When placed in the BODY of the document, it requires the ACTION attribute to point to a cgi-bin program which can handle the query, and produces a simple INPUT field with a prompt of: "This is a searchable index. Enter search keywords:" When placed in the HEAD of the document, it informs the browser that the document is an index document and can be examined using a keyword search. The ISINDEX element is usually generated automatically by a server-side script.
    action,,cgi-bin program which can handle the query.
    prompt,,Version 3 proposes the PROMPT attribute. The PROMPT attribute is a Netscape extension. 
</ISINDEX>

; <INS> implemented by HTMLParagraph

<LABEL>Label,ComposedElement,0,\\    LABEL is a container that encloses the label for an input field.\    The binding between the LABEL element and the INPUT element can be implicit as when the LABEL encloses the INPUT element, e.g. \\        <LABEL><INPUT SIZE=20 NAME=flavor VALUE=vanilla> Vanilla</LABEL>\\    Alternatively the FOR attribute can be used to explicitly reference the INPUT element via its ID attribute or NAME/VALUE attribute pair, e.g. \\        <INPUT TYPE=RADIO NAME=flavor VALUE=vanilla>\        <LABEL FOR="#field:flavor/vanilla">Vanilla</LABEL>\\    FOR uses a URL to reference an INPUT field. The URL fragment identifier takes one of the following formats:\\    #idvalue matches an ID attribute for some field (restricted to letters, digits, "-" and "." characters)\    #field:name matches a field with a given NAME attribute \    #field:name/value matches a field with given NAME/VALUE attributes\\    The above syntax allows you to take advantage of the NAME and VALUE attributes that are present with all form fields. You aren't required to add an ID attribute merely for the purposes of attaching a label. When matching on field NAMEs, the scope is that of the form enclosing the LABEL element. The LABEL element offers backwards compatibility with existing browsers and provides considerable freedom in placing the label and associated field. For instance, the label and fields can be placed in adjacent table cells. 
    for,URL,The FOR attribute can be used to explicitly reference the INPUT element via its ID attribute or NAME/VALUE attribute pair
</LABEL>

<LANG>Language,ComposedElement,0,\\    The LANG element is used to change the default LANG context for subsequent elements from the current default. A LANG attribute on an element overrides this default LANG context for the content of that particular element.
</LANG>

; <LH> implemented by HTMLParagraph
; <LI> implemented by HTMLParagraph

<LINK>Link,Text,0,\\    The LINK element is used to indicate a relationship between this document and other documents or objects.\    Multiple LINK elements may exist in a document.\    A LINK in document A with an HREF to  document/object B with REL=relation identifies a relationship that B has to A that A recognizes/authorizes/verifies.\    A LINK in document B with an HREF to document/object A with REV=relation that is the identical relation identifies a desired/expected/claimed relationship of B to document/object A, but must be verified by checking with A.
    charset,,The CHARSET attribute is a hint as to the expected character set used by this element.
    href,URL,Define the address of the destination.\    This names an object using the URI notation. 
    name,Obsolete,Earlier proposals suggest changing the NAME attribute to ID, declaring the NAME attribute as obsolete, and adding an ID attribute for various elements including the paragraph and heading elements.
    rel,RelationShip,At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    rev,RelationShip,At present REV and REL are rarely used or supported, and are Level 1 attributes, but are of growing interest to automated document environments.
    urn,Obsolete,URN is for a Universal Resource Number, and is not currently used or supported, and is a Level 1 attribute. RFC 1866 describes it as a preferred, more persistent identifier than the value of HREF.
    title,,TITLE is little used or supported, and is a Level 1 attribute, but is expected to be the title of the HREF document. RFC 1866 suggests TITLE can be displayed as a margin note or on a small box while the mouse is over the anchor.
    methods,HTTPMethods,METHODS is little used or supported, but is expected to be a white-space-separated list of HTTP METHODS supported by the object and accessible to the user. RFC 1866 suggests that the content of the A element may be rendered differently depending upon the HTTP method.
</LINK>

<LISTING>Listing,Text,0,\\    The LISTING element defined a separated multi-line set of text to be rendered as it exists in the source document with the same line breaks.\  This element existed in Version 0 and has been replaced by the <PRE> element.\    RFC 1866 states that the content of the LISTING element should be rendered so that at least 132 characters fit on a line.\    RFC 1866 has declared LISTING as deprecated and some current browsers no longer recognize it. 
    width,,This gives the suggested width of a box enclosing the visible area of the receiver.
</LISTING>

<MAP>Map,ComposedElement,0,\\    The MAP element is used to name and describe a client-side image map.\    This is a set of areas defined on an image which can be selected for hyperlinks.
    name,,NAME defines the map name to be used with the USEMAP attribute on an IMG element. 
</MAP>

<MARQUEE>Marquee,Text,0,\\    The MARQUEE element defines an area in which visual scrolling will be used to display the content of the element. 
    align,Align(top|middle|bottom),ALIGN specifies the display alignment.
    behavior,(scroll|slide|alternate),The BEHAVIOR attribute determines whether the text will scroll completely in and completely off (the default), slide in and stay, or bounce between alternate sides of the marquee.
    bgColor#backColor,Color,The BGCOLOR attribute defines the background color for the receiver, which is specified as an "#rrggbb" number, or the following color names: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White.
    direction,(left|right), The DIRECTION attribute specifies the direction towards which the text should flow.
    height,, The HEIGHT attribute specifies the height of the marquee, either in pixels or with a percentsign character suffix to define a percentage of the entire screen height.
    hSpace,,The HSPACE and VSPACE attributes are specified in pixels and define the amount to separate the marquee from surrounding text.
    vSpace,,The HSPACE and VSPACE attributes are specified in pixels and define the amount to separate the marquee from surrounding text.
    loop,,The LOOP attribute specifies how many times the text will loop. If LOOP=-1 or LOOP=INFINITE, the text will loop indefinately. 
    scrollAmount,,The SCROLLAMOUNT specifies the number of pixels between each successive draw of the marquee text. 
    scrollDelay,,The SCROLLDELAY specifies the number of milliseconds between each successive draw of the marquee text.
</MARQUEE>

<META>Meta,Element,1,\\    The META element is used within the HEAD element to embed document meta-information not defined by other HTML elements.\    Such information may be extracted by servers/browsers.\     Netscape 1.1 has added a automatic refresh capability using the META element by setting the HTTP-EQUIV attribute to "REFRESH", the CONTENT attribute to a number of seconds, and the URL attribute to the file to load which defaults to reloading the same file. Netscape 1.1 also recognizes placing the URL inside the quotes which define the CONTENT value by using a semicolon following the number of seconds, then the URL=http://... text.\  Sandia Requirements\     Two META elements are required to identify specific information for Sandia's automated Web tools.\     <META NAME="REVIEW" CONTENT="DD MMM YYYY">\     <META HTTP-EQUIV="KEYWORDS" CONTENT="key1, key2, key3">\     For large documents split into multiple HTML subdocuments, these META elements should only be\     included in the HTML document that is the parent of all the subdocuments, usually the Introduction or\     Table of Contents document. 
    http-equiv#httpEquiv,,The HTTP-EQUIV attribute binds the element to an HTTP response header.
    url,URL,The URL attribute is a Netscape extension.
    name,,If HTTP-EQUIV is not present, the NAME attribute should be used to identify this meta-information and it should not be used within an HTTP response header.\    If the NAME attribute is not present, the name can be assumed equal to the value of HTTP-EQUIV.
    content,,The CONTENT attribute defines the meta-information content to be associated with the given name and/or HTTP response header. 
</>

; <MENU> implemented by HTMLParagraph

; OBSOLETE <NEXTID>NextID,
; </NEXTID>

<NOBR>NoBreak,ComposedElement,0,\\    All text between the start and end of the NOBR elements cannot have line breaks inserted between them.
</NOBR>

<NOEMBED>NoEmbed,ComposedElement,0,\\    The NOEMBED element defines content within EMBED content that is to be ignored by browsers that can activiate the EMBED plug-in application.\    Browsers that can't/won't activate the EMBED plug-in but  that understand the EMBED/NOEMBED elements or browsers that do not understand the EMBED/NOEMBED elements will display the NOEMBED content. 
</NOEMBED>

<NOFRAMES>NoFrames,FrameElement,0,\\    The NOFRAMES element defines content within FRAMESET content that is to be ignored by browsers that can define Frames.\    Browsers that can't/won't define Frames but that understand the FRAMESET/NOFRAMES elements or browsers that do not understand the FRAMESET/NOFRAMES elements will display the NOFRAMES content. 
</NOFRAMES>

; <NOTE> implemented by HTMLParagraph

<OBJECT>OBJECT,ComposedElement,,\\   The OBJECT element is used to insert an object into an HTML document.\    The OBJECT element has the same content model as the HTML BODY element, except that one or more optional PARAM elements can be placed immediately after the OBJECT start tag and used to initialize the inserted object.\    The content of the OBJECT element is rendered if the object specified by the CLASSID,CODEBASE and DATA attributes can't be rendered (user agents may choose to display the content of the OBJECT element if displaying the actual element will take a long time to render).\    This provides for backwards compatibility with existing browsers, and allows authors to specify alternative media via nested OBJECT elements.
    id,,Used to define a document-wide identifier.\    This can be used for naming positions within documents for use as destinations of hypertext links. An ID attribute value is an SGML NAME token. NAME tokens are formed by an initial letter followed by letters in the range a-z and A-Z (no accented characters), digits, "-" and "." characters. It may also be used by the user agent or objects in the document to find and communicate with other objects embedded in the document.
    declare,Boolean,Used to indicate that the object is to be declared but not instantiated.
    classID,URL,This is a URL that identifies an implementation for the object. In some object systems this is a class identifier. 
    codeBase,URL,Some URL schemes used to identify implementations require an additional URL to find the implementation.\    CODEBASE allows you to specify that URL. 
    data,URL,This is a URL pointing to the object's data, for instance a GIF file for an image.\    In the absence of the CLASSID attribute, the media type of the data is used to determine a default value for the CLASSID attribute.\    The implementation is then loaded as if the CLASSID attribute had been given explicitly.
    type,,This specifies the Internet Media Type for the data referenced by the DATA attribute in advance of actually retrieving it.\    In the absence of the CLASSID attribute, this allows the user agent to retrieve the code implementing the object concurrently with the data, and to skip over unsupported media types without needing to make a network access.
    codeType,,This specifies the Internet Media Type of the code referenced by the CLASSID attribute in advance of actually retrieving it.\    User agents may use the value of the CODETYPE attribute to skip over unsupported media types without needing to make a network access. 
    standby,,This allows you to specify a short text string the browser can show while loading the Object's implementation and data.\    It can include character entities for accented characters etc. 
    align,Align(left|right|top|texttop|textbottom|center|middle|absmiddle|baseline|bottom|absbottom),This determines where to place the object. The ALIGN attribute allows objects to be placed as part of the current text line, or as a distinct unit, aligned to the left, center or right. 
    width,,This gives the suggested width of a box enclosing the visible area of the object.\    The width is specified in standard units.\    User agents may use this value to scale an object to match the requested width if appropriate. \     Smooth scaling a small image to a larger size provides an effective solution to reducing the time needed to download an image, offering better subjective results when compared to color reduction.
    height,,This gives the suggested height of a box enclosing the visible area of the object.\    The height is specified in standard units.\    User agents may use this value to scale an object to match the requested height if appropriate. 
    border,,This attribute applies to the border shown when the object forms part of a hypertext link, as specified by an enclosing anchor element.\    The attribute specifies the suggested width of this border around the visible area of the object.\    The width is specified in standard units.\    For BORDER=0 no border should be shown.\     This is normally used when such a border would interfere with the visual affordances presented by the object itself.\     For instance, the object could render itself as a number of beveled buttons. 
    hSpace,,The suggested width of the space to the left and right of the box enclosing the visible area of the object.\   This attribute is used to alter the separation of preceding and following text from the object. 
    vSpace,,The suggested height of the space to the top and bottom of the box enclosing the visible area of the object.
    useMap,URL,This specifies a uniform resource locator for a client-side image map in the format proposed by Spyglass Inc.\    This is normally appropriate only for static images. 
    shapes,Boolean,The presence of this attribute indicates that the contents of the OBJECT element contains anchors with hypertext links associated with shaped regions on the visible area of the object.
    name,,This provides a way for user agents which support FORMs to determine whether an object within a FORM block should participate in the ''submit'' process. If NAME is specified and the DECLARE attribute is absent, then the user agent should include the value of the NAME attribute and data obtained from the object along with the information derived from other form fields.\    The mechanism used to obtain the object's data is specific to each object system
</OBJECT>

; <OL> implemented by HTMLParagraph

<OPTION>Option,FormElement,0,\\    The OPTION element identifies a choice in a SELECT element, which in turn is part of the contents of a FORM element.\    SELECTED specifies that this option is selected by default.\    If SELECT allows  MULTIPLE, then multiple options may be SELECTED.\    If the VALUE attribute it not present and the OPTION is selected, the OPTION contents is returned upon submission of the FORM. If the VALUE attribute is present and the OPTION is selected, the value of the VALUE attribute is returned instead of the contents. 
    selected,Boolean, SELECTED specifies that this option is selected by default. If SELECT allows MULTIPLE, then multiple options may be SELECTED.
    value,, If the VALUE attribute it not present and the OPTION is selected, the OPTION contents is returned upon submission of the FORM. If the VALUE attribute is present and the OPTION is selected, the value of the VALUE attribute is returned instead of the contents. 
    disabled,,The DISABLED attribute was part of an early Version 2 proposal, but is not defined in RFC 1866.\    It is defined in Version 3, and would display this OPTION, but prohibit user selection/deselection.
    error,,The Version 3 proposed ERROR attribute defines text to be displayed in the event that selecting this OPTION is invalid.
    shape,Shape,The Version 3 proposed SHAPE attribute defines the shape of the 'hotspot' on the imgage defined by the SRC attribute of the surrounding SELECT element.\    The proposed values of SHAPE are: ''default'', ''circle x,y,r'', ''rect x,y,w,h'', and ''polygon x1,y1,x2,y2,...''.
</OPTION>

<OVERLAY>Overlay,GraphicElement,0,\\    The OVERLAY element is used to overlay one or more images on top of a FIG image.\    The X and Y attributes identify the offsets from the top left of the FIG where the top left of the overlay will be placed.\     It is designed to take advantage of the caching system of most browsers for a series of similar images which may only differ by an overlay and the rest is already in cache. 
;    src#source,URL, implemented in GraphicElement
    units,,Version 3 proposes the UNITS attribute for use by the WIDTH and HEIGHT attributes to define units other than pixels.\    The default units is pixels.\    The standard defined units suffixes include: pt=points, pi=picas, in=inches, cm=centimeters, mm=millimeters, em=em units, px=screen pixels.
    x,,The X and Y attributes identify the offsets from the top left of the FIG where the top left of the overlay will be placed.
    y,,The X and Y attributes identify the offsets from the top left of the FIG where the top left of the overlay will be placed.
    width,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.
    height,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.
    imageMap,URL,
</OVERLAY>

; <P> implemented by HTMLParagraph

<PARAM>Parameter,ComposedElement,0,\\    The PARAM element allows a list of named property values (used, for example, to initialize a ActiveX control, plug-in module or Java applet) to be represented as a sequence of PARAM elements.\\    The PARAM element is a mechanism to define general purpose parameters to be passed to APPLET applications.\     NAME is the name of the parameter and VALUE will be obtained by the applet with the getParameter() method. 
    name,,The NAME attribute defines the property name.\    The case sensitivity of the name is dependent on the code implementing the object.
    value,,The VALUE attribute is used to specify the property value.\    It is an opaque character string whose meaning is determined by the object based on the property name.
    ref,Boolean,Indicates that the value is a URL. This allows support tools to identify URLs given as parameters.
    object,Boolean,Indicates that the value is a URL of an OBJECT element in the same document.\    This is used primarily for object valued properties (where the value of a property is a pointer/reference to a running object).
    data,Boolean,Indicates that the value is to be passed directly to the object as a string, after dealing with any embedded character or numeric character entities.
</PARAM>

; <PERSON> implemented by HTMLParagraph

<PLAINTEXT>PlainText,Text,0,\\    The PLAINTEXT element is allowed inside anHTMLPage as its body.\    Most browsers use fixed-width characters for PLAINTEXT text.\    A few browsers accepted the ending element, which meant that the ending element could not exist in the text.\    The RFC 1866 DTD specifies that the ending element can exist and implies that a browser should recognize the ending element but accept everything else as just text. It also prohibits it from being nested inside any element but the outer HTML element itself.\    Comments in RFC 1866 state that PLAINTEXT has no ending element and all characters after the start element are data.\    This element existed in Version 0 and has been replaced by the <PRE> element.\    RFC 1866 has declared PLAINTEXT as deprecated and some current browsers no longer recognize it.
    width,,
</>

; <PRE> implemented by HTMLParagraph
; <Q> implemented by HTMLParagraph

<RANGE>Range,Element,0,\\    The RANGE element is used to mark a range of the document, for example for highlighting regions of the document matching some search criteria, or which are the subject of an annotation etc. 
    id,,An SGML identifer used to name the range element.
    class#rangeClass,,A character string used to subclass the range element
    from,,References an SGML identifier for an element in the document body. It identifies the start of the marked range.\    The FROM and UNTIL attributes specify positions in the document using SGML identifiers.\    Most elements in the document body can define such identifiers using ID attributes.\    The SPOT element is useful in this regard, as it allows search software etc. to insert IDs at random places.
    until,,References an SGML identifier for an element in the document body. It identifies the end of the marked range.\    The FROM and UNTIL attributes specify positions in the document using SGML identifiers.\    Most elements in the document body can define such identifiers using ID attributes.\    The SPOT element is useful in this regard, as it allows search software etc. to insert IDs at random places.
</RANGE>

<RESOURCE>Resource,Header,0,\\    The HEAD contains general information about the document. None of the elements authorized to exist in the contents of the HEAD are displayed; the displayed material is found within the BODY.
    href,URL,Define the address of the destination.\    This names an object using the URI notation. 
</RESOURCE>

; <S> implemented by HTMLParagraph

<SPOT>Spot,Element,0,\\    The SPOT element is useful inspecifying positions in a document, as it allows search software etc. to insert IDs at random places.
    id,,An SGML identifer used to name the element.
</>

; <SAMP> implemented by HTMLParagraph
; <STRIKE> implemented by HTMLParagraph

<SCRIPT>Script,ComposedElement,0,\\    HTML Objects for modeling java & other scripts embedded in an HTMLPage
    type,,The Internet media type specifying the scripting language, for instance: type="text/javascript" or type="text/vbscript".\    Using text as the primary media type has the advantage of allowing people to view scripts as text files.\    An alternative would be to register "script/tcl" or "application/python" etc. 
    language,,Names the scripting language using well known identifiers, for instance "JavaScript" or "VBScript".\    This attribute is deprecated in favor of the TYPE attribute. 
    src#source,URL,The optional SRC attribute gives a URL for an external script.\    The external script takes precedence over scripting statements defined between the start and end tags for the script element.
</SCRIPT>

<SELECT>Select,FormElement,0,(blur change focus),\\    The SELECT element defines a menu of a series of selectable input in a FORM, each identified with the OPTION element.\    At least one OPTION element is expected within the SELECT contents. The default selection will be the first OPTION in the SELECT contents.
;    name,, implemented in FormElement
    size,,SIZE determines the number of OPTIONS physically visible when the browser displays the FORM.
    multiple,Boolean,The MULTIPLE attribute, if present, allows multiple selections, and causes no OPTION to be the default. 
    align,Align(top|middle|bottom|left|right),ALIGN specifies the display alignment.
    disabled,Boolean,DISABLED attribute would display this element, but prohibit user entry/modification.
    error,,The Version 3 proposed ERROR attribute defines text to be displayed in the event that the current selections for this menu are invalid.
    src#source,,If SRC is present, the texts would only be used for non-graphical browsers.
    width,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.
    height,,WIDTH and HEIGHT give the initial width and height (in pixels) of the receiver's display area.
    units,,Version 3 proposes the UNITS attribute for use by the WIDTH and HEIGHT attributes to define units other than pixels.\    The default units is pixels.\    The standard defined units suffixes include: pt=points, pi=picas, in=inches, cm=centimeters, mm=millimeters, em=em units, px=screen pixels.
</SELECT>

; <SMALL> implemented by HTMLParagraph

<SPAN>Span,ComposedElement,0,\\    The SPAN element is a generic container to set language characteristics for its content. 
</SPAN>

<STYLE>Style,Element,0,\\    The STYLE element provides a means for including rendering information using a specified style notation.\    Information in the STYLE element overrides client defaults and that of linked style sheets.\    It allows authors to specify overrides, while for the most part using a generic style sheet, and as such improves the effectiveness of caching schemes for linked style sheets.\    There is one attribute - NOTATION - which specifies an entity identifying an SGML notation in the HTML 3.0 DTD.-\    Stylesheet would be specified in a document using a STYLE element in the HEAD.\    For example, \\      <HEAD>\      <STYLE HREF="../styles/style_form.css">\      ...\      </HEAD>\\    would give the URL of the stylesheet to be loaded and used. Here the extension CSS refers to Cascading Stylesheets, one of the methods under development. The other propsed technique is called DSSSL-Lite.\     You don't really want to know what all the letters mean.
    notation,,Specifies an entity identifying an SGML notation in the HTML 3.0 DTD.
    href,URL,Define the address of the source style sheet.\    This names an object using the URI notation. 
</STYLE>

; <SUB> implemented by HTMLParagraph
; <SUP> implemented by HTMLParagraph

<TAB>Tab,Text,0,\\    The TAB element aligns the following text according to a defined horizontal position.\    A TAB position can be defined by the ID attribute. Text is positioned using the TO and/or ALIGN attributes, or the INDENT attribute. 
    indent,(ens),Text is positioned using the TO and/or ALIGN attributes, or the INDENT attribute. 
    to,,Text is positioned using the TO and/or ALIGN attributes, or the INDENT attribute. 
    align,Align(left|center|right|decimal),ALIGN specifies the display alignment.
    dp,,The attribute DP is from an earlier version of the proposal and was used with a value of decimal on the ALIGN attribute.\    It has been replaced with the CHAR and CHAROFF attributes used when ALIGN=char which are defined for all table grouping elements except TABLE.
</TAB>

<TABLE>Table,ComposedElement,0,\\    The TABLE element defines a series of rows of table cell elements.\    The contents of the TABLE element contains a sequence of elements which describe various parts of the table.
    align,Align(left|right|center|justify|bleedleft|bleedright),ALIGN specifies the display alignment.
    width,,This gives the suggested width of a box enclosing the visible area of the receiver.
    cols,,The COLS attribute specifies the total number of columns in the table and aids the browser in determining the initial display and layout of the table.
    border,,The BORDER attribute controls frame width around the table
    frame,(void|above|below|hsides|lhs|rhs|vsides|box|border),FRAME defines which parts of the frame to include.
    rules,(none|basic|rows|cols|all),The RULES attribute defines the presence or absence of rulings between all rows and columns in this table.
    cellSpacing,,The CELLSPACING attribute defines spacing between cells.
    cellPading,,CELLPADDING defines spacing within cells.
    clear,Clear(left|right|all),
    noFlow,Boolean,
    units,,Version 3 proposes the UNITS attribute for use by the WIDTH and HEIGHT attributes to define units other than pixels.\    The default units is pixels.\    The standard defined units suffixes include: pt=points, pi=picas, in=inches, cm=centimeters, mm=millimeters, em=em units, px=screen pixels.
    colSpec,,The attribute COLSPEC was from an earlier version of the proposal and is replaced by the COL and COLGROUP elements.
    dp,,The attribute DP is from an earlier version of the proposal and was used with a value of decimal on the ALIGN attribute.\    It has been replaced with the CHAR and CHAROFF attributes used when ALIGN=char which are defined for all table grouping elements except TABLE.
    noWrap,Boolean,The NOWRAP attribute will suppress word wrap
</TABLE>

<TBODY>TBody,TableElement,0,\\    The TBODY element encloses a series of table row definitions and specifies the defaults for all the rows in this group.\    Table rows are grouped inside the TABLE content into at most one THEAD, at most one TFOOT, and at least one TBODY sections, in that order.\    Depending on the capabilities of the browser, this sectioning can be used to repeat table head and foot rows when breaking tables across page boundaries, or to provide fixed headers above and footers below a scrollable body panel, or other similar rendering schemes. 
    align,Align(left|right|center|justify|char),ALIGN specifies the display alignment.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
    valign,VerticalAlign(top|middle|bottom|baseline),Specifies the vertical display alignment.
</TBODY>

<TD>TableCell,TableHeader,0,\\    The TD element defines a data cell as part of the TABLE construct.
;    align,Align(left|right|center|justify|char|decimal), implemented in TableHeader
;    axis,, implemented in TableHeader
;    axes,, implemented in TableHeader
;    noWrap,Boolean, implemented in TableHeader
;    rowspan,, implemented in TableHeader
;    colspan,, implemented in TableHeader
;    char,, implemented in TableHeader
;    charoff,, implemented in TableHeader
;    dp,, implemented in TableHeader
;    valign,VerticalAlign(top|middle|bottom|baseline),
;    width,, implemented in TableHeader
;    bgColor#backColor,Color, implemented in TableHeader
</TD>

<TEXTAREA>TextArea,FormElement,2,(blur change focus select),\\    The TEXTAREA element is used to specify a multiline input field as part of the contents in a FORM element.\    NAME defines the symbolic name of the field returned to the server on submission.\    The characters between the opening and closing tags define the text to be initially displayed in the textarea, and the default text to be returned, normally null.\    Only ASCII text is allowed as characters, and newlines are respected.
;    name,, implemented in FormElement
    rows,,ROWS and COLS define the physical size of the displayed field in numbers of characters. 
    cols,,ROWS and COLS define the physical size of the displayed field in numbers of characters. 
    wrap,(off|virtual|physical),Controls word wrapping.
    align,Align(top|middle|bottom|left|right),ALIGN specifies the display alignment.
    disabled,Boolean,DISABLED attribute would display this element, but prohibit user entry/modification.
    error,,The Version 3 proposed ERROR attribute defines text to be displayed in the event that the entered value for this TEXTAREA is invalid.
</TEXTAREA>

<TFOOT>TableGroupFooter,TableCellElement,0,\\    The TFOOT element encloses a series of table row definitions and specifies the defaults for all the rows in this group.
    align,Align(left|right|center|justify|char),ALIGN specifies the display alignment.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
    valign,VerticalAlign(top|middle|bottom|baseline),Specifies the vertical display alignment.
</TFOOT>

<TH>TableHeader,TableCellElement,0,\\    The TH element defines a header cell as part of the TABLE construct.
    align,Align(left|right|center|justify|char|decimal),ALIGN specifies the display alignment.
    axis,,The AXIS and AXES attributes for cells provide a means for defining concise labels for cells, either for speech rendering, or for database field names.
    axes,,The AXIS and AXES attributes for cells provide a means for defining concise labels for cells, either for speech rendering, or for database field names.\\    The AXES is a comma separated list of axis names which together identify the row and column headers that pertain to this cell.
    noWrap,Boolean,The NOWRAP attribute will suppress word wrap in the cell.
    rowspan,,The ROWSPAN and COLSPAN attributes define the integer number of rows and columns spanned by the cell. A value of zero for either implies the cell spans from this cell to the end of the table.
    colspan,,The ROWSPAN and COLSPAN attributes define the integer number of rows and columns spanned by the cell. A value of zero for either implies the cell spans from this cell to the end of the table.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
    dp,,The attribute DP is from an earlier version of the proposal and was used with a value of decimal on the ALIGN attribute.\    It has been replaced with the CHAR and CHAROFF attributes used when ALIGN=char.
    valign,VerticalAlign(top|middle|bottom|baseline),The VALIGN attribute defines the vertical alignment of the cell contents.
    width,,This gives the suggested width of a box enclosing the visible area of the receiver.
    bgColor#backColor,Color,The BGCOLOR attribute defines the background color for the receiver, which is specified as an "#rrggbb" number, or the following color names: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White.
</TH>

<THEAD>TableGroupHeader,TableCellElement,0,\\    The THEAD element encloses a series of table row definitions and specifies the defaults for all the rows in this group.
    align,Align(left|right|center|justify|char),ALIGN specifies the display alignment.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
    valign,VerticalAlign(top|middle|bottom|baseline),Specifies the vertical display alignment.
</THEAD>

<TITLE>Title,ComposedElement,0,\\    The TITLE is not part of the document text.\    Often the title is used by a browser to label the display window.\    Some Web search engines only search the title of Web pages.\    Therefore the text of the TITLE should be kept short but sufficient to identify the document.\    RFC 1866 specifies that all HTML documents must contain a TITLE element.\    Some browsers will truncate titles to a length they can handle.\    RFC 1866 recommends that titles be fewer than 64 characters.
</TITLE>

<TR>TableRow,TableCellElement,0,\\   The TR element defines a table row in one of the three sections of the TABLE construct: THEAD, TFOOT, or TBODY.\    The contents of the TR element is required to contain at least one of either the TH element or the TD element. 
    align,Align(left|right|center|justify|char|decimal),ALIGN specifies the display alignment.
    char,,CHAR specifies a single character to be used for alignment, and defaults to the decimal point in the current language.
    charoff,,CHAROFF specifies the offset, in the DIR direction, to the first occurrence of the CHAR character on each line.\    If a line doesn't include the CHAR character, it is to end at the CHAROFF position.\    The default value for CHAROFF is either 50% or whatever will cause the CHAR characters in all cells with a declared CHAR in a column to align.
    valign,VerticalAlign(top|middle|bottom|baseline),The VALIGN attribute defines the vertical alignment of the cell contents.
    dp,,The attribute DP is from an earlier version of the proposal and was used with a value of decimal on the ALIGN attribute.\    It has been replaced with the CHAR and CHAROFF attributes used when ALIGN=char.
</TR>

; <TT> implemented by HTMLParagraph
; <U> implemented by HTMLParagraph
; <UL> implemented by HTMLParagraph
; <VAR> implemented by HTMLParagraph

<WBR>WordBreak,ComposedElement,0,\\    The WBR element exists to force the possibility of a word break in a no-break section. 
</>

; <XMP> implemented by HTMLParagraph

; HTMLElement whoUsesToken: 'XMP'