Re: [xsl] XPath expression which checks that a string is between 1 and 10 characters in length?

Subject: Re: [xsl] XPath expression which checks that a string is between 1 and 10 characters in length?
From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 26 Jul 2016 11:59:27 -0000
I forgot to mention, I need an XPath 2.0 solution.

/Roger

-----Original Message-----
From: Martin Honnen martin.honnen@xxxxxx
[mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx]
Sent: Tuesday, July 26, 2016 7:55 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] XPath expression which checks that a string is between 1
and 10 characters in length?

On 26.07.2016 13:51, Costello, Roger L. costello@xxxxxxxxx wrote:

> I need an XPath expression which returns true if the string in <A> is
between 1 and 10 characters in length, and false otherwise.
>
> For example, the XPath expression should return true on this XML:
>
> 	<A>hi</A>
>
> Here's an inefficient XPath expression:
>
> (string-length(.) gt 0) and (string-length(.) le 10)
>
> It's inefficient because it computes the string length twice.
>
> Is there a more efficient XPath expression to solve this problem?

Well, in XPath 3 you can use

   let $l := string-length()
   return ($l gt 0 and $l le 10)

Current Thread