In the exisiting working draft for SVG 1.2 the W3C adds something called RCC. RCC is a way to define custom elements in SVG. It is very similar to XBL and tries to solve the same issues as both XBL and Microsoft’s behaviors has tried to solve before this.
I’ve previously commented about the duplicate effort of RCC and that I thought RCC should be taken out of SVG and coordinated with XBL and related efforts. In the latest update of the SVG 1.2 WD there is a note saying just this.
The RCC feature set is expected to be moved to a separate specification from the next publication of this document. Discussions are already under way to merge the functionality with the XML Binding Language (XBL) that has been implemented in some HTML browsers. This will not delay the SVG 1.2 specification, and will allow the features to be used in multiple document formats (including both SVG and XHTML). A new XBL specification is being developed by the SVG Working Group with liaison with other W3C Working Groups. It is highly likely that the first official W3C version of XBL will address the requirements of SVG 1.2, where future versions add some features needed by other document languages.
On the same topic, Alex Fritze of Mozilla SVG fame is adding another variant trying to solve the same thing, called XTF (eXtensible Tag Framework). XTF is much more similar to Spice (submitted to the W3C by HP even before Microsoft proposed the HTML Components. XTF uses JS, C++ or any other XPCOM language to implement a specific interface describing how to render the element. This is much more similar to binary behaviors and IE and the way custom components are implemented in Avalon. The good tihng with this is that it is more powerful but the downside is that it is harder to learn.
This leaves us with 3 implemented variants (and a half for XTF) and one more proposal submitted to the W3C (Action Sheets totall ignored).
|HTML Components||W3C Submission||IE5+ Win32|
|XBL||Draft Proposal (Adobe, Opera & Apple)||Mozilla|
|RCC||Part of SVG 1.2 WD||Adobe SVG Viewer v6|
At the moment it seems like XBL will be the final solution. I’m not sure I’m totally satisfied with this. I have several issues with XBL that you will most likely notice by looking at the XBL Marquee at WebFX.
I hope I can get back to this topic because this topic is something that lies close to my heart. I would like to disguss what kind of features I see as essential for something like this (and where existing solutions fall short).