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

Subject: Re: [xsl] making a number from a decimal in XPath 2.0
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Sun, 15 May 2005 19:12:25 -0400
Okay,

Now I have a different approach. I define a function:

  <xsl:function name="s:measure-block">
    <xsl:param name="length-left"/>
    <xsl:if test="$length-left > 0">
        <xsl:text>e</xsl:text>
        <xsl:value-of select="s:measure-block($extent-left - $extent)"/>
    </xsl:if>
  </xsl:function>

and I'm calling it with

<xsl:value-of select="string-join(s:measure-block($length),'')"/>

... i.e., an old fashioned recursive function.

Any notions as to what the relative virtues are of this vs the XPath 'for x return y' approach, if the casting problem below can be solved?

Thanks,
Wendell

At 06:50 PM 5/15/2005, you wrote:
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
======================================================================


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