XBL

From Wikipedia, the free encyclopedia

This article is about the markup language. XBL can also stand for Xbox Live.

'XBL' or 'XML' Binding Language is an 'XML'-based markup language used to declare the behavior and look of 'XUL'-widgets and 'XML' elements. 'XBL' is currently a Mozilla proprietary language with the only implementation being the Gecko layout engine. 'XBL' 2.0 is the new version of 'XBL', which is in process of being standardized by the W3C.

Contents

[edit] 'XBL' basics

In 'XUL' one defines the user interface layout of an application, and then by applying "styles" one can customize the "look" of various different elements. The drawback is that 'XUL' provides no means to change an element's function. For example, one might want to change how the pieces of a scroll bar work. This is where 'XBL' comes in.

An 'XBL' file contain "bindings". Each of which describe the behavior of a 'XUL'-widget or 'XML' element. For example, a "binding" might be attached to a scroll-bar. The behavior describes the properties and methods of the scroll-bar and also describes the 'XUL' elements defining the scroll-bar.

The root element of an 'XBL' file is the <bindings> element, which contain one or more <binding> elements. Each <binding> element declares one "binding", which can be attached to any 'XUL' element. It may also possess an id attribute. A "binding" is assigned to an element by setting the CSS property -moz-binding to the 'URL' of the "binding"'s file. For example:

scrollbar {
   -moz-binding: url('somefile.xml#binding1');
}

wherein binding1 is the id of the "binding".

[edit] History and future

'XBL' was initially developed and implemented as part of the Mozilla platform, alongside the 'XUL' language, so 'XBL' is available in most Mozilla-based products: Firefox, Thunderbird, SeaMonkey, etc. There used to be an 'XBL' 1.0 specification document on mozilla.org, which was submitted to 'W3C' as a "Technical Note", but the actual implementation never did match the specification.

The new version of the specification, called 'XBL' 2.0, is under development to address the problems of 'XBL' 1.0 and to allow for implementation with a broader range of Web browsers.

While the "body" of this version of the specification was created by the Mozilla project, outside the World Wide Web Consortium, as was the case for the 'XBL' 1.0 version, the W3C Web Application Formats Working Group is now guiding this specification along the 'W3C' "Recommendation" track.

The Candidate Recommendation of the specification was released by 'W3C' in March, 2007 [1]. It is stated in the document that it will remain at the Candidate stage until two complete and interoperable implementations exist[1].

[edit] Relationship with other specifications

The 'sXBL' specification aims to do for 'SVG' documents what 'XBL' has done for 'XUL' documents. 'SVG' is an 'XML' language proposed by the 'W3C' supporting graphics, animations, embedded media, events and scripted behavior.

'XBL' 2.0 will supersede the 'sXBL' draft [2], as stated in the 'W3C' Web Application Format Working Group site. Also the chapters of the 'sXBL' specification are a subset of those of 'XBL' 2.0.

[edit] See also

[edit] References

  1. ^ The upcoming 1.7 version of Batik, a Java library for manipulating SVG content has a preliminary "almost full" implementation of the sXBL specification, a very similar - although specific to SVG - W3C standard that will be dropped in favor of XBL

[edit] External links

In other languages