RE: [xsl] Link Generation using keys

Subject: RE: [xsl] Link Generation using keys
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Mon, 12 Nov 2001 13:55:56 -0000
> Within a template want to generate links using key values like below:
> <xsl:template name="x">
>  <xsl:param name="id" select="1" />
>  <xsl:for-each select="key('ids', $id)">
>  <xsl:element name="a">
>   <xsl:attribute name="href"><xsl:value-of
> select="id"/></xsl:attribute>
>   <xsl:text><xsl:value-of select="title"/></xsl:text>
>  </xsl:element>
> ...
> </xsl:template>
>
> This does not work - there are no links generated; what would
> be the proper way  to access the values ?

If this isn't generating any <a> elements, then key('ids',$id) isn't
selecting any nodes, and there's no way of telling why without seeing your
key definition and your source document.

incidentally, you could rewrite the above as

<xsl:template name="x">
 <xsl:param name="id" select="1" />
 <xsl:for-each select="key('ids', $id)">
   <a href="{id}"><xsl:value-of select="title"/></a>
 ...
</xsl:template>

which some people would find more readable...

Mike Kay


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


Current Thread