I’m using CodeMirror (current version is 3.18) to act as my source code editor. The scripted DOM is still there, this time showing attributes as children before a XUL tree separator. On the right side, we start with relevant SAX events to capture details of the DOM I’m building. Then there are logging events for the “Node Positioning Service”, which tries to align source code to DOM nodes. The lower right box captures change events from CodeMirror.

Over the last couple weeks, I’ve compared what I’m working on with my project’s immediate goal of building a XML templates editor, and realized that I was starting to get distracted. So I filed a few tracking tickets, checked my roadmap, and discovered I’d essentially finished the second milestone: the DOM implementation in JavaScript.

The next major phase will be about handling XML entities (&button.label; for example). This will require a first introduction of a “shadow DOM”, where some DOM nodes will hide others from direct access. (Indirectly these other nodes will still be accessible.) This also means I’m starting to catch up with progress I made five years ago… that’s what happens when you do a rewrite.

I’m still looking for help! In particular, I would like JavaScript developers to help out with: