Re: sorting, xslt 2.0

"David Carlisle [email protected]" <[email protected]> Tue, 16 Mar 2021 16:15:51 -0000
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
possibly though, use a more conventional spelling of select

On Tue, 16 Mar 2021 at 16:13, David Carlisle <[email protected]> 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 [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.
>> 
>>
>>
--~----------------------------------------------------------------
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]
--~--