RE: key vs DTD ID attribute Performance issue

Subject: RE: key vs DTD ID attribute Performance issue
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Fri, 1 Dec 2000 11:26:40 -0000
It's best not to guess what the processor will do: just measure it (or look
in the source code).

Saxon normally builds indexes both for id() and for key() the first time the
index is needed for a particular document. But with the TinyTree model in
Saxon 6.0, id() indexes are now built as the document is parsed.

A key() index will probably take longer to build than an id index, because
of the complexity of evaluating the match pattern and use expression for
each node.

An ID index can be associated with the document in memory, and can be
re-used by any stylesheet. A key index built for use with one stylesheet
cannot in general be used with a different stylesheet, unless the processor
is clever enough to compare the different key definitions in the two
stylesheets (Saxon isn't; but it will reuse the indexes if you do multiple
transformations using the same stylesheet and the same source document.)

Mike Kay

> I am currently exploring all options available to me to improve XSLT
> Transform performance.
> I am trying to evaluate the difference between using a DTD  ID type
> attribute or an XSLT key with a
> "static" XML file whose resultant DOM is cached for reuse.

 XSL-List info and archive:

Current Thread