Used to it David ;-)
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.
|