- From: Alex Vincent <ajvincent@gmail.com>
- Date: Fri, 26 Oct 2012 21:57:37 -0700
- To: whatwg@lists.whatwg.org
Over the last six months, I've quietly toiled away at an alternate DOM implementation for my Verbosio editing project. (Verbosio is a project for building a prototype XML editor, with XML languages supported as Firefox-like add-ons.) I would have preferred to use Mozilla's native DOM or a pre-existing DOM implementation like domjs or envjs, but unfortunately I felt that these would not meet my requirements - shadow content adjacent to the owning content, XML entity support and undo history management. I also felt that I could not at the time easily adapt any of them to my needs. (I'm aware of work ongoing in shadow content and undo history, but these specifications and implementations aren't mature yet.) So, being the mad scientist that I am, I built my own "template DOM" from scratch. It's nowhere near compliance with the DOM Living Standard ( http://dom.spec.whatwg.org/ ), nor do I intend it to be. I'll be using my template DOM in parallel with the Mozilla DOM - the former only for managing XML templates and XML entity references in Verbosio, the latter for rendering those templates and for ordinary DOM work. In particular, I've started a few wiki documents on my project's website where I explain what's supported, what's not supported, and why: https://sourceforge.net/p/verbosio/templates/wiki/DOM/ https://sourceforge.net/p/verbosio/templates/wiki/Infrastructure/ https://sourceforge.net/p/verbosio/templates/wiki/Build/ Currently, my Jasmine testing framework reports over 900 tests - most of which I'm certain the current DOM test suites already cover. The remaining tests are specific to my implementation and would likely not apply to other existing DOM implementations. In terms of merging my own work or ideas with other DOM implementations and specifications - I'm certainly willing to consider it, but I need this template DOM to work in my Verbosio editing project first. I'm posting to this mailing list primarily as a heads-up, to show where I'm going in the short term and perhaps to see if some of my approaches and algorithms could be useful to others in this space. The project's code is available under the Mozilla Public License version 2. Alex Vincent Hayward, CA, U.S.A. Planet Earth, Milky Way Galaxy, the Universe (roughly) -- "The first step in confirming there is a bug in someone else's work is confirming there are no bugs in your own." -- Alexander J. Vincent, June 30, 2001
Received on Saturday, 27 October 2012 04:58:40 UTC