The W3C has acknowledged receipt of a submission from America Online, Inc. (through mozilla.org) for XBL: XML Binding Language. According to the W3C NOTE, XBL is an XML 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." The XBL submission represents "a further development of two earlier submissions; it combines an XML-based wrapper format with CSS, ECMAScript and the DOM, to define the look and behavior of elements in HTML or XML-based documents (especially form elements). Apart from the XML-based wrapper format, it proposes an extension to CSS and new functions for the DOM."
Status: "This NOTE was submitted to the World Wide Web Consortium on 2001-01-12 with the intention that the W3C use it as a basis for furthering the work on BECSS. For a full list of all acknowledged Submissions, please see Acknowledged Submissions to W3C. Inquiries from the public about this submission should be directed to the mozilla.org community. The forum most appropriate for discussion of XBL and related matters in the context of Mozilla is the newsgroup netscape.public.mozilla.xbl (which may soon change to mozilla.dev.tech.xbl). The W3C forum most appropriate for discussing this submission is the www-style mailing list."
From the W3C Team comment on the XBL submission:
XBL combines an XML-based wrapper format with CSS, ECMAScript and the DOM, to define the look and behavior of elements in HTML or XML-based documents (especially form elements). Apart from the XML-based wrapper format, it proposes an extension to CSS and new functions for the DOM. The submission is a further development of two earlier submissions ('Action sheets' by Netscape and 'HTML components' by Microsoft) and a CSS working draft ('Behavioral extensions').
Although the approach is clearly powerful, it is also complex, and it does not remove the need for procedural code; cf. Tim Berners-Lee's essay "principle of least power". The complexity comes from the variety of formats involved and the levels of indirection: a source document is associated with a (CSS) style sheet, which in turn associates an XBL file with elements in the document, which in turn contains further XML documents, more CSS and also ECMAScript. It seems that, at least in theory, XBL can even be recursive: an XBL file can contain a CSS style sheet that links further XBL files to the elements created by the first XBL file, and so on. XBL is therefore not like an embedded image or object, which can be treated as a 'black box' that is handled by a plug-in or an independent program. The scripts provided in the XBL file have access to the DOM of the document the XBL is attached to. Furthermore, although the scripts in the original document cannot 'see' the document fragments inserted by XBL, any CSS style sheets in the original document do apply to those fragments. An alternative approach might be to use XSLT to transform a source document to one that includes the fragments, although the disadvantage will be that the DOM contains the expanded document and no longer only the original. Also, this approach does not really reduce the number of different technologies involved. Yet another approach is to extend CSS with extra properties to capture the most typical looks and behaviors (extra borders, drop down menus, icons, etc.) of user interface controls, but the disadvantage is, that the flexibility of XBL to experiment with new looks and new behaviors will not be there..."