This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: newbie: xsl:key and summation of substrings
- From: "Christopher Giblin" <CGI at zurich dot ibm dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 10 Dec 2001 11:44:07 +0100
- Subject: Re: [xsl] newbie: xsl:key and summation of substrings
- Reply-to: xsl-list at lists dot mulberrytech dot com
As said, I am a newbie. As a result, your well-intended response is too
general to be useful. Thanks all the same.
I agree, simple stuff like this should be in an appendix to the spec for
all to see.
I am wasting mega cycles on this baisc point.
It seems to me that lack of useful examples seduces people onto
constructing proprietary XSLT extensions, weakening the language as a
standard.
I am interested in a 100% XLST 1.0 solution .
Cheers, chris
Trevor Nash
<tcn@melvaig.co.uk> To: xsl-list@lists.mulberrytech.com
Sent by: cc:
owner-xsl-list@lists.mulber Subject: Re: [xsl] newbie: xsl:key and summation of substrings
rytech.com
12/09/2001 07:35 PM
Please respond to xsl-list
>Despite reading the faqs, I am still banging my head on basic summation
and
>would appreciate help.
>
>I have a repeating element that looks something like this:
> <disk>
> <freespace>1235 MB</freespace>
> </disk>
> <disk>
> <freespace>40 MB</freespace>
> </disk>
> <disk>
> <freespace>75 MB</freespace>
> </disk>
>
>
>I want to sum the "freespace", but sum(//disk/freespace) won't work
because
>freespace is not a number due to the trailing "MB".
The short answer is, you can't. To use sum() the values have to be
present directly in the input, there is no way to preprocess them.
There are three longer answers:
1. Use a recursive template. This can be done with pure XSLT 1.0.
2. Construct a temporary tree in a variable containing preprocessed
values, and then use sum() on that. You will need to use the
node-set() extension function which most processors have.
3. Do the transformation in two steps: step one is turn the document
into something sensible.
Be careful though - is it *always* MB or will you sometimes get KB or
GB or even TB?
>I can not influence the content of this source document.
I've lost count of the number of times I have seen this, most commonly
with grouping type questions. Anybody got a theory as to why this
happens? There must be thousands of person-hours being wasted.
Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email
Melvaig Software Engineering Limited
voice: +44 (0) 1445 771 271
email: tcn@melvaig.co.uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list