首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

请教XSL中怎么实现在for-each中的节点值累加

2012-02-24 
请问XSL中如何实现在for-each中的节点值累加?举一个例子,for-each中的第一个price属性为5,第二个里面的为7

请问XSL中如何实现在for-each中的节点值累加?
举一个例子,for-each中的第一个price属性为5,第二个里面的为7,第三个为4,我要实现转换之后第一个里面的属性值为5,第二个为12,第三个为16,谢谢大家了

[解决办法]

XML code
<root>{let $sum:=sum(for $s in doc('a.xml')//price         return count($s))for $i in 1 to $sum  return <totalPrice>{sum(doc('a.xml')//price[position()<=$i])}</totalPrice>}</root>
[解决办法]
XML code
<?xml version="1.0" encoding="UTF-8" ?><xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"                xmlns:h="http://www.xml.org/pipe/HTTP"                >    <xsl:output method="xml" indent="yes"/>    <xsl:template match="root">        <xsl:copy>             <xsl:for-each select="price">                 <totalPrice>                     <xsl:value-of select="sum(preceding-sibling::price|.)"/>                 </totalPrice>            </xsl:for-each>        </xsl:copy>    </xsl:template>   </xsl:stylesheet> 

热点排行