Subject: Re: [xsl] sorting, xslt 2.0 From: "Dave Pawson dave.pawson@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 16 Mar 2021 16:30:44 -0000 |
On Tue, 16 Mar 2021 at 16:24, Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > In the rare cases where you can't, call out to a function: compute the sort key in a separate xsl:function, and call the function in xsl:sort/@select. so <xsl:sort select="dp:function(fr, fr/@sort)"> That sort of approach? regards > > Michael Kay > Saxonica > > > On 16 Mar 2021, at 16:08, Dave Pawson dave.pawson@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > xml > > > > <term> > > <fr sort="">sourire</fr> > > ... > > </term> > > > > context is term > > I want to sort on fr/@sort > > or (if empty) > > <xsl:value-of select="(lower-case(substring(fr,1,1)))"/> > > > > error XTSE0010 Within xsl:for-each, xsl:sort elements must come before > > other instructions > > > > <xsl:for-each select="term"> > > <xsl:variable name='sort'> > > <xsl:choose> > > <xsl:when test="fr/@sort"> > > <xsl:value-of select="fr/@sort"/> > > </xsl:when> > > <xsl:otherwise> > > <xsl:value-of select="(lower-case(substring(fr,1,1)))"/> > > </xsl:otherwise> > > </xsl:choose> > > </xsl:variable> > > > > > > <xsl:sort select="$sort"/> > > > > > > Any suggestions for a workaround please? > > > > TiA > > > > > > -- > > Dave Pawson > > XSLT XSL-FO FAQ. > > Docbook FAQ. > > > > > > -- Dave Pawson XSLT XSL-FO FAQ. Docbook FAQ.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] sorting, xslt 2.0, Michael Kay mike@xxx | Thread | [xsl] what's the best way to valida, Chris Papademetrious |
Re: [xsl] sorting, xslt 2.0, Michael Kay mike@xxx | Date | [xsl] what's the best way to valida, Chris Papademetrious |
Month |