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(_at_)CraneSoftwrights(_dot_)com
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