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: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 3 Nov 2017 18:13:56 -0000
Martin wrote:

Shouldn't the check rather be
   every $token in tokenize(., ',')[position() lt last()] satisfies
ends-with($token, '\')

Ah!

You are right!

Thanks Martin.

/Roger

-----Original Message-----
From: Martin Honnen martin.honnen@xxxxxx
[mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx]
Sent: Friday, November 3, 2017 2:09 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Need an XPath expression which checks that all commas are
escaped

On 03.11.2017 19:03, Costello, Roger L. costello@xxxxxxxxx wrote:

> I need an XPath 2.0 expression for this:
>
> 	Check that each comma in the <value>
>   	element is escaped with a backslash.

Do you want that expression to return a boolean value of true or false?

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

Shouldn't the check rather be
   every $token in tokenize(., ',')[position() lt last()] satisfies
ends-with($token, '\') ?

Current Thread