This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: key vs DTD ID attribute Performance issue
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: key vs DTD ID attribute Performance issue
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Fri, 1 Dec 2000 11:26:40 -0000
- Reply-To: xsl-list at mulberrytech dot com
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: http://www.mulberrytech.com/xsl/xsl-list