RE: Advice on XML editor development

Bill la Forge (b.laforge@opengroup.org)
Mon, 27 Apr 1998 13:23:06 -0400


At 09:09 AM 4/27/98 -0700, Tim Bray wrote:
>Several of the Java parsers either build a tree directly or make it
>easy to do so. Given a tree, the amount of code necessary to
>construct an XML output instance is like 25 lines, on a bad day.
> -T.

But what about entities? If they are expanded when the XML is parsed, things
get a little complicated when the parse tree is converted back to XML, unless
there is no attempt at restoring the original entities.

Now I currently track which nodes have been modified (dirty), where a node
is counted as modified if any of its children have been modified. --I use the
original input for output when a node is unmodified. I would need to track the
pre-expanded entity input for each node.

But lets say an entity expands to XML which becomes two of the children of
a common node. The problem now is if either child is modified, the subsequent
XML would not be able to reference the original entity.

(Yes, this probably turns into the answer I want, but I suspect there is
a lot more work here. Particularly since I currently have no code for
expanding the entities in the first place.)

Please feel free to look at what I've done. The zip file can be found at
http://www.camb.opengroup.org/~laforge/coins/#related_links
But as I said before, the bulk of that has to do with the extensible
processor, and only the small CoinLoader class actually does any parcing.

Bill