Re: [xsl] sorting, xslt 2.0

Subject: Re: [xsl] sorting, xslt 2.0
From: "Dave Pawson dave.pawson@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 Mar 2021 16:20:02 -0000
Thanks David, Martin.

<grin/> I'll get used to 2 eventually.

regards

On Tue, 16 Mar 2021 at 16:15, David Carlisle d.p.carlisle@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> possibly though, use a more conventional spelling of select
>
> On Tue, 16 Mar 2021 at 16:13, David Carlisle <d.p.carlisle@xxxxxxxxx> wrote:
>>
>> lose the xsl:variable and use
>>
>> <xsl:sort sect="( fr/@sort, lower-case(substring(fr,1,1)))[1]"/>
>>
>> On Tue, 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.
>>>
>>>
> XSL-List info and archive
> EasyUnsubscribe (by email)



-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.

Current Thread