[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: sorting, xslt 2.0
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.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|