[
Lists Home |
Date Index |
Thread Index
]
- From: "Michael Kay" <M.H.Kay@eng.icl.co.uk>
- To: <xml-dev@ic.ac.uk>
- Date: Wed, 15 Jul 1998 11:02:34 +0100
Kim Covil <kimc@ned.dem.csiro.au> wrote
>
>...I have been wondering whether there are any
>tools out there that will 'cache' the parsing of a DTD...
As all
>our resources use the same DTD, each time a view is created
the
>xml file is parsed... the DTD is referenced... the DTD is
parsed
>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.
Mike Kay
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|