[xsl] making a number from a decimal in XPath 2.0

Subject: [xsl] making a number from a decimal in XPath 2.0
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Sun, 15 May 2005 18:50:21 -0400
Hi,

I'm trying to write an expression in XPath 2.0 to return me a string given a numeric argument as input, plus a parameter.

Call the parameter 'extent'. If $extent is 42, I'd like

(42) => e
(43) => ee
(84) => ee
(85) => eee

that is, as many 'e' as ceiling($arg div $extent)

But if I say

string-join((for $i in (1 to ceiling($arg div $extent)) return 'e'),'')

I get an error (Saxon 8.4) telling me I need an xs:integer as the second argument of the range expression "1 to ceiling($arg div $extent)", but I have an xs:decimal.

How do I make ceiling($arg div $extent) into an integer?

Alternatively, what neater ways are there to generate the string I need? Am I even approaching this the right way?

Cheers,
Wendell



======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread