Isn't this a case of keys across documents Michael?
He did say the acronym list was in another stylesheet.
His key() function only needs to search one document, so it's not a
problem.
Michael Kay
regards DaveP
This works for me. If I add the template rule
<xsl:template match="/">
<xsl:call-template name="AcronymnStandsFor">
<xsl:with-param name="acronym" select="'Ant'"/>
</xsl:call-template>
</xsl:template>
and run it under Saxon 6.5.3, with any source document, it produces
<?xml version="1.0" encoding="utf-8"?>Another Neat Tool
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf
Of
Justin Makeig
Sent: 07 November 2003 21:36
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Using keys to lookup from current stylesheet
I'm trying to use a key to lookup elements in the current
stylesheet. The AcronymnStandsFor is called from another
stylesheet that imports the one shown below to populate the
@title attribute of xhtml:acronym elements. I've used Michael
Kay's advice from his book and used the for-each
select="document('')" to switch the context to the current
(stylesheet) document. However, the key doesn't seem to find
anything. I've tested that the values that are coming in in
the $acronym parameter are correct. Can anybody spot what the
problem might be? Thanks.
- Justin
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:a="http://cde.berkeley.edu/docbook/constant/acronym"
exclude-result-prefixes="a">
<xsl:key name="AcronymKey" match="a:acronymItem"
use="a:acronym"/>
<xsl:template name="AcronymnStandsFor">
<xsl:param name="acronym"/>
<!-- change context to current document so the key
will work -->
<xsl:for-each select="document('')">
<xsl:value-of
select="key('AcronymKey',$acronym)/a:standsFor"/>
</xsl:for-each>
</xsl:template>
<!-- acronym lookups -->
<a:acronymList>
<a:acronymItem>
<a:acronym>Ant</a:acronym>
<a:standsFor>Another Neat Tool</a:standsFor>
</a:acronymItem>
...
</a:acronymList>
</xsl:stylesheet>
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
-
DISCLAIMER:
NOTICE: The information contained in this email and any
attachments is
confidential and may be privileged. If you are not the intended
recipient you should not use, disclose, distribute or copy any of the
content of it or of any attachment; you are requested to notify the
sender immediately of your receipt of the email and then to delete it
and any attachments from your system.
RNIB endeavours to ensure that emails and any attachments
generated by
its staff are free from viruses or other contaminants. However, it
cannot accept any responsibility for any such which are
transmitted. We therefore recommend you scan all attachments.
Please note that the statements and views expressed in this email and
any attachments are those of the author and do not
necessarily represent
those of RNIB.
RNIB Registered Charity Number: 226227
Website: http://www.rnib.org.uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list