Re: [xsl] Need an XPath expression which checks that all commas are escaped

Subject: Re: [xsl] Need an XPath expression which checks that all commas are escaped
From: "Liam R. E. Quin liam@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 4 Nov 2017 12:50:56 -0000
On Fri, 2017-11-03 at 19:05 +0000, Dimitre Novatchev
dnovatchev@xxxxxxxxx wrote:
> not(contains(replace(., '\\,', ''), ','))

If \ is escaped with \\ then "\\," should be "\\\," so you might need
to remove all \\ occurrences first i think (although this wasn't
mentioned in the problem statement)

Liam

> 
> 
> 
> On Fri, Nov 3, 2017 at 11:02 AM, Costello, Roger L. costello@xxxxxxxx
> g
> <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
> > 
> 
> 
> 
-- 
Liam Quin, W3C, http://www.w3.org/People/Quin/
Staff contact for Verifiable Claims WG, SVG WG, XQuery WG

Web slave for http://www.fromoldbooks.org/

Current Thread