-1
テンプレートtotal-seconds-calculationが存在しないというエラーが表示されます。私がエラーを投げているfor-eachループに何か問題がありますか?XSLT繰り返し以上
私の現在のコードは次のとおりです。
<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>
エラーメッセージは何を正確に示していますか?そして、このコードで何をしようとしていますか?特に、使用したり参照したりしない変数を宣言しているのはなぜですか? –
@ C。 M. Sperberg-McQueenエラーメッセージは私に無効なテンプレートを与えていました。テンプレートはただの出力を作成していないだけです。変数は、テンプレート内に明確にある最後の変数TotalSecondsを計算するように宣言されています。 – hguza
あなたが聞いた質問(テンプレートが存在しないと言っているのはなぜですか?)に答えました。あなたはビンバの答えを受け入れるべきです。新しい質問がある場合(このコードはなぜ私がそれをしたいのですか?)別の質問でそれらを呼び出すことができます。あるいは、XSLTの変数スコープを読んで、XSLTに突然変異がないという事実について考えてみましょう。それは一度に1回だけの言語です。 –