[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] how to split word into sequence of letters

Subject: Re: [xsl] how to split word into sequence of letters
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Sat, 18 Aug 2012 07:54:14 +0100

That rather depends on the time complexity of substring().

Saxon should evaluate substring() in constant time once it has established that the string contains no surrogate pairs, which is only done once for a given string.

Michael Kay

On 18/08/2012 04:33, Dimitre Novatchev wrote:
On Fri, Aug 17, 2012 at 7:17 PM, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote:
Hi Robby,
     Here's another variant of the solution,

for $x in 1 to string-length($stringVal) return substring($stringVal, $x, 1)

But the solution with string-to-codepoints(..) etc is equally good.

The solution given by Michael Kay:

for $c in string-to-codepoints($s) return codepoints-to-string($c)

can be much more efficient (linear time complexity) than the above
expression that calculates substring N times. (O(N^2) in the absence
of a good optimizer).

Cheers, Dimitre.

On Fri, Aug 17, 2012 at 8:04 PM, Robby Pelssers <Robby.Pelssers@xxxxxxx> wrote:
Hi guys,

Probably the stupidest question since a while but what would be the preferred way to split a word into a sequence of letters ;-)


-- Regards, Mukul Gandhi

Current Thread