Subject: Re: [xsl] Need an XPath expression which returns all xs:pattern elements containing a regex that permits an unbounded number of characters From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 4 Apr 2024 15:46:20 -0000 |
David Carlisle devised a brilliant approach: Do a series of replace operations: remove all whitespace: replace(@value,'\s','') replace \-quoted characters by x: replace(@value,'\\.','x') replace {99,} constructs by * replace(@value,'\{[0-9]+,\}','*') Here are the replaces, inlined: replace(replace(replace(@value,'\{[0-9]+,\}','*'),'\\.','x'),'\s','') Here are the results of applying the replaces to some regexes: A* --> apply replaces --> A* A+ --> apply replaces --> A+ A\* --> apply replaces --> Ax A\+ --> apply replaces --> Ax A{0,} --> apply replaces --> A* A{1,} --> apply replaces --> A* A{5,} --> apply replaces --> A* \\* --> apply replaces --> x* To implement "Find all xs:pattern elements that permit an unbounded number of characters" do this: If the string resulting from applying the replaces contains * or +, then the regex permits an unbounded number of characters. David (or anyone), is this correct? /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Re: [xsl] Need an XPath express, Edward Porter edward | Thread | Re: [xsl] Need an XPath expression , Michael Kay michaelk |
Re: [xsl] Need an XPath expression , Michael Kay michaelk | Date | Re: [xsl] Need an XPath expression , Michael Kay michaelk |
Month |