Parser question... (DTD pre-parsng)
M.H.Kay at eng.icl.co.uk
Wed Jul 15 12:00:04 BST 1998
Kim Covil <kimc at ned.dem.csiro.au> wrote
>...I have been wondering whether there are any
>tools out there that will 'cache' the parsing of a DTD...
>our resources use the same DTD, each time a view is created
>xml file is parsed... the DTD is referenced... the DTD is
>and then the xml is validated...
A very interesting question. I had the same thought about a
related problem: the cost of repeated parsing and validation
of the same XML document instance. I did a few experiments
to try and devise a format for "pre-parsed XML" that would
be faster to read than the original. My experiments failed,
mainly I think because most of the formats I tried used a
greater number of bytes than the original, and the parsing
cost is dominated by the "read next byte" cost.
For reference, the three formats I played with were:
- a file representing a sequence of SAX events
- a Java serialisation of this sequence
- a variant of James Clark's "canonical XML" (with tricks
such as minimized end tags)
I came to the conclusion that the last of these could give a
slight saving but the gain isn't worth the pain.
The only practical way I found of cutting out repeated work
was to remove the DTD reference once I know the document is
valid. With very few exceptions (e.g. white space handling,
attribute defaults) the presence of a DTD makes no
difference to the processing of a valid document, other than
to add to its cost. And if these features (white space,
default attributes) are important, you can apply them to the
instance in a preprocessing stage.
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev