xsl-list
[Top] [All Lists]

RE: [xsl] Problem with Age Calculation

2008-05-10 14:49:10
I think the problem is your use of "idiv" which does an integer division
(that is, the result is an integer number of years). Replace this by "div"
and your answer will then be to the nearest month.

Also note, you can now use the prefix xs where you use xdt - types like
dayTimeDuration and yearMonthDuration were moved into the XML Schema
namespace in the final draft of the spec.

Michael Kay
http://www.saxonica.com/  

-----Original Message-----
From: ilango [mailto:ilangocal(_at_)yahoo(_dot_)com] 
Sent: 07 May 2008 03:26
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Problem with Age Calculation

Hi
I am using Saxon 9.0.0.4 with XSLT 2.0 and XPATH 2.0. This is 
my first post.
I am using the following XPATH expression in an XForm. This 
is not an XForm question.It is about the XPath in the XForm.

<xforms:bind nodeset="instance('taskoutput')/fe:age" 
type="xs:integer" 
calculate="if((instance('taskoutput')/fe:dob) castable as 
xs:date) then (current-date() - 
xs:date(instance('taskoutput')/fe:dob)) div xdt:dayTimeDuration('P1D')
                                                              
idiv 365.242199 
                                              * 
xdt:yearMonthDuration('P1Y') else()"/>

I am not familiar with XPath date functions and I am finding 
it hard to get the age from this expression.
It returns me something P33Y or something for a certain input DOB.

What can I do to get the age of a person in years and months. 
I am ok with  not having to account for leap years or small 
problems at the boundaries.

All help is appreciated.

thanks
ilango




      
______________________________________________________________
______________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>