|
Subject: Re: [xsl] XPath expression to convert XSD enumerations into a regex, longest value first From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Jul 2022 01:57:00 -0000 |
Hi Roger,
> Well, I devised a solution, but it sure ain't simple.
>
> string-join(for $i in reverse(sort(xs:restriction/xs:enumeration, (),
function($enum) {string-length($enum/@value )})) return $i/@value, '|')
>
> Is there is a simpler XPath expression to solve this problem?
I think this can be written in a good and readable way as below:
string-join(
sort(/*/xs:restriction/xs:enumeration/@value,
(),
function($s) {- string-length($s)}) ,
'|'
)
Thanks,
Dimitre
On Thu, Jul 7, 2022 at 10:02 AM Roger L Costello costello@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi Folks,
>
> I have an XSD simpleType with enumeration values:
>
> <xsd:simpleType name="RunwayLightingType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="1"/>
> <xsd:enumeration value="2"/>
> <xsd:enumeration value="3"/>
> <xsd:enumeration value="4"/>
> <xsd:enumeration value="5"/>
> <xsd:enumeration value="6"/>
> <xsd:enumeration value="7"/>
> <xsd:enumeration value="8"/>
> <xsd:enumeration value="9"/>
> <xsd:enumeration value="10"/>
> <xsd:enumeration value="11"/>
> <xsd:enumeration value="12"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> I want to turn the values into a regex such that the longest value (not
> the biggest value, the string longest value) is listed first:
>
> 12|11|10|9|8|7|6|5|4|3|2|1
>
> Seems like a simple problem, right? Should have a simple solution, right?
>
> Well, I devised a solution, but it sure ain't simple.
>
> string-join(for $i in reverse(sort(xs:restriction/xs:enumeration, (),
> function($enum) {string-length($enum/@value )})) return $i/@value, '|')
>
> Is there is a simpler XPath expression to solve this problem?
>
> /Roger
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XPath expression to conve, Martin Honnen martin | Thread | Re: [xsl] XPath expression to conve, Dimitre Novatchev dn |
| Re: [xsl] Process the following gro, Eliot Kimber eliot.k | Date | Re: [xsl] XPath expression to conve, Dimitre Novatchev dn |
| Month |