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