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.
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">
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.
--Updated 1998年01月27日
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.
4.2 Benefits of Compact HTML
The Compact HTML, an HTML-based approach, guarantees that small information appliances can connect to the open WWW world. Compact HTML keeps the advantage of HTML features and solves the problems arising from the restrictions of small information appliances.
4.3 Another Approach
There may be another approach which is NOT based on HTML standards. The approach of a new language may be accepted in a certain closed service. For example, a language named HDML(Handheld Device Markup Language)[4] is proposed for the mobile handheld devices. The goal of HDML is very similar to the one of Compact HTML. It seems useful for a class of handheld devices.
However, the disadvantage of special language approach can be said that everything such as contents, authoring tools, server software, client software, and textbooks have to be prepared. Especially thinking about a product line from high-end PDAs to low-end cellular phones, the consistent HTML-based approach would make sense.
5. Concluding Remarks
We proposed the Compact HTML for small information appliances. This contributes to the WWW community, especially for wireless and mobile small devices. Compact HTML can be referred as a recommended guideline for HTML services and for HTML browsing software in this area.
References
Acknowledgments
We would like to thank to Professors Nobuo Saito and Tatsuya Hagino (KEIO University) and many W3C members for their supports and suggestions.
We are also grateful to NTT DoCoMo for their supports to Compact HTML for wireless cellular phones.
Appendix A. Compact HTML Tag List
--HTML(2.0:HTML2.0, 3.2:HTML3.2, 4.0:HTML4.0)
--CH:Compact HTML
-
2.0
CH
--&,©,>,<,",®,
--�〜
href="URL"
rel=
rev=
title=
urn=(deleted from HTML3.2)
methods=(deleted from HTML3.2)
2.0
CH
CH
-
-
-
-
-
--
coords=
href="URL"
alt=
nohref
3.2
-
--
--(Deprecated element in HTML4.0)
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.
clear=all/left/right
2.0
3.2
CH
CH
--
compact
2.0
CH
-
--(Deprecated element in HTML4.0)
align=left/center/right
3.2
CH
CH
--
compact
2.0
CH
-
--
size=+n/-n
color=
3.2
-
-
-
--Only one font.
--(Deprecated element in HTML4.0)
method=get/post
enctype=
2.0
CH
CH
CH
--
align=left/center/right
2.0
3.2
CH
CH
--
align=left/center/right
size=
width=
noshade
2.0
3.2
3.2
3.2
3.2
CH
CH
CH
CH
CH
--
version=
2.0
3.2
CH
CH
--version="C-HTML 1.0".
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.
name=
size=
maxlength=
value=
2.0
CH
CH
CH
CH
CH
--Max character buffer 512 bytes.
name=
size=
maxlength=
value=
2.0
CH
CH
CH
CH
CH
--
name=
value=
checked
2.0
CH
CH
CH
CH
--
name=
value=
checked
2.0
CH
CH
CH
CH
--
name=
value=
2.0
CH
CH
CH
--
name=
src=
align=top/middle/bottom/left/right
2.0
2.0
2.0
3.2
-
--
name=
value=
2.0
CH
CH
CH
--
name=
value=
2.0
CH
CH
CH
--
name=
value=
3.2
-
--
prompt=
2.0
3.2
-
-
--(Deprecated element in HTML4.0)
type=1/A/a/I/i
type=circle/disc/square
value=
2.0
3.2
3.2
3.2
CH
-
-
-
--
rel=
rev=
urn=
methods=
title=
id=
2.0
-
--
--(Obsolete element in HTML4.0)
compact
2.0
CH
-
--(Deprecated element in HTML4.0)
http-equiv=
content=
2.0
CH
--http-equiv="refresh" only.
type=1/A/a/I/i
start=
compact
2.0
3.2
3.2
2.0
CH
-
-
-
--
selected
value=
2.0
CH
CH
-
--
align=left/center/right
2.0
3.2
CH
CH
--
width=
2.0
3.2
CH
-
--
size=
multiple
2.0
CH
CH
CH
--Max character buffer 4 Kbytes.
align=left/center/right etc.
border=
width=
cellspacing=
cellpadding=
3.2
-
--
align=left/center/right
valign=top/middle/bottom/baseline
rowspan=
colspan=
width=
height=
nowrap
3.2
-
--
rows=
cols=
2.0
CH
CH
CH
--Max character buffer 512 bytes.
align=left/center/right
valign=top/middle/bottom/baseline
rowspan=
colspan=
width=
height=
nowrap
3.2
-
--
align=left/center/right
valign=top/middle/bottom/baseline
3.2
-
--
type=disk/circle/square
compact
2.0
3.2
2.0
CH
-
-
--
--(Obsolete element in HTML4.0)
Appendix B. Compact HTML DTD
<!-- Compact HTML Document Type Definition -->
<!--
Date: Tuesday November 25th 1997
Author: Tomihisa Kamada <tomy@access.co.jp>
-->
<!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 ===========================================-->