要素の属性に応じて異なる値を計算し、後で計算された値を合計したいと思います。
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 で使用xsd:alternatives
して、さまざまな「タイプ」の要素を作成しました。
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>
計算後の値を表示できるようにしたい (「タイプ」に応じた係数を使用)、さまざまな値を日付で並べ替え、計算されたすべての値の合計を表示します。
私がやりたいことを行うためのより良い方法があると確信しており、何か提案があればうれしいです.