Я получаю сообщение об ошибке, которое говорит о том, что мой шаблон total-seconds-расчет не существует. Я делаю что-то не так с циклом for-each, который бросает ошибку на меня?XSLT Iterations over
Мой текущий код:
<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
Похоже, что заданный вами вопрос (почему он говорит, что мой шаблон не существует?) Был дан ответ. Вы должны принять ответ bjimba, и если у вас появятся новые вопросы (например: почему этот код не делает то, что я хочу ему делать?), Вы можете задать их в отдельных вопросах. Или вы, возможно, захотите ознакомиться с областями переменных в XSLT и подумать о том, что XSLT не имеет мутации: это язык с однократным назначением. –