我想根据元素的属性以不同的方式计算值,然后对计算值求和。
xml 结构如下所示:
<elements>
<element type="type1">
<value>10</value>
<date>01.05.2012</date>
</element>
<element type="type2">
<value>20</value>
<date>02.03.2012</date>
</element>
<element type="type2">
<value>20</value>
<date>02.03.2012</date>
</element>
</elements>
我xsd:alternatives
在 XSD 中使用了创建不同“类型”的元素。
XSL 如下所示:
<xsl:for-each select="/elements">
<xsl:sort select="date"/>
<xsl:choose>
<xsl:when test="type='type1'">
<xsl:value-of select="value*20"/>
<xsl:value-of select="date"/>
</xsl:when>
<xsl:when test="type='type1'">
<xsl:value-of select="value*10"/>
<xsl:value-of select="date"/>
</xsl:when>
</xsl:choose>
(Here should be a sum of all the values that have been calculated.)
</xsl:for-each>
我希望能够在计算后显示该值(其因子取决于它的“类型”。),按日期对不同的值进行排序并显示所有计算值的总和。
我确信有更好的方法来做我想做的事,我很高兴有任何建议。