Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
Compound Document is the W3C term for a document that combines multiple formats. The CDF Working Group has defined CDRF 1.0 as a framework to describe such documents.
This document specifies WICD Mobile 1.0, a Compound Document profile based on XHTML, CSS, SVG and DOM, which conforms to CDRF 1.0 and WICD Core 1.0. WICD Mobile 1.0 is targeted at mobile agents and is a subset of WICD Full 1.0.
WICD stands for Web Integration Compound Document.
This document has been discontinued as part of the closure of the Compound Document Formats Working Group.
1 Introduction
2 Compound Document by Reference Framework Compliance
3 Profile Requirements
3.1 XHTML Basic 1.1
3.2 ECMAScript 3rd Edition Compact Profile
3.3 CSS Mobile Profile 2.0
3.4 SVG Tiny 1.2
3.5 User Agent Identification
3.6 Document Object Model (DOM)
3.7 XMLHttpRequest
3.8 Focus Navigation Model
3.9 Content Packaging
A Definitions
B Conformance
C Document Object Model (DOM) Level 3 Core Subset Extensions
D Document Object Model (DOM) Level 3 Events Extensions
E Document Object Model (DOM) Level 2 HTML Subset
F References
F.1 Normative
F.2 Informative
G Authoring Guidelines (Non-Normative)
H Acknowledgements (Non-Normative)
I Changes Log (Non-Normative)
(This section is informative)
The WICD Mobile profile is primarily designed to enable rich multimedia content on mobile handset devices. These are devices with:
small, narrow screens (approximately 2 to 4 inch, up to 30-40 characters per line)
4- or 8-way joystick navigation (no pointing device)
WICD Mobile is a strict subset of WICD Full. It is therefore possible to create content for WICD Mobile agents and make use of this content in a WICD Full implementation, for instance in a desktop environment.
This specification contains information, which is specific to the WICD Mobile 1.0 profile. Any information that applies to all WICD profiles, is compiled into the WICD Core 1.0 specification. Any information that applies to Compound Documents in general, can be found in the Compound Document by Reference Framework and Compound Document by Inclusion Framework specifications.
Conformant WICD Mobile 1.0 user agents must implement
Conformant WICD Mobile 1.0 user agents must implement
The following image shows the relation between CDR and WICD specifications.
XHTMLBasic 1.1 W3C Candidate Recommendation 13 July 2007
Conformant WICD Mobile 1.0 user agents must support XHTML Basic 1.1 [XHTMLBasic11] as the root document.
XHTML Basic 1.1 documents should be associated with the application/xhtml+xml mime type.
Conformant WICD Mobile 1.0 user agents must support ECMAScript 3rd Edition Compact Profile (ES-CP) as a scripting language.
ECMAScript documents must be associated with the "application/ecmascript" Media Type.
Conformant WICD Mobile 1.0 user agents must support CSS Mobile Profile 2.0 [CSS Mobile Profile 2.0 Specification].
Conformant WICD Mobile 1.0 user agents must support the following CSS properties and possible values:
position: static | relative | absolute | fixed | inherit
top, right, bottom, left: <length> | <percentage> | auto | inherit
min-width, min-height: <length> | <percentage> | inherit
max-width, max-height: <length> | <percentage> | none | inherit
z-index: auto | <integer> | inherit
outline-style: <border-style> | inherit
Conformant WICD Mobile 1.0 user agents must support Scalable Vector Graphics Tiny 1.2 [SVGT12] specification.
When declaring support for WICD Mobile 1.0, a conforming user agent should use an "Accept" header with the value:
application/xhtml+xml; profile="http://www.w3.org/2007/wicd-mobile"
Future versions of the WICD Mobile profile, which are compatible with WICD Mobile 1.0, must use the same profile string, using the same format, but with a later date.
WICD Mobile 1.0 does not require the implementation of the full DOM Level 3 Core and Events. Instead, the following subsets must be implemented.
Conformant WICD Mobile 1.0 user agents must support the Document Object Model (DOM) Level 3 Core Specification Subset, defined in the SVG Tiny 1.2 specification for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the additional features described in Appendix C Document Object Model (DOM) Level 3 Core Subset Extensions for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the Document Object Model (DOM) Level 3 Events Specification Subset, defined in the SVG Tiny 1.2 specification for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the additional features described in Appendix D Document Object Model (DOM) Level 3 Events Extensions for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the HTML DOM features described in Appendix E Document Object Model (DOM) Level 2 HTML Subset for the nodes in the XHTML namespace.
Conformant WICD Mobile 1.0 user agents must support the SVG Micro DOM (uDOM) specification for nodes in the SVG namespace.
Conformant WICD Mobile 1.0 user agents must support the ElementTraversal interface on all DOM objects which implement the org.w3c.dom.Element interface.
Conformant WICD Mobile 1.0 user agents must support the DocumentView interface on all implementations of the org.w3c.dom.Document interface.
Conformant WICD Mobile 1.0 user agents must support the Window Object 1.0 specification on all implementations of the org.w3.dom.AbstractView interface.
XHTML event attributes (e.g., onclick and onload) map to equivalent DOM3 Events features. Each event attribute represents the creation and registration of an EventListener. The corresponding element represents the EventTarget. For these event listeners, useCapture is set to false. If the attribute representing the event listener is changed, this corresponds to the removal of the previously registered EventListener and the registration of a new one. The relative order of event listeners due to XHTML event attributes versus other event listeners is not defined.
The following defines the mapping from XHTML event attributes to the corresponding DOM3 events:
onload - load
onunload - unload
onclick - click
ondblclick - click (except event handler returns if UIEvent.detail < 2)
onmousedown - mousedown
onmouseup - mouseup
onmouseover - mouseover
onmousemove - mousemove
onmouseout - mouseout
onfocus - focus
onblur - blur
onkeypress - (see below)
onkeydown - keydown
onkeyup - keyup
onsubmit - submit
onreset - reset
onselect - select
onchange - change
The onkeypress attribute is defined by HTML 4 to declare a handler, whose content is the value of the attribute, and which is triggered when a keydown event followed by a keyup event are dispatched, on the same key and on the same focused element.
See: SVG Tiny 1.2 specification for the event mapping.
Conformant WICD Mobile 1.0 user agents must support the XMLHttpRequest Object.
Conformant WICD Mobile 1.0 user agents, for devices that have a multi directional (2D) joystick input device, must implement a Two Dimensional Focus Navigation with Flattened Children. For guidance see Navigation Models in WICD Core 1.0.
In a static situation, focus should go back, all the way, to where it came from, when a user navigates focus in backward direction.
Conformant WICD Mobile 1.0 user agents should allow activation of hierarchical child elements using the "Ok" key.
Conformant WICD Mobile 1.0 user agents, implemented on devices, that have at least two soft keys and no dedicated escape key, should allow deactivation of hierarchical child elements, using longpress Soft2.
Conformant WICD Mobile 1.0 user agents should support Multipart/related packaging. These agents will advertise "multipart/related" capability with their HTTP request accept headers.
Internet Media Type implementations must in general treat unrecognized subtypes of "multipart" as being equivalent to Multipart/mixed. Agents supporting a WICD Profile are therefore expected to support both, related and mixed.
Implementations preceding this specification may support only Multipart/mixed. These agents advertise "multipart/mixed" with their HTTP request accept headers.
The terms used in this document are specified in Compound Document by Reference Framework 1.0.
Everything in this specification is normative except for diagrams, examples, notes and sections marked informative.
This specification defines conformance for several classes of products:
User Agent
Content
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "may", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 (see http://www.ietf.org/rfc/rfc2119.txt). However, for readability, these words do not appear in all uppercase letters in this specification.
At times, this specification recommends good practice for authors and user agents. These recommendations are not normative and conformance with this specification does not depend on their realization. These recommendations contain the expression "This specification recommends ...", or some similar wording.
WICD Mobile 1.0 User Agent Conformance:
Conformant WICD Mobile 1.0 user agents must implement the "Compound Document by Reference Framework 1.0 (CDR 1.0)" including the extended DOM API's and additional Events.
Conformant WICD Mobile 1.0 user agents must implement "WICD Core 1.0".
Conformant WICD Mobile 1.0 user agents must support XHTML Basic 1.1 as the root document.
Conformant WICD Mobile 1.0 user agents must support ECMAScript 3rd Edition Compact Profile (ES-CP) as a scripting language.
Conformant WICD Mobile 1.0 user agents must support CSS Mobile Profile 2.0 as well as the additional specified CSS properties.
Conformant WICD Mobile 1.0 user agents must support Scalable Vector Graphics (SVG) Tiny 1.2 specification while referenced from XHTML.
When declaring support for WICD Mobile 1.0, a conforming user agent should use an "Accept" header with the value: application/xhtml+xml; profile="http://www.w3.org/2007/wicd-mobile".
Future versions of the WICD Mobile profile, which are compatible with WICD Mobile 1.0, must use the same profile string, using the same format, but with a later date.
Conformant WICD Mobile 1.0 user agents must support the Document Object Model (DOM) Level 3 Core Specification subset defined in the SVG Tiny 1.2 specification [http://www.w3.org/TR/SVGMobile12/svgudom.html#dom] for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the features described in Appendix C Document Object Model (DOM) Level 3 Core Subset Extensions for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the Document Object Model (DOM) Level 3 Events Specification Subset defined in the SVG Tiny 1.2 Specification [http://www.w3.org/TR/SVGMobile12/svgudom.html#events] for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the features described in Appendix D Document Object Model (DOM) Level 3 Events Extensions for all namespaces.
Conformant WICD Mobile 1.0 user agents must support the HTML DOM features described in Appendix E Document Object Model (DOM) Level 2 HTML Subset for the nodes in the XHTML namespace.
Conformant WICD Mobile 1.0 user agents must support the SVG Micro DOM (uDOM) specification for nodes in the SVG namespace.
Conformant WICD Mobile 1.0 user agents must support the ElementTraversal interface on all DOM objects which implement the org.w3c.dom.Element interface.
Conformant WICD Mobile 1.0 user agents must support the DocumentView interface on all implementations of the org.w3c.dom.Document interface.
Conformant WICD Mobile 1.0 user agents must support the Window Object 1.0 specification on all implementations of the org.w3.dom.AbstractView interface.
Conformant WICD Mobile 1.0 user agents must support the mapping from XHTML event attributes to the corresponding DOM3 events.
Conformant WICD Mobile 1.0 user agents must support the SVG Event to DOM Event Mapping.
Conformant WICD Mobile 1.0 user agents must support the XMLHttpRequest Object.
Conformant WICD Mobile 1.0 user agents, for devices that have a multi directional (2D) joystick input device, must implement the "Two Dimensional Focus Navigation Model" with support for "Flattened Children". For guidance see Navigation Models in WICD Core 1.0.
In a static situation, focus should go back, all the way, to where it came from, when a user navigates focus in backward direction.
Conformant WICD Mobile 1.0 user agents should allow activation of hierarchical child elements using the "Ok" key.
Conformant WICD Mobile 1.0 user agents, implemented on devices, that have at least two soft keys and no dedicated escape key, should allow deactivation of hierarchical child elements, using longpress Soft2.
Conformant WICD Mobile 1.0 user agents should support Multipart/related packaging. These agents will advertise "multipart/related" capability with their HTTP request accept headers.
Internet Media Type implementations must in general treat unrecognized subtypes of "multipart" as being equivalent to Multipart/mixed. Agents supporting a WICD Profile are therefore expected to support both, related and mixed.
Conformant WICD Mobile 1.0 user agents must support DOM Level 3 event flow (capture and bubble) for all namespaces, including SVG Tiny 1.2.
WICD Mobile 1.0 Document Conformance:
XHTML Basic 1.1 documents should be associated with the application/xhtml+xml mime type.
ECMAScript documents should be associated with the "application/ecmascript" mime type.
In conforming WICD 1.0 content, audio referenced from an XHTML object element must have a width and height of zero.
The org.w3c.dom.NodeList interface, defined in the DOM Core Level 3 Specification must be supported for the HTMLDocument.getElementsByTagName() method.
interface NodeList { Node item(in unsigned long index); readonly attribute unsigned long length; };
The SVG Working Group has resolved that the getAttribute and setAttribute methods were missing from the SVG Tiny 1.2 CR specification uDOM DOM Level 3 Core subset by error. Therefore, the next revision of the SVG Tiny 1.2 specification will include the getAttribute and setAttribute methods on the org.w3c.dom.Element interface.
http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode
Conformant WICD Mobile 1.0 user agents must support the adoptNode method on the Document interface, as defined in the DOM Core Level 3 specification.
The CustomEvent type allows applications to use application-domain events. The support for dispatchEvent on EventTarget (in addition to what is supported in the SVG Tiny 1.2 uDOM), provides a way to dispatch the event to the document tree. Finally, support for DocumentEvent provides a way to create CustomEvent instances which can then be dispatched.
http://www.w3.org/TR/DOM-Level-3-Events/events.html#Events-CustomEvent
// Introduced in DOM Level 3: interface CustomEvent : Event { readonly attribute DOMObject detail; void initCustomEventNS(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMObject detailArg); };
http://www.w3.org/TR/DOM-Level-3-Events/events.html#Events-EventTarget
// Introduced in DOM Level 2: interface EventTarget { void addEventListener(in DOMString type, in EventListener listener, in boolean useCapture); void removeEventListener(in DOMString type, in EventListener listener, in boolean useCapture); // Modified in DOM Level 3: boolean dispatchEvent(in Event evt) raises(EventException, DOMException); // Introduced in DOM Level 3: void addEventListenerNS(in DOMString namespaceURI, in DOMString type, in EventListener listener, in boolean useCapture, in DOMObject evtGroup); // Introduced in DOM Level 3: void removeEventListenerNS(in DOMString namespaceURI, in DOMString type, in EventListener listener, in boolean useCapture); };
http://www.w3.org/TR/DOM-Level-3-Events/events.html#Events-DocumentEvent
Conformant WICD Mobile Profile User Agent must support the following subset of the DocumentEvent interface. Note that in a conformant WICD Mobile Profile User Agent, "CustomEvent" is the only required event type.
// Introduced in DOM Level 2: interface DocumentEvent { Event createEvent(in DOMString eventType) raises(DOMException); };
The eventType parameter specifies the name of the DOM Events interface to be supported by the created event object, i.e. "CustomEvent". The CustomEvent init method must be called after creation in order to initialize the Event's values. A user wishing to synthesize some kind of CustomEvent would invoke DocumentEvent.createEvent("CustomEvent"). The CustomEvent.initCustomEventNS method could then be called on the newly created CustomEvent object to set the details of the event to be dispatched.
The newly created event object.
DOMException NOT_SUPPORTED_ERR: Raised if the implementation does not support the Event interface requested. In WICD Mobile 1.0, only the CustomEvent interface is required.
The normative definition of the Document Object Model (DOM) Level 2 HTML is defined here.
// File: html2.idl #ifndef _HTML2_IDL_ #define _HTML2_IDL_ #include "dom.idl" #pragma prefix "dom.w3c.org" module html2 { typedef dom::DOMString DOMString; typedef dom::Document Document; typedef dom::NodeList NodeList; typedef dom::Element Element; interface HTMLElement; interface HTMLFormElement; interface HTMLDocument : Document { NodeList getElementsByName(in DOMString elementName); }; interface HTMLElement : Element { attribute DOMString id; attribute DOMString className; }; interface HTMLFormElement : HTMLElement { void submit(); void reset(); }; interface HTMLInputElement : HTMLElement { attribute boolean checked; attribute DOMString value; void select(); }; interface HTMLTextAreaElement : HTMLElement { attribute DOMString value; void select(); }; interface HTMLObjectElement : HTMLElement { // Introduced in DOM Level 2: readonly attribute Document contentDocument; }; interface HTMLOptionElement : HTMLElement { attribute boolean selected; } }; #endif // _HTML2_IDL_
The WICD Mobile specification allows authors to use XHTML, CSS, and SVG together in a predictable way. WICD Core defines basic principles that all comformant content and user agents must apply. Exact language versions and capabilities are defined in the WICD profiles. Content authors are encouraged to see the profiles for guaranteeing use of right feature set.
In addition to this specification, the Mobile Web Best Practices 1.0 document provides useful guidelines for delivering content to Web-enabled mobile devices. WICD Mobile is a superset of the capabilities articulated in the default delivery context section of this document.
The editors would like to thank the contributors:
Ola Andersson, Ikivo
Daniel Appelquist, Vodafone
Mark Baker, Research in Motion, Limited, (formerly) Justsystem
L. David Baron, The Mozilla Foundation
Robin Berjon, Expway
Kurt Cagle, Mercurial Communications Inc.
Cyril Concolato, Groupe des Écoles des Télécommunications (GET)
Erik Dahlström, Opera Software
Alex Danilo, W3C Invited Experts
Jean-Claude Dufourd, Streamezzo
Andrew Emmons, Bitflash Division of Open Text
Hae Seok Lee, Infraware
Torkel Hambraeus, Ikivo
Vincent Hardy (Previous Working Group Chair), Sun Microsystems, Inc.
Takanari Hayama, Vodafone
Scott Hayman, Research In Motion Limited
Ian Hickson, (formerly) Opera Software
Masayasu Ishikawa, (Working Group Team Contact) W3C
Dean Jackson (previous Working Group Team Contact), W3C
Kevin Kelly (Working Group Chair), IBM
Anne van Kesteren, Opera Software
Rhys Lewis, Volantis
Chris Lilley, W3C
Lars-Gunnar Lundgren, Obigo
Vincent Mahe, France Telecom
Charles McCathieNevile, Opera Software
Timur Mehrvarz, Vodafone
Kunio Ohno, Justsystems Corporation
Lasse Pajunen, Nokia
Lars Piepel, Vodafone
Antoine Quint, Fuchsia Design
Julien Quint, DAISY Consortium
Nandini Ramani, Sun Microsystems, Inc.
Seung Chul Yeh, Infraware
Svante Schubert, Sun Microsystems, Inc.
Bradley Sipes, Ikivo
Steve Speicher, IBM
Peter Stark, Sony Ericsson
Petri Vuorimaa, Helsinki University of Technology
Daniel Zucker, ACCESS Co., Ltd.
Added 3.6.12 Event Flow: Capture and Bubble to align with conformance section.(SS)
Prepeared CR state. (TM)
Fixed the link under 3.6.5 HTML DOM. (TM)
Added XHTML Basic 1.1 to status section as WICD Mobile dependency. (TM)
Inserted missing links. (TM)
Removed "WICD Full" from exit criteria in the status section. (TM)
Outcommented changelog entries before 22. December 2006. (TM)
Listing additional CSS attribute requirements 3.3 CSS Mobile Profile 2.0 (TM)
Removed the following text: "3.6.6 Focus Traversal - Conformant WICD Mobile 1.0 user agents must support the Focus Traversal features described in Appendix [***] for all namespaces." (TM)
Added missing item in Conformance section: "Conformant WICD Mobile 1.0 user agents must support the SVG Event to DOM Event Mapping." (TM)
Added missing item in Conformance section: "Conformant WICD Mobile 1.0 user agents must support the XMLHttpRequest Object." (TM)
Added missing item in Conformance section: "Conformant WICD Mobile 1.0 user agents should support Multipart/related packaging. These agents will advertise "multipart/related" capability with their HTTP request accept headers." (TM)
Added missing item in Conformance section: "Internet Media Type implementations must in general treat unrecognized subtypes of "multipart" as being equivalent to Multipart/mixed. Agents supporting a WICD Profile are therefore expected to support both, related and mixed." (TM)
Removed section "F Focus Traversal Support". (TM)
Split F References into Normative and Informative. (TM)
Using author list, sorted by last name. (TM)
Changed UA identification profile string from "/2005/12/" to "/2007/03/". (TM)
Fixed document validity. (JQ)
Removed occurrence of "we recommend". (JQ)
Replaced "MIME Type" with "Internet Media Type". (JQ)
Replaced "Non-Normative" with "Informative" in the xmlspec stylesheet. (JQ)
Added XmlHttpRequest Object dependency in the status. (JQ)
Fixed typos. (JQ)
Updated abstract [missing links to be fixed.] (JQ)
Added dummy links in 2 Compound Document by Reference Framework Compliance [to be fixed.] (JQ)
Moved examples from 2 Compound Document by Reference Framework Compliance to 1 Introduction. (JQ)
Changed should to must and mime type to Media Type in 3.2.1 ECMAScript Internet Media Type and added link to RFC 4329. (JQ)
Added conformance criterion to support DOM Level 3 event flow in all namespaces. (JQ)
Improved link consistency. (JQ)
Commented out diff-marked version from status and linked to last call comments. (JQ)
Updated status of the document to CR. (JQ)
Sorted contributors by last name instead of first. (JQ)
Added "Everything in this specification is normative except for diagrams, examples, notes and sections marked informative" in the beginning of B Conformance. (JQ)
Changed 3.6.9 Window interface to simply require Window Object 1.0, and updated attached conformance criterion. (JQ)
Removed "In addition to the Document interface attributes and methods defined in the SVG Tiny 1.2 uDOM specification" from the adoptNode description in C Document Object Model (DOM) Level 3 Core Subset Extensions. (JQ)
Added missing "HTMLOptionElement" fragment (3 lines) to 3.6.5 HTML DOM (TM)
Updated reference to "CSS Mobile Profile 2.0 Specification" [CSS Mobile Profile 2.0 Specification]. (JQ)