我收到一条错误消息,指出我的模板总秒数计算不存在。我是否在向我抛出错误的for-each循环中做错了什么?
我目前的代码是:
<xsl:template match="Total-Seconds-Calculation">
<xsl:for-each select="//SEGMENTS[TX_PART = '1']">
<xsl:value-of select="DUR"/>
<xsl:variable name="Hours" select="substring($DUR,1,2)" />
<xsl:variable name="Minutes" select="substring($DUR,4,2)" />
<xsl:variable name="Seconds" select="substring($DUR,7,2)" />
<xsl:variable name="TotalSeconds" select="(($Hours*3600)+($Minutes*60)+($Seconds))" />
</xsl:for-each>
</xsl:template>
<xsl:variable name="TotalDurationShow"><xsl:call-template name="Total-Seconds-Calculation"></xsl:call-template></xsl:variable>
我要做的是解析这段时间代码并累计DUR的总秒数。以下是我正在使用的XML部分:
<SEGEMENTS>
<DUR>00:12:33:21</DUR>
<TX_PART>1</TX_PART>
</SEGEMENTS>
<SEGEMENTS>>
<DUR>00:08:26:16</DUR>
<TX_PART>1</TX_PART>
</SEGEMENTS>
答案 0 :(得分:0)
如果要按名称调用模板,则必须为其命名。
<xsl:template name="Total-Seconds-Calculation">
如果您愿意,可以同时拥有name
属性和match
属性,但我从来没有找到合适的用途。