Overview

XBLUI provides user interface enhancements for HTML. Enhancements are implemented with element bindings using the W3C's XML Binding Language (XBL)1. XBL provides a simple method of applying and extending the built-in enhancements.

XBLUI is a cross-browser Javascript library and incorporates Javascript and DOM fixes and enhancements to promote standards-based, browser-agnostic web-development.

Since no current browser has a native XBL implementation XBLUI has its own partial, cross-browser implementation. Native XBL implementations will improve the performance of XBLUI enhancements.

Notes:
  1. Also commonly referred to as XBL2, not to be confused with the non-compatible Mozilla XBL also known as XBL1.

Quick start

Using XBLUI in your web-page is typically a three step process:

  1. include the XBLUI script
  2. create a XBL document to specify which elements receive user interface enhancements
  3. include the XBL document with a link or style element (similar to including a CSS document)

The following example illustrates the simple case of adding numeric input functionality to a HTML input element as in the Web Forms 2 specification:

<html>
<head>
<script src="http://dist.meekostuff.net/XBLUI/1.1-default/XBLUI.js"></script>
<style type="application/xml">
<xbl xmlns="http://www.w3.org/ns/xbl">
<binding
element="input[type=number]"
extends="http://dist.meekostuff.net/XBLUI/default/WF2.xml#WF2NumberInput"/>
</xbl>
</style>
</head>
<body>
<label>Enter a number from 0 to 100
<input type="number" min="0" max="100" value="50" />
</label>
</body>
</html>

Licensing

XBLUI is available under the Creative-Commons Attribution, No-Derivatives license. If you aren't sure whether that applies to your intended usage then contact me for specific approval. The following list are guides for some specific scenarios:

Long-term licensing is yet to be decided - please check the license conditions of new releases before use.