XBL extends XML and the traditional Web environment the way C++ extends C. It provides object-like features on top of a system that has no object-like features to start with.
Every XBL document is just a list of bindings, each stated with a <binding> tag. Constructing a binding is similar to constructing an object's class. Listing 15.2 shows a simple XBL binding that is a variant of the XUL <checkbox> tag's binding.
<?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <binding id="checkbox" extends="general.xml#basetext"> ...