Re: sorting, xslt 2.0
| Newsgroups | gmane.text.xml.xsl.general.mulberrytech |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 16 Mar 2021 at 16:24, Michael Kay [email protected] <[email protected]> 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 [email protected] <[email protected]> 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. --~---------------------------------------------------------------- XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386 or by email: [email protected] --~--