XBL is a component of Mozilla's layout architecture that provides the ability to map elements
to script, event handlers, CSS, and more complex content models. This is used to implement XUL
elements, as well as the non-standard HTML marquee
element.
It can also be used to implement new DOM interfaces, and, in conjunction with other specifications, enables arbitrary tag sets to be implemented as widgets. For example, XBL is used in part by the project to implement an XForms extension for Firefox.
A specification for XBL 1.0 is available. Mozilla implements a variant of XBL 1.0 which does not quite match the specification.
There is also work in progress on an XBL 2.0 specification.