Hi Sergey,
This is a great work, congratulation !
However, your implementation of XBL2 is not full : nodes added from an
XBL are not anonymous, and this is a big issue. Because many DOM
properties and methods don't return expected results. For example
mynode.firstChild should not return a node added by XBL.
http://www.w3.org/TR/2007/CR-xbl-20070316/#shadow5
But unfortunately, I think you couldn't fix this issue, unless browser
provide API to create anonymous nodes... (In Gecko, there is a such API,
but it's an internal API).
Laurent
Sergey Ilinsky wrote:
Hi, WebAPI fans
There have been not much activity in the group since a while, so I
thought I could bring something for consideration.
On my spare time I've implemented XBL 2.0 in JavaScript, a tiny (8k
gzipped) library that brings support for the technology to all major
web-browsers. The project is hosted on Google Code
http://code.google.com/p/xbl/ , if you are interested check it out.
The implementation supports most of XBL 2.0 features with except for
three principal - processing instruction <?xbl?> (you still have an
option to use Behavioral Extensions to CSS),
xbl-bound/xbl-bindings-are-ready events and xbl:attr attribute. A
detailed breakdown on features can be found at
http://code.google.com/p/xbl/wiki/Features There is also a pair of
examples as well as tests demonstrating multiple aspects of the
implementation.
Get your bindings bound!
Sergey Ilinsky/