- XBL
XBL ("XML Binding Language") is an
XML -basedmarkup language used to declare thebehavior and look ofXUL -widgets andXML element s.XBL was developed by the
Mozilla project for use in theMozilla application suite ; the language is not currently described by any formal standard and is thusproprietary to Mozilla, with the only implementation being theGecko layout engine . XBL 2.0 is the newversion of XBL, which is in process of being standardized by theWorld Wide Web Consortium .XBL basics
In XUL one defines the
user interface layout of anapplication , 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 ascroll bar work. This is where XBL comes in.An XBL file contains "bindings", each of which describes 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
element, which contain one or more
elements. Each
element declares one binding, which can be attached to any XUL element. It may also possess an
attribute. A binding is assigned to an element by setting the CSS propertyid
to the URL of the binding's file. For example:-moz-binding scrollbar { -moz-binding: url('somefile.xml#binding1'); }
wherein
binding1
is theid
of the binding.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 specificationdocument 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 browser s.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 [http://www.w3.org/2006/appformats/ 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 [http://www.w3.org/News/2007#item46] . It is stated in the document that it will remain at the Candidate stage until two complete and interoperable implementations exist [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] .Relationship with other specifications
The
sXBL specification aims to do for SVG documents what XBL has done forXUL documents. SVG is an XML language proposed by the W3C supportinggraphics ,animation s, embedded media, events and scripted behavior.XBL 2.0 will supersede the sXBL draft [http://lists.w3.org/Archives/Public/public-appformats/2006Sep/0093.html] , as stated in the W3C [http://www.w3.org/2006/appformats/ Web Application Format Working Group site] . Also the
chapter s of the sXBL specification are asubset of those of XBL 2.0.See also
*
XForms also is designed to be extended using XBL
*
*XUL
*sXBL References
External links
Documentation/Browser implementations
* [http://developer.mozilla.org/en/docs/XBL Mozilla XBL documentation]
* [http://www.w3.org/TR/xbl/ W3C XBL 2.0 Candidate Recommendation]
* [http://www.w3.org/TR/xbl-primer/ XBL 2.0 Primer Working Draft]
* [http://www.mozilla.org/projects/xbl/xbl2.html The latest XBL 2.0 update on mozilla website] (same content as [http://www.w3.org/TR/xbl/ W3C version] )
* [http://www.xsmiles.org/ Partial implementation of the XBL 2.0 in the Java based X-Smiles browser]Cross-Browser implementations
* [http://code.google.com/p/xbl/ Cross-browser XBL 2.0 implementation in JavaScript]
* [http://www.meekostuff.net/xbl2/ Partial implementation of XBL 2.0 in JavaScript by Sean Hogan]
* [http://webfx.eae.net/dhtml/xblmarquee/xblmarquee.html XBL Marquee] - An example implementation.
Wikimedia Foundation. 2010.