Subject: Re: [xsl] Need an XPath expression which checks that all commas are escaped From: "Lizzi, Vincent vincent.lizzi@xxxxxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 3 Nov 2017 19:45:43 -0000 |
Roger, The first solution I came up with is essentially what you had to begin with. ( <value>A\, B</value>, <value>A, B</value>, <value>A\, B, C</value> ) ! not(tokenize(text(),',')[position() ne last()][not(ends-with(.,'\'))]) Produces: true false false This regex is more concise and produces the same result: not(matches(text(),'(?:[^\\]),')) Cheers, Vincent ________________________________ From: Dimitre Novatchev dnovatchev@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, November 3, 2017 3:11:27 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Need an XPath expression which checks that all commas are escaped not(contains(replace(., '\\,', ''), ',')) On Fri, Nov 3, 2017 at 11:02 AM, Costello, Roger L. costello@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Folks, > > I need an XPath 2.0 expression for this: > > Check that each comma in the <value> > element is escaped with a backslash. > > Examples: > > This is good: > > <value>A\, B</value> > > This is bad: > > <value>A, B</value> > > This is also bad, because one comma is escaped but the other is not: > > <value>A\, B, C</value> > > I created an XPath expression to see if the text is good: > > tokenize(text(), ',')[position() lt last()][ends-with(., '\')] > > I think that is correct. Is there a simpler XPath expression to solve this? > > /Roger > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Need an XPath expression , Dimitre Novatchev dn | Thread | Re: [xsl] Need an XPath expression , Liam R. E. Quin liam |
Re: [xsl] Need an XPath expression , Bob Thomas bob.thoma | Date | Re: [xsl] Need an XPath expression , Liam R. E. Quin liam |
Month |