Thanks J.
This worked great! Just a few corrections for reference on the list (and for
my own future purposes :} ). And sorry about not trimming down the content
before resending on the previous message.
Thanks again. Saved me from a lot more frustration.
Larry
Corrections to below:
<xsl:for-each select="//LexicalDatabase//index[generate-id(.)=
generate-id(key('entries-by-index',.))]">
^
<xsl:variable name="entry"
select="(ancestor::*[parent::LexicalDatabase])[1]"/>
^
From: "J.Pietschmann" <j3322ptm(_at_)yahoo(_dot_)de>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Muenchian method on nodes with two or more items for
indexing
Date: Fri, 20 Sep 2002 21:46:11 +0200
larry_hayashi(_at_)hotmail(_dot_)com wrote:
<xsl:key name="entries-by-index" match="//LexicalDatabase/*"
use=".//index"/>
^^^
Bad idea. I think you actually want to group the "index" elements
by their content:
<xsl:key name="entries-by-index" match="index" use="."/>
<xsl:template match="/">
<xsl:for-each select="//LexicalDatabase//index[generate-id(.)=
generate-id(key('entries-by-index',index))]">
<xsl:sort select="." order="ascending" />
<xsl:variable name="entry"
select="(ancestor[parent::LexicalDatabase])[1]"/>
<IndexItem value="{.}">
<xsl:for-each select="key('entries-by-index', .)">
<entry base="{$entry/base}"/>
</xsl:for-each>
</IndexItem>
</xsl:for-each>
</xsl:template>
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list