Subject: RE: [xsl] Recursion and for-each-group (XSLT 2.0) From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 6 Apr 2005 15:41:57 +0100 |
I suspect what you want is something like this: <xsl:template name="index-level"> <xsl:param name="entries" as="element(indexentry)*"/> <xsl:for-each-group select="$entries" group-by="@term"> <xsl:sort select="current-grouping-key()"/> <indexentry term="{@term}" target="{generate-id(ancestor::*[indexentries][1]}"> <xsl:call-template name="index-level"> <xsl:with-param name="entries" select="current-group()/indexentry"/> </xsl:call-template> </indexentry> </xsl:for-each-group> </xsl:template> <xsl:template match="/"> <xsl:call-template name="index-level"> <xsl:with-param name="entries" select="//indexentries/indexentry"/> </xsl:call-template> </xsl:template> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: JBryant@xxxxxxxxx [mailto:JBryant@xxxxxxxxx] > Sent: 06 April 2005 15:24 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Recursion and for-each-group (XSLT 2.0) > > > One question about the structure of your data: is it possible to > > encounter > > > <indexentry term="dog"> > > <indexentry term="leg"> > > </indexentry> > > <indexentry term="table"> > > <indexentry term="leg"> > > </indexentry> > > > > and if so, are the two references to "leg" to be combined, or not? > > This doesn't arise in your sample, so I can't tell. > > Yes, that can happen. No, they shouldn't be combined. > > If it helps any, this is the index for a book. The larger > stylesheet of > which this solution will eventually be a part is for software > user guides. > Ideally, it should support anything you might see in the > average index. > > I have a working solution for three levels of index entries, because > that's all I ever use. However, the problem of arbitrarily > deep nested > grouping interests me in its own right. > > Thanks for the help. > > Jay Bryant > Bryant Communication Services > (presently consulting at Synergistic Solution Technologies)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Recursion and for-each-gr, JBryant | Thread | RE: [xsl] Recursion and for-each-gr, JBryant |
Re: [xsl] XSLT 2.0 - No separator , David Carlisle | Date | RE: [xsl] XSLT 2.0 - No separator , Andrew Welch |
Month |