Subject: RE: extract values from an attribute, then math division
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 21 Jul 2006 12:04:20 +0100
|
In XSLT 2.0, you can extract the numbers with
replace(@result, '^.*\[Total] = ([0-9]*).*$', '$1')
and
replace(@result, '^.*\[Count] = ([0-9]*).*$', '$1')
In XSLT 1.0, use a sequence of calls on substring-after and
substring-before.
A lot depends on quite how flexible you want to be in accepting variations
on this input. If you just want to extract two numbers from a string, and
you know there are spaces around them, you could do
translate($in, 'ABCDE..Zabcde..z:=[]', '')
to get rid of everything except spaces and digits and ".",
then normalize-space(),
then substring-after($in, ' ')
and substring-before($in, ' ')
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Leslie Young [mailto:xlr8sx@xxxxxxxxxxx]
> Sent: 21 July 2006 01:57
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: extract values from an attribute, then math division
>
> I need to extract 2 values from an attribute and perform math
> division. For example, define a variable = [Total] / [Count]
> / 100 from the following Value element. Any advise how to do it?
>
> <Item name="AAA">
> <Value name="Samples" result="Samples: [Total] = 2000.0
> [Count] = 50" /> </Item>
>
> Thanks in advance!
>
> _________________________________________________________________
> Don't just search. Find. Check out the new MSN Search!
> http://search.msn.click-url.com/go/onm00200636ave/direct/01/
|