RE: [xsl] keys vs. parameters

Subject: RE: [xsl] keys vs. parameters
From: "David N Bertoni/Cambridge/IBM" <david_n_bertoni@xxxxxxxxxx>
Date: Fri, 7 Jun 2002 14:28:59 -0700
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


Current Thread