Re: [xsl] Looking up keys in a separate xml file

Subject: Re: [xsl] Looking up keys in a separate xml file
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 05 Jan 2004 19:30:24 -0500
At 2004-01-05 18:42 -0500, Scott Anguish wrote:
I've got two xml files, one with descriptions, and the other with items that use those descriptions.

the lookup and key functions work fine as long as the descriptions xml and the items xml are in the same file.

To use the key() function in another file, you have to set your current node into that file before executing the function, such as:


   <xsl:for-each select="document('thedocument.xml')">
     <xsl:apply-templates select="key(....)"/>

Is it possible to do this in a single operation? I tried match="document('thedocument.xml')/descriptions", but xsltproc barfed on that.

Yes, as it should.


Your one XSLT stylesheet can match nodes from different documents just by saying:

<xsl:template match="descriptions">......

Where elsewhere in your document you do the push:

<xsl:apply-templates select="document('thedocument.xml')/descriptions"/>

If you have a <descriptions> element in both input files, then you could either use modes or you could qualify an ancestral element that is unique in each file.

I hope this helps.

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

--
North America (Washington, DC): 3-day XSLT/2-day XSL-FO 2004-02-09
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide:  please contact us for the details

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-11-X               Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners:     http://XMLGuild.info
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/s/bc


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



Current Thread