# XmHTML HTML Extensions

XmHTML implements the following extensions to the HTML 3.2 standard.

### The FRAMESET Extension

XmHTML widget's fully recognize and support the <FRAMESET> extension. See the XmHTML Programmers Manual on how you can add frame support to your application by using XmHTML.

### Extensions to the <A> Element

Support for the <FRAMESET> extension also implies that XmHTML recognizes the target attribute on the <A> element.

Besides being usefull for the frameset extension, the target attribute can be usefull in a variety of other ways, e.i., one could use this extension in a Hypertext Help system to indicate that something should be displayed in a popup window.

### Extensions to the <FONT> Element

XmHTML widget's fully support the FACE tag on the HTML 3.2 <FONT> element. This extension specifies the typeface of a font in which the text that this element encloses should be rendered.

The value for this tag should be a quoted, comma seperated list of alternative typefaces.

### Extensions to the <OL> Element

XmHTML introduces the ISINDEX tag to the HTML 3.2 <OL> element. Using this extension produces a Table of Contents by propagating the current item numbering within nested lists:

    <OL>
    	<LI>The Basics of a XmHTML Widget
    	<OL ISINDEX TYPE="a">
    		<LI>Creating a XmHTML Widget
    		<LI>The XmHTML Widget's Text
    	</OL>
    	<LI>Modifying the Document Appearance
    </OL>

is rendered as:

    	1. The Basics of a XmHTML Widget
    		1.a Creating a XmHTML Widget
    		1.b The XmHTML Widget's Text
    	2. Modifying the Document Appearance

This extension can be used with any combination of the TYPE and START tags.

### Extensions to the <INPUT> Element

A XmHTML Widget fully supports the file form input element. This element is consists of a textfield with a pushbutton. When a user presses this button a file selection dialog is displayed allowing the user to select a file for uploading.

The following attributes are recognized for this input element:

> `NAME=string, VALUE=string, SRC=string, SIZE=n, MULTIPLE`

NAME
  Mandatory, name for this input field;
VALUE
  optional, a label to be used for the pushbutton. The default value is `Browse...`;
SRC
  optional, a file selection pattern to be used for the file selection dialog. The default value is `*`;
SIZE
  optional, the width of the textfield. The default value is `20`;
MULTIPLE
  optional, allows multiple file selection. Each file that is selected via the file selection dialog is separated from already selected files by a colon.

### The ALIGN tag

The ALIGN tag is extended by one additional alignment, namely OUTLINE. This alignment will cause text to be outlined between the text margins, causing each line in a paragraph to have the same left and right margin. The last line in a paragraph is never outlined, but it's alignment is determined by the default alignment.

Hyphenation is not supported by this extension, but may be added in the future when a LANGUAGE tag is added to the STYLE element.

This extension for the ALIGN tag is supported for the following elements:

- <P>
- <DIV>
- <TABLE>
- <TD>
- <TH>
- <H1> thru <H6>

  ### The COLOR tag

  XmHTML extends the use of the COLOR tag from the <FONT> element to a number of other HTML elements. These elements are:

- <CODE>
- <SAMP>
- <KBD>
- <TT>
- <STRONG>
- <B>
- <EM>
- <VAR>
- <CITE>
- <I>
- <ADDRESS>
- <H1> thru <H6>
- <BLOCKQUOTE>
- <PRE>
- <DIV> and its derivative <CENTER>
- <P>
- <HR> with the noshade attribute set (also when placed within <DIV> or <CENTER>)

  #### Color Specification

  Colors are given in RGB 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 (or how low can you go).

  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"

  ©Copyright 1996-1997 by Ripley Software Development
  Last update: September 19, 1997 by Koen