Subject: Re: [xsl] XPath expression to convert XSD enumerations into aregex, longest value first From: "Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Jul 2022 12:43:12 -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 <mailto:martin.honnen@xxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx <mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote:
Am 08.07.2022 um 12:23 schrieb Roger L Costello costello@xxxxxxxxx <mailto: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. <http://github.com/wendellpiez.>.. ...gitlab.coko.foundation/wendell...
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/225679> (by email <>)
-- Gerrit Imsieke GeschC$ftsfC<hrer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
GeschC$ftsfC<hrer / Managing Directors: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath expression to conve, Wendell Piez wapiez@ | Thread | Re: [xsl] XPath expression to conve, Liam R. E. Quin liam |
Re: [xsl] XPath expression to conve, Wendell Piez wapiez@ | Date | Re: [xsl] XPath expression to conve, Liam R. E. Quin liam |
Month |