現在、レポートに使用されている一連のXSLテンプレートを使用しています。私が持っている問題は、私のJavaScriptの変数が更新されていないということです。私は現在、ページの上部にインクルードしていますが、Javascriptの変数はその下に定義されています。これが問題だろうか?これらの変数はどこで定義する必要がありますか? XSLテンプレート間でそれらを渡す特別な方法はありますか?今まで私はJavascriptを使用しておらず、私はXSLだけで作業してきました。しかし、いくつかの計算を実行する必要はなく、また変数を更新する必要があるので、テンプレート間で変数を移動する方法を理解する必要があります。それとも方法はありますか?XSL:XSLテンプレートとファイル間でJavascript変数を渡す
したがって、呼び出されるテンプレートの中には関数呼び出しがあり、XSL値に基づいて開始日と終了日の値を更新するステートメントもあります。問題は、印刷されているのはすべて、更新された値ではなく、初期の設定値であるということです。
正しい方向で私を指摘する助けがあれば素晴らしいでしょう。
ありがとうございます!
<xsl:param name="DisplayEmptyFields" select="true()"/>
<xsl:template match="/">
<xsl:include href="./Templates/styles.xslt"/>
<xsl:include href="./Templates/md_GeneralReportTemplates.xslt"/>
<xsl:include href="./Templates/md_RunDetailReportTemplate.xslt"/>
<html>
<head>
<script type="text/javascript">
var d = "";
var startdate = "6/7/2100 10:56:34 AM";
var enddate = "6/7/2008 10:56:34 AM";
var totruns = 0;
var passedruns = 0;
var failedruns = 0;
var date.flag = 0;
function ticks(){
totruns++;
}
function passticks(){
passedruns++;
}
function failticks(){
failedruns++;
}
</script>
<xsl:call-template name="DefineStyles"/>
</head>
<body>
<xsl:call-template name="pageheader"/>
<xsl:apply-templates select="run"/>
</xsl:for-each>
<table xsl:use-attribute-sets="report-detail-table-format">
<tr xsl:use-attribute-sets="report-header-row-table-format">
<th colspan="4">
Summary
</th>
</tr>
<tr>
<td><b>Total Runs: </b><script type="text/javascript">document.write(totruns);</script></td>
<td><b>Passed Runs: </b><script type="text/javascript">document.write(passedruns);</script></td>
<td><b>Failed Runs: </b><script type="text/javascript">document.write(failedruns);</script></td>
<td><b>Pass Rate: </b><script type="text/javascript">document.write(Math.round((passedruns/totruns*100)*Math.pow(10,2))/Math.pow(10,2));</script>%</td>
</tr>
<tr>
<td colspan="2"><b>Execution Start: </b><script type="text/javascript">document.write(startdate);</script></td>
<td colspan="2"><b>Execution End: </b><script type="text/javascript">document.write(enddate);</script></td>
</tr>
</table>
</body>
</html>
'ticks()'、 'passticks()'、 'failticks()'は、ドキュメントに書いているjs値の値を変更します。これらはどこに呼ばれていますか?このXSL/XSLTから得たHTML出力を解凍して貼り付けることはできますか? – mrk