Re: [xsl] Severe limitation of the xsl:key element with multiple source documents

Subject: Re: [xsl] Severe limitation of the xsl:key element with multiple source documents
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 10 Dec 2002 19:46:09 -0500
At 2002-12-10 19:20 -0500, Jerome Louvel wrote:
we need to define XSLT keys in our source documents
...
And we discovered that Xalan rejects this because of the presence of the
document() function call.
After checking the spec we discovered that the "match" attribute of the
xsl:key element must be a pattern (http://www.w3.org/TR/xslt#NT-Pattern) and
not an expression (http://www.w3.org/TR/xpath#NT-Expr).

This prevents us from declaring any keys in our case
...
Are we missing something?
Is there any other way to define key from multiple source documents?

You are missing that a separate key table is created for each source document. When you call the key() function, it only looks in the key table of the document of the current node, which sometimes requires you to keep around variables of nodes of your different documents to do a for-each to set the correct context.


I hope this helps.

.................... Ken


-- Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO: - North America: Feb 3 - Feb 7,2003

G. Ken Holman               mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.        http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                     Definitive XSLT and XPath
ISBN 0-13-140374-5                             Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1             Practical Formatting Using XSL-FO
Next conference training:                          2003-03-03,06


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread