|
Subject: RE: [xsl] Recursion and for-each-group (XSLT 2.0) From: JBryant@xxxxxxxxx Date: Wed, 6 Apr 2005 12:52:17 -0500 |
Yup. That works.
Thanks much, Mike.
Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)
"Michael Kay" <mike@xxxxxxxxxxxx>
04/06/2005 09:41 AM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To
<xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
cc
Subject
RE: [xsl] Recursion and for-each-group (XSLT 2.0)
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, Michael Kay | Thread | Re: [xsl] Something similar to mana, Luke Shannon |
| Re: [xsl] xsl templates match does , David Carlisle | Date | [xsl] Getting a distinct list of no, Paul Koppen |
| Month |