Subject: Re: breaking sorted material into subsections From: Nick Browne <NickBrowne@xxxxxxxxxxxxxxx> Date: Mon, 18 Sep 2000 22:20:04 +0100 |
For interest, this does not appear to work in Oracle XSLT 2.0.2.8 or 2.0.2.9. Having played around with a similar variation on this solution the problem seems to be when the expression in the 'use' attribute of the key declaration references a function, i.e. it is OK if a simple element or attribute reference is used. As soon as the key is referenced in the template an 'XSL-1036 : Cannot convert string to node set' message is given. A shame, as this method allows the 'index' to be built without concern to the source data order. Is there another way ? Regards -- Nick Browne Slipstone Ltd P.S. (Will be) Reported to Oracle Oliver Becker wrote: > ..... Adapted to Eric's problem I get > > <xsl:key name="letters" match="index" use="substring(@entry,1,1)" /> > <xsl:template match="IndexEntryData"> > <xsl:for-each > select="index[count(. | key('letters', > substring(@entry,1,1))[1]) = 1]"> > <xsl:sort select="@entry" /> > <xsl:variable name="initial" select="substring(@entry,1,1)" /> > <h2> <xsl:value-of select="$initial" /> </h2> > <xsl:for-each select="key('letters', $initial)"> > <xsl:sort select="@entry" /> > <p> <xsl:value-of select="@entry" /> </p> > </xsl:for-each> > </xsl:for-each> > </xsl:template> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: breaking sorted material into s, Oliver Becker | Thread | Re: breaking sorted material into s, Steve Muench |
RE: Saxon configuration (was: for-e, Kay Michael | Date | Alphabetical Index Problem, Lee Goddard |
Month |