This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: newbie: xsl:key and summation of substrings



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]