Copyright © 1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
The XHTML Basic document type is a subset of XHTML 1.1. It contains the basic XHTML features inlcluding text structure, images, basic forms, and basic tables. It is designed for Web clients that do not support the full set of XHTML features; for example, Web clients such as mobile phones, PDAs, pagers, and settop boxes.
The document type definition is implemented using XHTML modules as defined in "Modularization of XHTML" [XHTMLMOD].
This document is a Working Draft. It has been prepared by the Mobile Subgroup of the W3C HTML Working Group (members only) based on input from the WAP Forum Application's group and members of the W3C Mobile Access Interest Group (members only).
This is work in progress, and does not imply endorsement by, nor the consensus of, either W3C membership, WAP Forum membership, or members of the HTML Working Group or the Mobile Access Interest Group. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than "work in progress". A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.
This document has been produced as part of the W3C HTML Activity. This document will be used by the Mobile Subgroup of the W3C HTML Working Group and the W3C Mobile Access Interest Group to find a common ground for future markup languages aimed at content for small information appliances.
We explicitly invite comments on this specification. Please send them to www-html-editor@w3.org. Public discussion of HTML takes place on www-html@w3.org (archived). To subscribe send an email to <www-html-request@w3.org> with the word subscribe in the subject line.
HTML 4.0 was designed for large devices, overlapping windows/frames menus, mouse input pointing device, high powered CPU, unlimited power supply. Requiring a full fledge computer for access to the World Wide Web excludes a large portion of the population from consumer device access of online information and services.
Because there are many ways to subset HTML, there are many almost identical subsets defined by organizations and companies. Without a common base set of features, developing applications for a wide range of Web clients is difficult. Transformation between XHTML based languages is easier if they share a common set of elements. The goal of XHTML Basic is to converge various HTML subset into one common subset of XHTML.
The document type definition for XHTML Basic is implemented based on the XHTML modules defined in Modularized XHTML [XHTMLMOD].
Information appliances are targeted for particular uses. They support the features they need for the functions they are designed to fulfill. The following are examples of different information appliances:
Existing subsets and variants of HTML for these clients include "Compact HTML" [CHTML], the Wireless Markup Language [WML], and the "HTML 4.0 Guidelines for Mobile Access" [GUIDELINES]. The common features found in these document types include:
This set of HTML features has been the starting point for the design of XHTML Basic. The fact that most content developers are familiar with HTML makes it appropriate as a host language, that include markup modules from other languages using the methods described in "Building XHTML Modules" [XHTMLMOD]. For example, XHTML Basic may be extended with an Event Module that is more generic than the traditional HTML 4.0 event system.
The intention with the simple design of XHTML Basic is not to limit the functionality of future languages for small appliances to only what is defined in this specification. But since the features in HTML 4.0 (frames, advanced tables, fixed set of attribute event handlers, and objects) were developed for a desktop computer type of client, they have proved to be inappropriate for many non-desktop devices. We believe XHTML Basic will be extended and built upon. Extending XHTML from a common and basic set of features, instead of many almost identical subsets or the too large set of functions in HTML 4.0, we think is good for the interoperability on the Web, as well as scalability. Compared to the rich functionality of HTML 4.0, XHTML Basic may look like one step back, but in fact, it is two steps forward for clients that do not need what is in HTML 4.0 and for content developers that get one XHTML subset instead of many.
This section explains why certain HTML features are not part of XHTML Basic.
The style
attribute and the style
element
are not supported. External Style sheets are recommended.
The link
element can be used to include an external
style sheets. The div
and span
elements and
the class
attribute are supported to hook style information
onto the structure. Separation between structure and presentation
allows user agents to download the style sheets if they support
style sheets; user agents that do not support style sheets can ignore
the external stylesheet. The media
attribute can be used
to select the appropriate stylesheets. See
section
14.2.4 in the HTML
4.0 specification [HTML40] for more details.
The script
and noscript
elements are
not supported. Usually small devices have limited memory and
CPU power.
Execution of script programs may not be supported. Contents
should be readable even if scripts are not executed.
Also, just as in the case for style sheets, scripts can be included by reference.
Event handler attributes used to invoke script programs are not supported. Events are device dependent. An incoming-call event is unlikely to happen in a television. A generic event handling mehanism would be more appropriate than hardwiring the event names in the document type definition.
Many simple Web clients cannot display text that is more complex than mono-space. Bi-directional text, bold faced font, and other text extension elements are not supported.
It is recommended that style sheets are used to create a presentation that is appropriate for the device.
Basic XHTML
forms are supported. But only devices with a local file system can take
advantage of file and image input types in forms, so they are not included
in the basic feature set. The optgroup
and fieldset
are redundant means of expressing selection from a list and are not needed
in the basic set. Also, content developers should keep in mind that users
may not be able to input many characters from some devices
(e.g a mobile phone).
Basic XHTML
tables are supported, but for the same reason as for forms, the number
or elements has been limited. The thead
, tfoot
,
tbody
, col
and colgroup
are
not supported.
Tables can be difficult to display on small devices. Content developers are recommended to follow the accessability guidelines for tables [WAI-WEBCONTENT].
Frames are not supported. Frames depend on screen interface and are not part of XHTML 1.1.
Simple Web clients may support images as embedded objects.
The object
and param
elements are not supported.
Limited input capabilities, for example no pointing device, has
excluded image-maps.
This section is normative.
A Conforming XHTML Basic document is a document that requires only the facilities described as mandatory in this specification. Such a document must meet all of the following criteria:
<html>
.http://www.w3.org/1999/xhtml
.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "xhtml10-basic.dtd">
The user agent must conform to the "User Agent Conformance" section of the XHTML specification [XHTML1].
This section is normative.
The XHTML Basic document type is defined as a set of XHTML modules. All XHTML modules are defined in the "Modularization of XHTML" specification [XHTMLMOD].
XHTML Basic consists of the following XHTML 1.1 modules:
body, div, head, html, span, title
abbr, acronym, address, blockquote, br, cite, code, dfn, em,
h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, strong, var
a
dl, dt, dd, ol, ul, li
form, input, select, option, textarea
caption, table, td, th, tr
img
meta
link
base
An XML 1.0 DTD is available in Appendix B.
Since the HTML event handler attributes are not included in XHTML Basic, form controls outside forms may not function as expected by the user.
The current
XHTML
Modularization Working Draft does not allow subsetting of the form
input types, although it would be desirable to remove, for example,
the "image
" and "file
" input types.
Although XHTML Basic can be used as it is, - a simple XHTML language with text, links, and images -, the intention with its simple design is to use it as a host language. A host language can contain a mix of vocabularies all rolled into one document type. It is natural that XHTML is the host language, since that is what most Web developers are used to.
When markup from other languages is added to XHTML Basic, the resulting document type will be an extension of XHTML Basic. Content developers can develop for the XHTML Basic or take advantage of the extensions. The point is that XHTML Basic always is the common language that user agents supports. See "Building XHTML Modules" [BUILDING] for information about how to define markup language modules that are compatible with the modularization framework used by XHTML.
Thanks to Gary Adams (Sun), Johan Hjelm (W3C/Ericsson), Wayne Carr (Intel) and the W3C HTML Working Group for contributing, reviewing and commenting on this document.
<!-- XHTML Basic 1.0 DTD .................................................. --> <!-- file: xhtml10-basic.dtd --> <!-- XHTML Basic 1.0 DTD This is XHTML Basic 1.0, a proper subset of XHTML 1.1. Copyright 1998-1999 World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. Permission to use, copy, modify and distribute the XHTML 1.1 DTD and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the DTD for any purpose. It is provided "as is" without expressed or implied warranty. Editors: Murray M. Altheim <mailto:altheim@eng.sun.com> Peter Stark <mailto:stark@corp.phone.com> Revision: $Id: xhtml10-basic.dtd,v 1.4 1999/11/25 09:55:31 altheim Exp $ SMI --> <!-- This is the driver file for version 1.0 of the XHTML Basic DTD. Please use this formal public identifier to identify it: "-//W3C//DTD XHTML Basic 1.0//EN" --> <!ENTITY % XHTML.version "-//W3C//DTD XHTML Basic 1.0//EN" > <!-- Use this URI to identify the default namespace: "http://www.w3.org/1999/xhtml" --> <!ENTITY % XHTML.ns "http://www.w3.org/1999/xhtml" > <!-- Reserved for use with the XLink namespace: --> <!ENTITY % XLINK.ns "" > <!-- For example, if you are using XHTML Basic 1.0 directly, use the FPI in the DOCTYPE declaration, with the xmlns attribute on the document element to identify the default namespace: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "xhtml10-basic.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/XML/XLink/0.9" xml:lang="en" > ... </html> --> <!-- reserved for future use with document profiles --> <!ENTITY % XHTML.profile "" > <!-- Internationalization features This feature-test entity is used to declare elements and attributes used for internationalization support. --> <!ENTITY % XHTML.I18n "INCLUDE" > <!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!ENTITY % xhtml-events.module "IGNORE" > <!ENTITY % xhtml-datatypes.mod PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Datatypes 1.0//EN" "xhtml10-basic-datatypes-1.mod" > <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN" "xhtml10-basic-model-1.mod" > <!ENTITY % xhtml-inlpres.module "IGNORE" > <!ENTITY % xhtml-edit.module "IGNORE" > <!ENTITY % xhtml-bdo.module "IGNORE" > <!ENTITY % xhtml-csismap.mod "IGNORE" > <!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!ENTITY % xhtml-framework.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN" "xhtml11-framework-1.mod" > %xhtml-framework.mod; <!ENTITY % Pre.content "( #PCDATA | %Inlstruct.class; %Inlphras.class; %Anchor.class; %Inline.extra; )*" > <!ENTITY % xhtml-text.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN" "xhtml11-text-1.mod" > %xhtml-text.mod; <!ENTITY % xhtml-image.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN" "xhtml11-image-1.mod" > %xhtml-image.mod; <!ENTITY % xhtml-hypertext.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN" "xhtml11-hypertext-1.mod" > %xhtml-hypertext.mod; <!ENTITY % xhtml-list.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN" "xhtml11-list-1.mod" > %xhtml-list.mod; <!ENTITY % xhtml-form.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Forms 1.0//EN" "xhtml11-formb-1.mod" > %xhtml-form.mod; <!ENTITY % xhtml-table.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Tables 1.0//EN" "xhtml11-tableb-1.mod" > %xhtml-table.mod; <!ENTITY % xhtml-meta.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN" "xhtml11-meta-1.mod" > %xhtml-meta.mod; <!ENTITY % xhtml-link.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN" "xhtml11-link-1.mod" > %xhtml-link.mod; <!ENTITY % xhtml-base.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN" "xhtml11-base-1.mod" > %xhtml-base.mod; <!ENTITY % xhtml-struct.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN" "xhtml11-struct-1.mod" > %xhtml-struct.mod; <!-- end of XHTML Basic 1.0 DTD ........................................... -->