I’m stuck with a simple problem in my XML/XSLT
I can’t really put a proper name on the problem, and therefore can’t seem to find any solution.
XML:
<root>
<entry gid ="001">
<level_1>
<target_value>50</target_value>
</level_1>
</entry>
<entry gid ="001">
<level_1>
<target_value>30</target_value>
</level_1>
</entry>
<entry gid ="002">
<level_1>
<target_value>40</target_value>
</level_1>
</entry>
<entry gid ="002">
<level_1>
<target_value>20</target_value>
</level_1>
</entry>
</root>
XSL:
<xsl:for-each select="entry[@gid='001']">
<xsl:if test="level_1/target_value != ''">
<xsl:value-of select="sum(level_1/target_value)" />
</xsl:if>
</xsl:for-each>
Result:
5030
Any help would be greatly appriciated!
As you have seen, your transform totals the only
level_1/target_valueelement and outputs that for eachentry[@gid='001']element.Since you want a total across all
<entry>elements with agidof001you must write that in the nodeset you submit tosum().The XSLT looks like this
output