Subject: Re: [xsl] XPath expression to convert XSD enumerations into aregex, longest value first From: "Wendell Piez wapiez@xxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Jul 2022 12:35:37 -0000 |
Even sweeter and more sugary let $backward := function($s) { - string-length($s) } return /*/xs:restriction/xs:enumeration/@value => sort((), $backward) => string-join('|') Not to everyone's taste, for sure. Cheers, Wendell On Fri, Jul 8, 2022 at 6:34 AM Martin Honnen martin.honnen@xxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Am 08.07.2022 um 12:23 schrieb Roger L Costello costello@xxxxxxxxx: > >> 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('|') > > But in the end its syntactic sugar. > > > -- ...Wendell Piez... ...wendell -at- nist -dot- gov... ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... ...github.com/wendellpiez... ...gitlab.coko.foundation/wendell...
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath expression to conve, Martin Honnen martin | Thread | Re: [xsl] XPath expression to conve, Imsieke, Gerrit, le- |
Re: [xsl] XPath expression to conve, Roger L Costello cos | Date | Re: [xsl] XPath expression to conve, Imsieke, Gerrit, le- |
Month |