The W3C Device Independence Working Group (DIWG) has released a First Public Working Draft for Content Selection for Device Independence (DISelect) 1.0 as part of the W3C Device Independence Activity.
The draft specification "represents one part of the approach being developed within DIWG for the provision of a markup language that supports creation of web sites that can be used from a wide variety of devices with a wide variety of characteristics. The overall approach being taken by DIWG is based on the development of a device independent profile for XHTML. The profile will be based on XHTML Version 2, XForms, and current and forthcoming versions of CSS. DIWG is developing additional modules that can be added to this combination of specifications to complete the profile. This specification describes the module that provides selection between versions of materials."
According to the WD abstract, the new document "specifies a syntax and processing model general purpose selection. Selection involves conditional processing of various parts of an XML information set according to the results of the evaluation of expressions. Using this mechanism some parts of the information set can be selected for further processing and others can be suppressed. The specification of the parts of the infoset affected and the expressions that govern processing is by means of XML-friendly syntax. This includes elements, attributes and XPath expressions. The document specifies how these components work together to provide general purpose selection."
The DISelect specification "provides a simple mechanism for the selection of the content that is to be expressed when adaptation takes place. Its processing model will follow the XInclude approach of positioning the document that contains DISelect items as the input to a step in which it is replaced by host markup based on processing of DISelect."
"Attributes and elements are defined for conditional processing. DISelect variables to help reduce the complexity of expressions and markup. DISelect uses a subset of XPath 1.0 to express the calculations and conditions involved when determining whether or not a particular piece of content is to be included for processing. This subset is sufficient to construct conditional expressions and expressions that return values. It also includes the ability to invoke XPath functions."
Content Selection for Device Independence (DISelect) 1.0. First public working draft. Edited by Rhys Lewis (Volantis Systems Ltd.) and Roland Merrick (IBM). W3C Working Draft. 11-June-2004. Version URL: http://www.w3.org/TR/2004/WD-cselection-20040611/. Latest version URL: http://www.w3.org/TR/cselection/.
DISelect Working Draft Overview
"In its paper on Authoring Challenges, DIWG identified a series of challenges faced by authors trying to create materials that could be used on a wide variety of devices with very different characteristics. One common theme emerging from this work was the need to support authors in the specification of variability in the materials they produce.
In its paper on Device Independence Principles, DIWG has pointed out that the process by which authored materials are adapted for use on particular devices may take place at any point between the source of the material and the device.
The combination of these two requirements argues for a capability by which authors can provide alternative versions of their materials, from which a particular version can be chosen during adaptation. It also argues that the mechanism by which such selection can be performed should not be excessive in its processing demands, since it may need to be performed on a device with limited capacity...
This specification provides a simple mechanism for the selection of the content that is to be expressed when adaptation takes place. It does not attempt to provide the dynamic modification associated with browser programming, embodied in languages such as ECMAScript, nor does it attempt to provide the comprehensive transformation capabilities of XSLT. Rather, it provides capabilities that could be implemented using those mechanisms, but in a way that can requires only modest capability from the processors involved...
The processing model will follow the XInclude approach of positioning the document that contains DISelect items as the input to a step in which it is replaced by host markup based on processing of DISelect... Though syntactically the elements and attribute may be used anywhere within the host markup, not all such uses will lead to valid infosets. Whether they do or not is dependent on the host language syntax...
Attributes for Conditional Processing: DISelect provides two attributes that can be used with elements of the host language. One attribute, sel:expr, simplifies the specification of selection under certain circumstances. The other attribute, sel:selid, provides a mechanism for avoiding problems associated with duplication of values of host language id attributes..."
Elements for Conditional Processing: Included are the sel:if Element the sel:select Element the sel:when Element and the sel:otherwise Element... The sel:if Element "defines a set of material that is to be selected for processing if the associated conditional expression has the appropriate value. This element provides an alternative to use of the sel:expr attribute alone when a particular condition applies to several elements of the host language. In particular, the sel:if element allows control to be applied to an arbitrary fragment of the host language that does not itself have a single root element... The sel:select Element encloses material that is subject to conditional selection for processing. Its body content consists of one or more sel:when elements and an optional sel:otherwise element. Expressions associated with the sel:select and sel:when elements control the conditions under which particular parts of the content are processed...
Variables: DISelect supports the use of variables to help reduce the complexity of expressions and markup. Variables are declared and initialized using markup. Their values can also be modified using markup. Variables can be referenced from expressions using the standard XPath mechanisms.
Expressions: DISelect uses a subset of XPath 1.0 to express the calculations and conditions involved when determining whether or not a particular piece of content is to be included for processing. This subset is sufficient to construct conditional expressions and expressions that return values. It also includes the ability to invoke XPath functions. DISelect makes use of a number of specific XPath functions. These functions provide a means of abstraction that avoids direct coupling between the underlying data, on which conditional processing decisions are based, and the references used by authors. This is particularly useful in hiding the specific details of the representations used in delivery context from the markup that references it..." [excerpted]
About the W3C Device Independence Activity
"Work on Device Independence is part of W3C's Interaction domain.
The World Wide Web is the universe of network-accessible information. The Web is becoming accessible from a wide range of devices including cellular phones, TV, digital cameras, and in-car computers. A threat we face is that only parts of the Web will be accessible from these devices. W3C is dedicated to ensuring that the Web universe is not fragmented. In keeping with W3C's goal of universal access, and the fundamental design principles that govern W3C technological development, interoperable languages and protocols and single-authored content should prevail.
W3C is aware of standardization efforts relating to mobile Web and TV Web integration within other standardization bodies. The Consortium and its Members are well-positioned to lead development to avoid incompatibility and achieve single Web authoring. The W3C Device Independence Activity is working to ensure seamless Web access with all kinds of devices, and worldwide standards for the benefit of Web users and content providers alike.
W3C provides the platform for discussion of device independent Web access and authoring. The Device Independence Working Group tracks devices and services in development or already deployed, collects requirements on Web access with those devices, studies the domain-specific issues to find commonality among them, and reviews related specifications within and outside W3C..." [extracted from the DI Activity Statement]
- Content Selection for Device Independence (DISelect) 1.0
- W3C DISelect WD news item
- Mail Archives for W3C public list 'email@example.com'. "Public mailing list for discussion of general issues relating to Device Independence, and in particular device independent markup and authoring. This list will also be used by the Device Independence Working Group to ask for comments on its public documents relating to DI principles, authoring challenges and techniques and device characteristics." Post to firstname.lastname@example.org.
- W3C Device Independence: "Access to a Unified Web from Any Device in Any Context by Anyone."
- W3C Device Independence Working Group Charter
- W3C Device Independence Activity Statement
- Earlier news: