This document is a NOTE made available by the W3 Consortium for discussion only. This indicates no endorsement of its content, nor that the Consortium has had any editorial control in it preparation, nor that the Consortium has, is, or will be allocating any resources to the issues addressed by the NOTE.
This document is a submission to W3C. Please see <http://www.w3.org/Submission/> Acknowledged Submissions to W3C regarding its disposition.
(1) | Completely based on the current HTML W3C recommendations | |
Compact HTML is defined as a subset of HTML 2.0, HTML 3.2 and HTML 4.0 specifications. This means that Compact HTML inherits the flexibility and portability from the standard HTML. |
(2) | Lite Specification | |
Compact HTML has to be implemented with small memory and low power CPU. Frames and tables which require large memory are excluded from Compact HTML. |
(3) | Can be viewed on a small mono-color display | |
Compact HTML assumes a small display space of black and white color. However, it does not assume a fixed display space, but it is flexible for the display screen size. Compact HTML also assumes single character font. |
(4) | Can be easily operated by the users | |
Compact HTML is defined so that all the basic operations can be done by a combination of four buttons; Cursor forward, Cursor backward, Select, and Back/Stop(Return to the previous page). The functions which require two-dimensional focus pointing like "image map" and "table" are excluded from Compact HTML. |
The definition of Compact HTML is derived straightforwardly from the above principles.
Since the memory capacity is the most important issue in implementing the Compact HTML browser, we recommend the buffer limit for some functions.
One recommended implementation for the browser is to support the direct selection of anchors by using number buttons. For example, when five anchors are contained in an HTML page, the third anchor can be selected just by pressing the "3" button.
(The HTML 4.0 specification includes a new attribute "accesskey" for the similar purpose of direct key assignment. )
<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN">
3.3 Detail Definition
The complete list of tags supported by Compact HTML is described in Appendix A. The comparison with HTML 2.0, HTML 3.2 and HTML 4.0 is marked in the table. The document type definition (DTD) for Compact HTML is also described in Appendix B. This gives the intended interpretation of Compact HTML elements. The document type is defined as follows;
4. Examples and Benefits of Compact HTML
4.1 Examples
Here we describe the examples of applications by using Compact HTML. The following examples show the compact browser for cellular phones. The screen is the space of 7 text lines and 16 characters wide. The top line is used for displaying the status information.
(1) | Compact HTML example: Simple Menu | |
In this example, the cursor focus point is expressed as the reverse text. |
(2) | Compact HTML example: Mail Send Form | |
This example shows the mail sending form using INPUT tags. The focused form is expressed as solid surrounding lines, and non-focused forms are expressed as dotted surrounding line. The cursor point for input characters is expressed as a reverse box. |
(3) | Compact HTML example: Image Contents | |
This example shows weather and rain information of the day. It uses mono-color GIF image. |
Practical implementations and experiments show that Compact HTML is enough useful for small screen of 5-10 text lines and 10-20 characters wide.
The Compact HTML specification can be referred to by the tools like HTML authoring systems. In addition, the client-specific web services for such small devices can be realized by using user agent attributes [5]. That is, the server can do the content filter for Compact HTML.
The Internet world is growing very fast. Several levels will be likely required for Compact HTML in the near future. It is important to evolve the functionality and extend the specification flexibly, according to the requirements from the growing market.
In the early 21st century, the world-wide standard for wireless digital phone networking protocols will be established. The band width of the network is expected to be wide enough for motion picture (video) communications. Compact HTML should include such advanced features in this next generation of wireless network.
[1] | Tim Berners-Lee and Dan Connolly, The HyperText Markup Language (HTML) Specification Version 2.0 (RFC 1866), Nov. 1995. | |
[2] | Dave Raggett, HTML 3.2 Reference Specification, W3C Recommendation. Jan. 1997. | |
[3] | Dave Raggett, Arnaud Le Hors, and Ian Jacobs, HTML 4.0 Reference Specification, W3C Recommendation, Dec. 1997. | |
[4] | Tim Hyland, Proposal for a Handheld Device Markup Language (HDML), May. 1997. | |
[5] | Tomihisa Kamada and Tomohiko Miyazaki, Client-Specific Web Services by Using User Agent Attributes, W3C NOTE, Dec. 1997. |
--Updated 1998/01/27
--HTML(2.0:HTML2.0, 3.2:HTML3.2, 4.0:HTML4.0)
--CH�FCompact HTML
No | Elements | Attributes | HTML | CH | Comments |
1 | !- | - | 2.0 | CH | -- |
2 | !DOCTYPE | - | 2.0 | CH | -- |
3 | &xxx; |
- | 2.0 | CH | --&,©,>,<,",®, --��` |
4 | A | name= href="URL" rel= rev= title= urn=(deleted from HTML3.2) methods=(deleted from HTML3.2) |
2.0 | CH CH - - - - - |
-- |
5 | ABBR | - | 4.0 | - | -- |
6 | ACRONYM | - | 4.0 | - | -- |
7 | ADDRESS | - | 2.0 | - | --Only one font. |
8 | APPLET | - | 3.2 | - | --(Deprecated element in HTML4.0) |
9 | AREA | shape= coords= href="URL" alt= nohref |
3.2 | - | -- |
10 | B | - | 2.0 | - | --Only one font. |
11 | BASE | href="URL" | 2.0 | CH | -- |
12 | BASEFONT | size= | 3.2 | - | --Only one font. --(Deprecated element in HTML4.0) |
13 | BDO | - | 4.0 | - | -- |
14 | BIG | - | 3.2 | - | --Only one font. |
15 | BLOCKQUOTE | - | 3.2 | CH | -- |
16 | BODY | - bgcolor= background= text= link= vlink= alink= |
2.0 3.2 3.2 3.2 3.2 3.2 3.2 |
CH - - - - - - |
--Non-white colors are drawn as black. |
17 | BR | - clear=all/left/right |
2.0 3.2 |
CH CH |
-- |
18 | BUTTON | - | 4.0 | - | -- |
19 | CAPTION | - | 3.2 | - | -- |
20 | CENTER | - | 3.2 | CH | --(Deprecated element in HTML4.0) |
21 | CITE | - | 2.0 | - | --Only one font. |
22 | CODE | - | 2.0 | - | --Only one font. |
23 | COL | - | 4.0 | - | -- |
24 | COLGROUP | - | 4.0 | - | -- |
25 | DD | - | 2.0 | CH | -- |
26 | DEL | - | 4.0 | - | -- |
27 | DFN | - | 3.2 | - | -- |
28 | DIR | - compact |
2.0 | CH - |
--(Deprecated element in HTML4.0) |
29 | DIV | - align=left/center/right |
3.2 | CH CH |
-- |
30 | DL | - compact |
2.0 | CH - |
-- |
31 | DT | - | 2.0 | CH | -- |
32 | EM | - | 2.0 | - | --Only one font. |
33 | FIELDSET | - | 4.0 | - | -- |
34 | FONT | size=n size=+n/-n color= |
3.2 | - - - |
--Only one font. --(Deprecated element in HTML4.0) |
35 | FORM | action= method=get/post enctype= |
2.0 | CH CH CH |
-- |
36 | FRAME | - | 4.0 | - | --(Frameset DTD) |
37 | FRAMESET | - | 4.0 | - | --(Frameset DTD) |
38 | HEAD | - | 2.0 | CH | -- |
39 | Hn | - align=left/center/right |
2.0 3.2 |
CH CH |
-- |
40 | HR | - align=left/center/right size= width= noshade |
2.0 3.2 3.2 3.2 3.2 |
CH CH CH CH CH |
-- |
41 | HTML | - version= |
2.0 3.2 |
CH CH |
--version="C-HTML 1.0". |
42 | I | - | 2.0 | - | --Only one font. |
43 | IFRAME | - | 4.0 | - | --(Frameset DTD) |
44 | IMG | src= align=top/middle/bottom align=left/right width= height= hspace= vspace= alt= border= usemap= ismap= |
2.0 2.0 3.2 3.2 3.2 3.2 3.2 2.0 3.2 3.2 2.0 |
CH CH CH CH CH CH CH CH CH - - |
--Large images compressed automatically. |
45 | INPUT | type=text name= size= maxlength= value= |
2.0 | CH CH CH CH CH |
--Max character buffer 512 bytes. |
type=password name= size= maxlength= value= |
2.0 | CH CH CH CH CH |
-- | ||
type=checkbox name= value= checked |
2.0 | CH CH CH CH |
-- | ||
type=radio name= value= checked |
2.0 | CH CH CH CH |
-- | ||
type=hidden name= value= |
2.0 | CH CH CH |
-- | ||
type=image name= src= align=top/middle/bottom/left/right |
2.0 2.0 2.0 3.2 |
- | -- | ||
type=submit name= value= |
2.0 | CH CH CH |
-- | ||
type=reset name= value= |
2.0 | CH CH CH |
-- | ||
type=file name= value= |
3.2 | - | -- | ||
46 | INS | - | 4.0 | - | -- |
47 | ISINDEX | - prompt= |
2.0 3.2 |
- - |
--(Deprecated element in HTML4.0) |
48 | KBD | - | 2.0 | - | --Only one font. |
49 | LABEL | - | 4.0 | - | -- |
50 | LEGEND | - | 4.0 | - | -- |
51 | LI | - type=1/A/a/I/i type=circle/disc/square value= |
2.0 3.2 3.2 3.2 |
CH - - - |
-- |
52 | LINK | href="URL" rel= rev= urn= methods= title= id= |
2.0 | - | -- |
53 | LISTING | - | 2.0 | - | --Only one font. --(Obsolete element in HTML4.0) |
54 | MAP | name= | 3.2 | - | -- |
55 | MENU | - compact |
2.0 | CH - |
--(Deprecated element in HTML4.0) |
56 | META | name= http-equiv= content= |
2.0 | CH | --http-equiv="refresh" only. |
57 | NEXTID | n= | 2.0 | - | --Deleted from HTML3.2. |
58 | NOFRAMES | - | 4.0 | - | --(Frameset DTD) |
59 | NOSCRIPT | - | 4.0 | - | -- |
60 | OBJECT | - | 4.0 | - | -- |
61 | OL | - type=1/A/a/I/i start= compact |
2.0 3.2 3.2 2.0 |
CH - - - |
-- |
62 | OPTGROUP | - | 4.0 | - | -- |
63 | OPTION | - selected value= |
2.0 | CH CH - |
-- |
64 | P | - align=left/center/right |
2.0 3.2 |
CH CH |
-- |
65 | PARAM | - | 4.0 | - | -- |
66 | PLAINTEXT | - | 2.0 | CH | --(Obsolete element in HTML4.0) |
67 | PRE | - width= |
2.0 3.2 |
CH - |
-- |
68 | Q | - | 4.0 | - | -- |
69 | S | - | 2.0 | - | --(Deprecated element in HTML4.0) |
70 | SAMP | - | 2.0 | - | --Only one font. |
71 | SCRIPT | - | 3.2 | - | -- |
72 | SELECT | name= size= multiple |
2.0 | CH CH CH |
--Max character buffer 4 Kbytes. |
73 | SMALL | - | 3.2 | - | --Only one font. |
74 | SPAN | - | 4.0 | - | -- |
75 | STRIKE | - | 2.0 | - | --(Deprecated element in HTML4.0) |
76 | STRONG | - | 2.0 | - | --Only one font. |
77 | STYLE | - | 2.0 | - | -- |
78 | SUB | - | 3.2 | - | -- |
79 | SUP | - | 3.2 | - | -- |
80 | TABLE | - align=left/center/right etc. border= width= cellspacing= cellpadding= |
3.2 | - | -- |
81 | TBODY | - | 4.0 | - | -- |
82 | TD | - align=left/center/right valign=top/middle/bottom/baseline rowspan= colspan= width= height= nowrap |
3.2 | - | -- |
83 | TEXTAREA | name= rows= cols= |
2.0 | CH CH CH |
--Max character buffer 512 bytes. |
84 | TFOOT | - | 4.0 | - | -- |
85 | TH | - align=left/center/right valign=top/middle/bottom/baseline rowspan= colspan= width= height= nowrap |
3.2 | - | -- |
86 | THEAD | - | 4.0 | - | -- |
87 | TITLE | - | 2.0 | CH | -- |
88 | TR | - align=left/center/right valign=top/middle/bottom/baseline |
3.2 | - | -- |
89 | TT | - | 2.0 | - | --Only one font. |
90 | U | - | 3.2 | - | --(Deprecated element in HTML4.0) |
91 | UL | - type=disk/circle/square compact |
2.0 3.2 2.0 |
CH - - |
-- |
92 | VAR | - | 2.0 | - | --Only one font. |
93 | XMP | - | 2.0 | - | --Only one font. --(Obsolete element in HTML4.0) |
<!-- Compact HTML Document Type Definition -->
<!--
Date: Tuesday November 25th 1997
Author: Tomihisa Kamada <[email protected]>
-->
<!ENTITY % HTML.Version
"-//W3C//DTD Compact HTML 1.0 Draft//EN"
>
<!--================== Deprecated Features Switch =========================-->
<!ENTITY % HTML.Deprecated "INCLUDE">
<!--================== Imported Names =====================================-->
<!ENTITY % Content-Type "CDATA">
<!ENTITY % HTTP-Method "GET | POST">
<!ENTITY % URL "CDATA">
<!-- Parameter Entities -->
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<!ENTITY % preformatted "PRE">
<!--================ Character mnemonic entities ==========================-->
<!ENTITY % ISOlat1 PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
%ISOlat1;
<!--================ Entities for special symbols =========================-->
<!ENTITY amp CDATA "&" -- ampersand -->
<!ENTITY gt CDATA ">" -- greater than -->
<!ENTITY lt CDATA "<" -- less than -->
<!--=================== Text Markup =======================================-->
<!ENTITY % phrase "DFN">
<!ENTITY % special "A | IMG | BR ">
<!ENTITY % form "INPUT | SELECT | TEXTAREA">
<!ENTITY % text "#PCDATA | %phrase | %special | %form">
<!ELEMENT (%phrase) - - (%text)*>
<!ELEMENT BR - O EMPTY>
<!ATTLIST BR
clear (left|all|right|none) none
>
<!--================== HTML content models ================================-->
<!ENTITY % block
"P | %list | %preformatted | DL | DIV | CENTER |
BLOCKQUOTE | FORM | HR ">
<!ENTITY % flow "(%text | %block)*">
<!--=================== Document Body =====================================-->
<!ENTITY % body.content "(%heading | %text | %block )*">
<!ELEMENT BODY O O %body.content>
<!ELEMENT DIV - - %body.content>
<!ATTLIST DIV
align (left|center|right) #IMPLIED
>
<!ELEMENT center - - %body.content>
<!--================== The Anchor Element =================================-->
<!ELEMENT A - - (%text)* -(A)>
<!ATTLIST A
name CDATA #IMPLIED
href %URL #IMPLIED
>
<!--=================== Images ============================================-->
<!ENTITY % Length "CDATA">
<!ENTITY % Pixels "NUMBER">
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ELEMENT IMG - O EMPTY>
<!ATTLIST IMG
src %URL #REQUIRED
align %IAlign #IMPLIED
width %Pixels #IMPLIED
height %Pixels #IMPLIED
hspace %Pixels #IMPLIED
vspace %Pixels #IMPLIED
alt CDATA #IMPLIED
border %Pixels #IMPLIED
>
<!--=================== Horizontal Rule ===================================-->
<!ELEMENT HR - O EMPTY>
<!ATTLIST HR
align (left|right|center) #IMPLIED
size %Pixels #IMPLIED
width %Length #IMPLIED
noshade (noshade) #IMPLIED
>
<!--=================== Paragraphs=========================================-->
<!ELEMENT P - O (%text)*>
<!ATTLIST P
align (left|center|right) #IMPLIED
>
<!--=================== Headings ==========================================-->
<!ELEMENT ( %heading ) - - (%text;)*>
<!ATTLIST ( %heading )
align (left|center|right) #IMPLIED
>
<!--=================== Preformatted Text =================================-->
<!ENTITY % pre.exclusion "IMG">
<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
<!--=================== Block-like Quotes =================================-->
<!ELEMENT BLOCKQUOTE - - %body.content>
<!--=================== Lists =============================================-->
<!ELEMENT DL - - (DT|DD)+>
<!ELEMENT DT - O (%text)*>
<!ELEMENT DD - O %flow;>
<!ELEMENT (OL|UL) - - (LI)+>
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
<!ELEMENT LI - O %flow>
<!--================ Forms ===============================================-->
<!ELEMENT FORM - - %body.content -(FORM)>
<!ATTLIST FORM
action %URL #IMPLIED
method (%HTTP-Method) GET
enctype %Content-Type; "application/x-www-form-urlencoded"
>
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX | RADIO | HIDDEN
| IMAGE | SUBMIT | RESET )">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
type %InputType TEXT
name CDATA #IMPLIED
value CDATA #IMPLIED
checked (checked) #IMPLIED
size CDATA #IMPLIED
maxlength NUMBER #IMPLIED
src %URL #IMPLIED
align %IAlign #IMPLIED
>
<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
name CDATA #REQUIRED
size NUMBER #IMPLIED
multiple (multiple) #IMPLIED
>
<!ELEMENT OPTION - O (#PCDATA)*>
<!ATTLIST OPTION
selected (selected) #IMPLIED
value CDATA #IMPLIED
>
<!ELEMENT TEXTAREA - - (#PCDATA)*>
<!ATTLIST TEXTAREA
name CDATA #REQUIRED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
>
<!--================ Document Head ========================================-->
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
<!ELEMENT HEAD O O (%head.content)>
<!ELEMENT TITLE - - (#PCDATA)*>
<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
href %URL #REQUIRED
>
<!ELEMENT META - O EMPTY>
<!ATTLIST META
http-equiv NAME #IMPLIED
>
<!--================ Document Structure ===================================-->
<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
<!ENTITY % html.content "HEAD, BODY">
<!ELEMENT HTML O O (%html.content)>
<!ATTLIST HTML
%version.attr;
>
<!--================ End of DTD ===========================================-->