XML News from Monday, January 29, 2007

Erik Wilde has written an XSLT 2 stylesheet that mostly implements XInclude 1.0. Content negotiation is not handled. Otherwise it should be fairly complete.

The W3C Web Application Formats Working Group has published a second last call working draft of XML Binding Language (XBL) 2.0.

This specification defines the XML Binding Language and some supporting DOM interfaces and CSS features. XBL is a mechanism for overriding the standard presentation and interactive behavior of particular elements by attaching those elements to appropriate definitions, called bindings. Bindings can be attached to elements using either CSS, the DOM, or by declaring, in XBL, that elements matching a specific selector are implemented by a particular binding. The element that the binding is attached to, called the bound element, acquires the new behavior and presentation specified by the binding.

Bindings can contain event handlers that watch for events on the bound element, an implementation of new methods and properties that become accessible from the bound element, shadow content that is inserted underneath the bound element, and associated resources such as scoped style sheets and precached images, sounds, or videos.

XBL cannot be used to give a document new semantics. The meaning of a document is not changed by any bindings that are associated with it, only its presentation and interactive behavior.

This version is a non-backwards-compatible "revision of Mozilla's XBL 1.0 language, originally developed at Netscape in 2000, and originally implemented in the Gecko rendering engine" developed by Mozilla, Opera, Google, and Apple. (Hmm, who's missing from that list?) It's supposedly less Mozilla focused, more browser independent. This is not the same as the W3C's sXBL effort, and it's not immediately clear whether work on that will continue in parallel, or if this will replace it in the W3C standards track. Either way this looks very interesting, and I hope the W3c can navigate the rocky shores of browser compatibility to get something usefully implemented.