2
我想每車總公里,每天平均公里如何在XSL中使用SUM和AVERAGE?
這是輸入XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<output>
<cars>
<car>
<id>1</id>
<brand>BMW</brand>
<type>M3</type>
<license>AD-9999-ATSR</license>
</car>
<car>
<id>2</id>
<brand>Volkwagen</brand>
<type>GTI</type>
<license>ASD-7458-WERT</license>
</car>
</cars>
<distances>
<distance>
<id_car>1</id_car>
<date>20120118</date>
<distance>90</distance>
</distance>
<distance>
<id_car>1</id_car>
<date>20120117</date>
<distance>23</distance>
</distance>
<distance>
<id_car>1</id_car>
<date>20120117</date>
<distance>17</distance>
</distance>
<distance>
<id_car>1</id_car>
<date>20120116</date>
<distance>5</distance>
</distance>
<distance>
<id_car>2</id_car>
<date>20120101</date>
<distance>92</distance>
</distance>
<distance>
<id_car>2</id_car>
<date>20120102</date>
<distance>87</distance>
</distance>
<distance>
<id_car>2</id_car>
<date>20120102</date>
<distance>13</distance>
</distance>
<distance>
<id_car>2</id_car>
<date>20120103</date>
<distance>112</distance>
</distance>
</distances>
</output>
這是輸出XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<output>
<cars>
<car>
<id>1</id>
<brand>BMW</brand>
<type>M3</type>
<license>AD-9999-ATSR</license>
<distance Total_kM="135"></distance>
<distance average_KM/day="18/90"></distance>
<distance average_KM/day="17/20"></distance>
<distance average_KM/day="16/5"></distance>
</car>
<car>
<id>2</id>
<brand>Volkwagen</brand>
<type>GTI</type>
<license>ASD-7458-WERT</license>
<distance Total_kM="304"></distance>
<distance averageKM/day="01/90"></distance>
<distance average_KM/day="02/50"></distance>
<distance average_KM/day="03/112"></distance>
</car>
</cars>
</output>
類似這樣的事情或者你可以在輸出中想到的其他安排,以顯示每輛車的總公里數和每天的平均公里數
這是我試圖改變了xsl:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="distances" match="distance" use="id_car" />
<xsl:template match="output">
<xsl:apply-templates select="cars" />
</xsl:template>
<xsl:template match="car">
<xsl:copy>
<xsl:apply-templates />
<distances>
<xsl:apply-templates select="key('distances', id)" />
</distances>
</xsl:copy>
</xsl:template>
<xsl:template match="distance">
<distance day="{date}">
<xsl:value-of select="distance" />
</distance>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
如何使用SUM和AVERAGE在XSL來輸出中我想要什麼?
感謝您的時間和精力
好的答案,+1。 –