Chapter 6: Evolution of xmlDraft
We have thus far discussed the powers behind XML Schemas,
and also their weaknesses, that being that the more powerful
and flexible the schema is, the less readable it becomes.
xmlDraft addresses the need for displaying what the instance
XML Document should look like while editing, as well as adding
the ability to adjust this display and have the Schema
automatically update itself. So what's left? Let's take
a look at the evolution of xmlDraft, the history of its name,
and what to expect in the future.
Naming xmlDraft
xmlDraft? What about xmlArchitect? The original code name for
this smart XML Schema editor was xmlArchitect, and the
application retained this name for quite some time, literally
years. The initial idea was that an XML Schema was like a
blueprint of an XML Document, the image of the
document, but not the actual document. It made for a great
code name for the beta.
As we grew however, a simpler, more forceful name became more
and more apparent. While an architect creates a blueprint, what
he is really doing is drafting up the diagram for
a building. The word "draft" kept shouting out as a stronger
name, easier to remember, and ultimately a better brand. So,
as the new version of xmlArchitect was nearing completion and
a second beta released in the summer of 2004, it was rebranded
to xmlDraft. The public first saw xmlDraft November of 2004,
when it was released for sale.
Future work
With the release of xmlDraft 1.0, what can we expect from future
releases? A lot. Not only will there be better support
for W3C XML Schemas (such as showing all import and included
documents), but the ultimate goal is to make xmlDraft an Open
application. We intend to publish an API that will allow other
schema authors, such as RELAX NG or Water, to implement their
own Schema-to-Instance parsers, and plug the code into the
xmlDraft application. This feature will expand the number of
schema languages supported by xmlDraft, and will also create
the ability to translate an instance document into other schema
languages. Imagine, taking a DTD and converting it into RELAX NG,
etc.
|