Re: [xsl] XPath expression to convert XSD enumerations into aregex,longest value first

Subject: Re: [xsl] XPath expression to convert XSD enumerations into aregex,longest value first
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 8 Jul 2022 11:09:44 -0000
You need to convert the values to numbers:

> string-join(sort(xs:restriction/xs:enumeration ! number(@value)), '|')

Michael Kay
Saxonica

> On 8 Jul 2022, at 12:04, Roger L Costello costello@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Michael Kay wrote:
>
>> sort the numbers by their value rather than by their length
>
> Do you mean this:
>
> string-join(sort(xs:restriction/xs:enumeration/@value), '|')
>
> Unfortunately that produces an incorrect result:
>
> 1|10|11|12|2|3|4|5|6|7|8|9
>
> (But I do like the simplicity of the XPath expression!)
>
> /Roger

Current Thread