This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: keys vs. parameters
- From: "David N Bertoni/Cambridge/IBM" <david_n_bertoni at us dot ibm dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Fri, 7 Jun 2002 14:28:59 -0700
- Subject: RE: [xsl] keys vs. parameters
- Reply-to: xsl-list at lists dot mulberrytech dot com
Peter.Hunsberger wrote:
> > If you use xsl:key then (separate) key tables are made for that match
in
> > _every_ document processed (conceptually, the system probably has
> > optimisations so it doesn't produce tables that are never used).
> >
> > when you use key('foo','bar') it looks up bar in the foo table
> > associated with the current document. So you just need to make sure you
> > are
> > in the document that you want, so
>
> Umm, all fine and good, but how do you generate the key table in the
first
> place? I don't want the keys on the main document, I want them on the
> document processed by document() (or in some cases on the data produced
by
> an extension)...
You don't generate anything -- that's the responsibility of the processor.
Most implementations will "index" on an as-needed basis, so if you don't
refer to a key, there won't be any overhead. Since the key() function can
only return nodes in the same document as the context node, a processor is
required to keep information separate for each source document. Again,
with most implementations, that means only the documents for which there is
a call of the key() function will be "indexed".
Both Xalan-J and Xalan-C++ implement keys this way.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list