Update 2005-04-14: "W3C Request for Review of SVG's XML Binding Language (sXBL) Working Draft."
[September 01, 2004] A First Public Working Draft of SVG's XML Binding Language (sXBL) has been released by members of the W3C Scalable Vector Graphics (SVG) Working Group and the CSS Working Group. The sXBL language defines the presentation and interactive behavior of elements outside the SVG namepace.
sXBL is intended to be used to enable XML vocabularies (sometimes called tag sets) "to be implemented in terms of SVG markup elements. For instance, a tag set describing a flowchart could be mapped to low-level SVG path and text elements, possibly including interactivity and animation."
sXML is thus "an SVG-specific first version of a more general-purpose XBL specification. In the future, a general-purpose and modularly-defined XBL specification will be developed which will replace this initial Working Draft specification; it will define additional features that are necessary to support scenarios beyond SVG, such as integration into web browsers that support CSS. Once a general-purpose XBL is defined, sXBL will become an SVG-specific subset or profile of the larger XBL specification."
The feature set in sXBL represents a "repackaging and generalization of the Rendering Custom Content (RCC) feature described in previous SVG 1.2 specifications. Features that were formerly in RCC have been factored out into sXBL as a separate specification, reformulated for more general applicability for possible future use with other markup languages and moved into an XBL-specific namespace." Refactoring of RCC into sXBL is meant to ensure that RCC/sXBL would be forward-looking and can "develop into a future modularly-defined and general-purpose XBL specification which met the needs of multiple XML markup languages, not just SVG."
Although refactoring has involved renaming of elements and major changes in syntax, "the resulting sXBL feature set performs the same operations and satisfies the same requirements as RCC. Sometimes it is possible to migrate RCC-based widget definitions to XBL-based widget definitions after some global search and replace string substitutions."
Members of the XBL task force consider this sXBL specification "nearly ready for Last Call" and explicitly invite comments on the specification. "After evaluating public feedback on this draft, the next public draft might be a Last Call working draft."
SVG's XML Binding Language (sXBL). W3C Working Draft. 01-September-2004. Edited by Jon Ferraiolo (Adobe Systems), Ian Hickson (Opera Software), and David Hyatt (Apple). Version URL: http://www.w3.org/TR/2004/WD-sXBL-20040901. Latest version URL: http://www.w3.org/TR/sXBL.
The sXBL specification "is the culmination of several years of work by several groups:
Action Sheets A Modular Way of Defining Behavior for XML and HTML (AS). By Vidur Apparao, Brendan Eich, Ramanathan Guha, Nisheeth Ranjan; Netscape Communications Corp. W3C Member Submission, June 1998.
"Action sheets provide a mechanism for separation of event-based behavior from the structure of HTML and XML documents. This is similar to the way in which style sheets provide a separation between visual presentation properties and document structure. This concept allows a document author to introduce script-based event handling into an XML document, without modifying the document's DTD. It also allows for the packaging of reusable actions that can be applied to multiple HTML or XML documents. While action sheets share concepts and mechanism with style sheets, they differ by defining interaction rather than presentation. This document defines both the general concept of action systems and a concrete action sheet language."
HTML Components — Componentizing Web Applications (HTCs). By Chris Wilson; Microsoft. W3C Member Submission, October 1998.
"The growth of HTML with scripting as an application platform has exploded recently. One limiting factor of this growth is that there is no way to formalize the services that an HTML application can provide, or to allow them to be reused as components in another HTML page or application. HTML Components address this shortcoming; an HTML Component (HTC for short) provides a mechanism for reusable encapsulation of a component implemented in HTML, stylesheets and script. Componentization is a powerful paradigm that allows component users to build applications using 'building blocks' of functionality without having to implement those building blocks themselves, or necessarily understand how the building works in fine detail. This method makes building complex applications easier by breaking them down into more manageable chunks and allowing the building blocks to be reused in other applications. HTML Components brings this powerful development method to Web applications..."
Behavioral Extensions to CSS (BECSS). By Vidur Apparao, Daniel Glazman, Chris Wilson. CSS Working Group. W3C Working Draft, August 1999. "Behavioral Extensions provide ways for declaration of standalone behaviors that can be attached to any HTML or XML element, without modification of the DTD. Partly based on extensions to Cascading Style Sheets (CSS), these behaviors can be applied to multiple documents using the existing CSS linking mechanisms."
XBL: XML Binding Language (XBL). By David Hyatt, mozilla.org. W3C Member Submission, January 2001.
"This note outlines the XML Binding Language. XBL is a markup language for describing bindings that can be attached to elements in other documents. Bindings can be attached to elements using either cascading stylesheets (CSS) or the document object model (DOM). The element that the binding is attached to, called the bound element, acquires the new behavior specified by the binding. Bindings can contain event handlers that are registered on the bound element, an implementation of new methods and properties that become accessible from the bound element, and anonymous content that is inserted underneath the bound element..."
Rendering Custom Content (RCC). Part of some SVG 1.2 drafts. By Dean Jackson, SVG Working Group. W3C Working Draft, March 2004. "SVG 1.2 adds the ability to associate behavior or extensions with arbitrary XML markup within an SVG file. This feature is referred to as Rendering Custom Content (RCC)..." [from sXBL spec Section 1.1]
- SVG's XML Binding Language (sXBL)
- W3C news item
- "sXBL Available for Public Review." By Robin Berjon. From O'Reilly Developer Weblogs (September 01, 2004).
- W3C Cascading Style Sheets Home Page
- W3C Scalable Vector Graphics (SVG): XML Graphics for the Web
- About SVG
- SVG Implementations
- W3C SVG Slidemaker
- W3C Graphics Activity
- Earlier news:
- "W3C Scalable Vector Graphics (SVG)" - Main reference page.
- General: "XML Markup Languages for User Interface Definition."