Subject: Re: Loading an external file of index From: Jeni Tennison <Jeni.Tennison@xxxxxxxxxxxxxxxx> Date: Thu, 22 Jun 2000 12:29:20 +0100 |
At 12:42 PM 6/22/00 +0200, Eric van der Vlist wrote: >I haven't tested it since my favorite XSLT processors is lacking key >support, but something like : > ><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >version="1.0"> > > <xsl:output method="html" indent="no"/> > > <xsl:key name="mysetofkeys" > match="document('../shared/shared.xml')/keybase/key" > use="@name"/> > > .... > ></xsl:stylesheet > > >should work from my understanding of the rec. Unfortunately, I know from struggling with some fairly recent questions that this doesn't work. You can't use the document() function within the 'match' attribute of xsl:key. Instead, define the key as if the input document was the one with the keys in, at the top level of the stylesheet: <xsl:key name="mysetofkeys" match="/keybase/key" use="@name" /> Then, when you want to use it, put the key() function within an xsl:for-each that has the document that holds the keys as its 'select' attribute: <xsl:template match="keyref"> <xsl:variable name="keyrefname" select="@name" /> <xsl:for-each select="document('../shared/shared.xml')"> <b><xsl:value-of select="key('mysetofkeys', $keyrefname)/ACRONYM" /></b> </xsl:for-each> </xsl:template> This is kind of explained in the XSLT Recommendation at http://www.w3.org/TR/xslt#function-key, right at the end of that section. I hope that helps, Jeni Dr Jeni Tennison Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE Telephone 0115 9061301 ? Fax 0115 9061304 ? Email jeni.tennison@xxxxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Loading an external file of ind, Eric van der Vlist | Thread | Re: Loading an external file of ind, Pierre Attar |
Re: Outputting "entire nodes", Wendell Piez | Date | RE: How is this part of the XSLT sp, Thorbjørn Ravn Ander |
Month |