Hi Ragulf,
On Fri, Jan 02, 2004 at 07:56:47AM +0000, Ragulf Pickaxe wrote:
The number function returns NaN when the string cannot be expressed
as a number - therefore this goes wrong.
Should have read the spec on that one---I naively assumed it would
return as much of a number as it could make.
If you do not know beforehand the units, but need them from the
string, then you can do a recursive solution taking one letter at a
time, checking if it is a number. If it is not a number, you print
out the units.
Thanks for this. I used a combination of your code and Michael Kay's
suggestion using translate() to strip the units:
<xsl:variable name="upper-margin"
select="concat(number(translate($page-height, translate($page-height,
'0123456789.', ''), '')) div 3.75, translate($page-height,
'012345679.', ''))"/>
Of course, that's quite ugly and I should probably break it out into
separate templates to strip the units and identify the units, but it
works.
--
Paul.
mailto:paulh(_at_)logicsquad(_dot_)net
mailto:phoadley(_at_)maths(_dot_)adelaide(_dot_)edu(_dot_)au
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list