|
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 |