Subject: Re: [xsl] Need an XPath expression which returns all xs:pattern elements containing a regex that permits an unbounded number of characters From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 4 Apr 2024 14:20:19 -0000 |
On Thu, 4 Apr 2024 at 14:48, Willem Van Lishout willemvanlishout@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Is this even possible, theoretically speaking? As soon as you start using > lookaheads, square brackets, and so on, your patterns will likely fail. I > don't think regex can parse regex. > I don't think the regex needs to be parsed here: you can destructively normalise it before testing eg replace ( replace(replace(,.'\s','') , '\\.' , 'x'), `\{-0-9]*,\}`,'*`) would get rid of all white space, replace \-quoted characters by x and a{ 99, } constructs by a* which should simplify looking for * and + David > 4 Apr 2024, at 20:15, "David Carlisle d.p.carlisle@xxxxxxxxx" < > xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: >> >> >> >> On Thu, 4 Apr 2024 at 13:29, Roger L Costello costello@xxxxxxxxx < >> xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: >> >>> Hi Folks, >>> >>> I want to find, in an XML Schema, all xs:pattern elements containing a >>> regex that permits an unbounded number of characters. >>> >>> Here are examples of xs:pattern elements that I want to find: >>> >>> <xs:pattern value="A*"/> >>> <xs:pattern value="A+"/> >>> <xs:pattern value="A{0,.}"/> >>> <xs:pattern value="A{1,.}"/> >>> >>> >>> How to fix my XPath expression? Is the solution to add a second >>> predicate: >>> >>> xs:pattern[ >>> contains(@value, '*') or >>> contains(@value, '+') or >>> contains(@value, '{1,}') or >>> contains(@value, '{0,}') >>> ][ >>> not(contains(@value, '\*')) and >>> not(contains(@value, '\+')) >>> ] >>> >>> Is that correct? >>> >>> >> No. >> >> A pattern \\* matches an unbounded list of backslashes but fails your >> test as it contains \* >> A pattern X{5,} matches an unbounded list of X of at least 5 but >> doesn't match your first predicate. >> >> >> >> >> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> >> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/3166594> (by >> email) >> > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/2739265> (by > email <>)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Need an XPath expression , Piez, Wendell A. (Fe | Thread | Re: [xsl] Need an XPath expression , Piez, Wendell A. (Fe |
Re: [xsl] Need an XPath expression , Piez, Wendell A. (Fe | Date | Re: [xsl] indenting maps on write, Graydon graydon@xxxx |
Month |