【发布时间】:2014-05-25 20:06:53
【问题描述】:
我一直在尝试获取用户在产品上花费的总金额,但没有成功。 鉴于以下 XML 示例,client 1 的总花费为 21,00,但我得到 10,50(这仅在客户多次购买相同产品时才会发生,如果他购买不同的产品退货金额是预期的)
XML 示例:
<root>
<sale id="1">
<date>2014-01-01</date>
<client>1</client>
</sale>
<sale id="2">
<date>2014-01-02</date>
<client>1</client>
</sale>
<sale_details saleID="1">
<product id="1"/>
</sale_details>
<sale_details saleID="2">
<product id="1"/>
</sale_details>
<product_details productID="1">
<name>product x</name>
<price>10.50</price>
</product_details>
<product_details productID="2">
<name>product x</name>
<price>5.26</price>
</product_details>
<client_detail clientID="1">
<name>client 1</name>
</client_detail>
<client_detail clientID="2">
<name>client 2</name>
</client_detail>
</root>
XSLT 示例:
<xsl:template name="sum-spent-amount">
<xsl:param name="clientID"/>
<xsl:value-of select="sum(//gv:product_details[@productID=//gv:sale_details[@saleID=//gv:sale[gv:client=$clientID]/@id]/gv:product/@id]/gv:price)"/>
</xsl:template>
提前致谢!
【问题讨论】: