|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: sum of duration as string
cmarchand@xxxxxxxxxx wrote:
Hello,
I have a comma separated string of durations :
<base
name='BASECOCOS'>PT2.206S,PT2.206S,PT0.435S,PT0.435S,PT1.022S,PT1.022S,PT1.490S,PT1.490S,PT12M15.963S,PT12M15.963S</base>
I want to calculate the sum of the durations who are in odd positions.
I've tried this :
<xsl:function name="local:sumDuration" as="xs:duration">
<xsl:param name="seq" as="xs:string+"/>
<xsl:choose>
<xsl:when test="count($seq) ge 3">
<xsl:variable name="dur1" as="xs:duration"
select="xs:duration($seq[1])"/>
<xsl:value-of select="$dur1 +
local:sumDuration(subsequence($seq,3))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="xs:duration($seq[1])"/>
</xsl:otherwise>
</xsl:choose>
</xsl:function>
...
<xsl:value-of select="local:sumDuration(tokenize(./text(),','))"/>
I get this error :
ID SystC(me:
/home/ext-cmarchand/devel/avo-optim/inneo/src/main/makeTempsTableFromLogs/xslt/makeTable.xsl
ScC)nario: makeTable
fichier XSL:
/home/ext-cmarchand/devel/avo-optim/inneo/src/main/makeTempsTableFromLogs/xslt/makeTable.xsl
Nom du moteur: Saxon-PE 9.5.1.3
GravitC): fatal
Description: XPTY0004: Only subtypes of xs:duration can be added
Try to use
xs:dayTimeDuration($seq[1])
instead of xs:duration.
And consider to use `xsl:sequence` instead of `xsl:value-of`.

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|