A few minutes ago, I completed a set of XBL-based bindings. This set of bindings implements a repetition model (somewhat dissimilar to Web Forms 2’s model, but workable for now), and uses one group of user-interface elements to set attributes for another group of UI elements.
In English, I’ve made a significant step forward in having XUL edit XUL.
There are still a few issues to work out (extracting the edited XUL from the binding, and feeding XUL in for editing, and making the edits nearly-WYSIWYG… they apply, but for some reason you can’t see a radio button’s label change). The source code is at http://www.mozdev.org/source/browse/verbosio/experimental/templates/chrome/content/editorTest (see elementTemplate.xul and elementTemplate.xml). Be aware this code is experimental, so it will change in the near future.
XUL for editing XUL has another benefit. Because I would use XUL for editing other XML languages (based on my One for one blog entry), I can use XUL to create the XUL-based editing templates for each language.
Verbosio follows this “One for one” concept. Individual language-specific editors become extensions. Now, it’s becoming feasible (not just possible!) to build at least basic extensions with Verbosio itself. That’s what I call eating your own dog food. I’m not there yet. But it’s in sight.