Subject: RE: [xsl] Q - Parsing & Manipulating Strings from XSL From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 30 May 2005 10:13:07 +0100 |
> I have another question: Another number is returned as type string. > This represents time in minutes. For e.g for '315', I want to do is > format it as 5 hrs 15 mins. > > The formula is: > > mins = ( (315 mod 60) div 100 ) * 60 > hrs = 315 - (315 mod 60) > > How can I do this in Xquery ? This data is returned in a > <JrnyTm></JrnyTm> tag. > (Your previous question asked for an XSLT solution, you're now asking for XQuery. In principle XQuery is off-topic for this list, but in practice, you can use the same approach in both. But the decimal-format/format-number solution I gave you earlier is XSLT-only) You've got a choice between using numeric arithmetic or duration arithmetic. It's probably cleanest to use duration arithmetic though it's a bit verbose. declare variable $one-minute := xdt:dayTimeDuration('PT1M') then let $time := xs:integer(JrnyTm) * $one-minute, $hours := hours-from-duration($time), $minutes := minutes-from-duration($time) return concat($hours, ' hrs ', $minutes, ' minutes ') Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Q - Parsing & Manipulatin, Ahsan Ali | Thread | Re: [xsl] Q - Parsing & Manipulatin, Ahsan Ali |
[xsl] RE: DOM or SAX input faster/m, Michael Kay | Date | RE: [xsl] Saxon -> UnknownHostExcep, Michael Kay |
Month |