Re: sorting, xslt 2.0

"Martin Honnen [email protected]" <[email protected]> Tue, 16 Mar 2021 16:15:10 -0000
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Organization Liberty Development
Message-ID <[email protected]>
On 16.03.2021 17:08, Dave Pawson [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:sort select="if (normalize-space(fr/@sort)) then fr/@sort
else lower-case(substring(fr, 1, 1))"/>


>     <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
>
>
--~----------------------------------------------------------------
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]
--~--