Subject: Re: [xsl] XPath expression to convert XSD enumerations into aregex, longest value first From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Jul 2022 10:33:51 -0000 |
At this point we're stuck because the requirements aren't clear. In the example, 12 appeared in the output before 11, but we don't know why: there was nothing in the requirements statement that said it should.
The only requirement is for the longer strings to come first.
So any of these results would be fine:
12|11|10|9|8|7|6|5|4|3|2|1 11|12|10|9|8|7|6|5|4|3|2|1 10|11|12|9|8|7|6|5|4|3|2|1 12|11|10|1|2|3|4|5|6|7|8|9 ...
What is the simplest XPath expression to achieve that result?
As I indicated earlier, if you know => as an operator you might consider the following simpler:
xs:restriction/xs:enumeration/@value/string() => sort((), function($s) { -string-length($s) }) => string-join('|')
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath expression to conve, Roger L Costello cos | Thread | Re: [xsl] XPath expression to conve, Wendell Piez wapiez@ |
Re: [xsl] XPath expression to conve, Roger L Costello cos | Date | Re: [xsl] XPath expression to conve, Michael Kay mike@xxx |
Month |