xsl-list
[Top] [All Lists]

Re: [xsl] XPath expression to convert a list of (string) integers into a sequence of (genuine) integers

2012-12-26 08:32:33
On Wed, Dec 26, 2012 at 01:44:31PM +0000, Costello, Roger L. scripsit:
I want an XPath expression to convert the codepoints in this element

<Numbers>84 104 101 32 115 101 99 114 101 116 32 97 103 101 110 116 32 105 
115 32 46 46 46</Numbers>

into a string.

Here is one way to do it

    codepoints-to-string(for $i in tokenize(., '\s+') return xs:integer($i))

Is there a better XPath expression? 

By "better" I mean simpler.

All the type-coercion functions take single operands, not sequences, so I'm 
pretty
sure that is the simplest way to do it in XPath 2.0.

In XPath 3.0, you can use the "simple map operator", !, to write

codepoints-to-string(tokenize($numbers/Numbers,'\p{Zs}')!xs:integer(.))

Whether you think that's simpler might be a matter of taste, though.

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>