1

このコード チャレンジでは、すべての TestResut ノードの反復所要時間を合計する XSLT 変換を作成する必要があります。簡単に言えば、TestResults の実行にかかった時間です。

    <TestResults>
        <TestResult>
            <Iteration duration="00:00:02.6312623" />
            <Iteration duration="00:01:03.5725194" />
            <Iteration duration="00:00:07.5725194" />
        </TestResult>
        <TestResult>
            <Iteration duration="00:00:04.6312623" />
            <Iteration duration="00:01:03.6777194" />
            <Iteration duration="00:02:07.5723194" />
        </TestResult>
    </TestResults>

TestResults/TestResult/Iteration/@duration xpath で合計を直接実行することはできませんが、ここでは時間を表すティックで変換する必要があります。同時に複数の変換を回避してすべての期間を合計するベスト プラクティスは何ですか?

    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
      <xsl:output method="xml" indent="yes"/>

      <xsl:template match="/">
        <xsl:variable name="TotalDuration" select="sum(TestResults/TestResult/Iteration/@duration)"/>

        <Summary>
          <Duration>
            <xsl:value-of select="$TotalDuration"/>
          </Duration>
        </Summary>
      </xsl:template>
    </xsl:stylesheet>
4

1 に答える 1

0

これは XSLT 1.0 または 2.0 ですか? 2.0 では、日付/時刻演算が多数サポートされています。1.0 では、EXSLT 日付/時刻ライブラリを見てください。

于 2012-09-06T16:31:54.700 に答える