还请ssm1226(雨中人)帮我看看!!关于统计显示的问题!
我的XML和XSL如下:
查询.XML:
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="查询.xsl"?>
<CD>
<查询>
<NUMBER>12</NUMBER>
<CODE>
<DATASET>
<DEFINE>
<FIELDS>
<MPHONECODE/>
</FIELDS>
</DEFINE>
<DATA>
<ROW FEE1="1" FEE2="24.99"/>
<ROW FEE1="2" FEE2="2.88"/>
<ROW FEE1="1" FEE2="45.77"/>
<ROW FEE1="2" FEE2="56.67"/>
</DATA>
</DATASET>
</CODE>
</查询>
</CD>
查询.XSL:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/REC-html40" result-ns="">
<xsl:template><xsl:apply-templates/></xsl:template>
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>查询</TITLE>
</HEAD>
<BODY>
<xsl:apply-templates select="CD/查询"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="查询">
<form name="form1" method="post" action="">
<p></p>
<table width="96%" border="0" align="center" cellspacing="0">
<tr>
<td height="550">
<table width="100%" height="539" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#EEF4FA">
<tr>
<td height="30" bgcolor="#E1EBF4">
<table width="99%" height="21" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10%" height="21"><font size="2" face="宋体">费用</font></td>
<td width="22%"><table width="69%" height="18" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" face="宋体"/><input type="text" name="NUMBER" /></td>
</tr>
</table></td>
<td width="32%"><table width="99%" height="18" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="57%"><table width="20%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="submit" name="Submit" value="查询" style="width:60"/></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="92">
<hr align="center" size="1"/>
<table width="58%" border="0" align="left" cellpadding="0" cellspacing="2">
<tr bgcolor="#C9D7E9">
<td width="194"><div align="center"><font size="2" face="宋体">费用1</font></div></td>
<td width="226" height="16"><div align="left"></div>
<div align="center"><font size="2" face="宋体">费用2</font></div></td>
</tr>
<xsl:for-each select="CODE/DATASET/DATA/ROW">
<tr>
<td width="194" bgcolor="#F5F5F5" align="center"><font size="2" face="宋体"><xsl:value-of select="@FEE1"/></font></td>
<td width="226" height="16" bgcolor="#F5F5F5" align="center"><font size="2" face="宋体"><xsl:value-of select="@FEE2"/></font></td>
</tr>
</xsl:for-each>
<tr>
<td bgcolor="#F5F5F5"><font size="2" face="宋体">费用为1的记录条数:</font></td>
<td height="16" bgcolor="#F5F5F5"><font size="2" face="宋体">费用为1的费用2的合计:</font></td>
</tr>
<tr>
<td bgcolor="#F5F5F5"><font size="2" face="宋体">费用为2的记录条数:</font></td>
<td height="16" bgcolor="#F5F5F5"><font size="2" face="宋体">费用为2的费用2的合计:</font></td>
</tr>
</table></td>
</tr>
<tr>
<td height="380"></td>
</tr>
</table></td>
</tr>
</table>
</form></xsl:template>
</xsl:stylesheet>
费用2处的数据为小数点后保留两位的格式,合计出的数据也要小数点后保留两位,这个怎么做?还有就是当费用1为1时,显示为现金,费用1为2时,显示为信用卡,即费用1得多行数据显示为现金或信用卡,而不是1或2,但是取得费用1的原始数据为1或2,要将1或2显示为现金或信用卡;
还请ssm1226(雨中人)帮我看看,多谢了!
问题点数:50、回复次数:1Top
1 楼ssm1226(雨中人(虚心学习))回复于 2003-04-02 14:50:31 得分 50
<xsl:script language="javascript" >
<![CDATA[
function sum(node,fee1){
var nodes=node.selectNodes("//ROW[@FEE1='"+fee1+"']");
var num=0;
for(var i=0;i<nodes.length;i++){
num+=parseFloat(nodes(i).getAttribute("FEE2"));
}
num=num.toFixed(2);
return num.toString();
}
function count(node,fee1){
var num=node.selectNodes("//ROW[@FEE1='"+fee1+"']").length;
return num.toString();
}
]]>
</xsl:script>
---------------------------------------------------------------------------------
<table width="58%" border="0" align="left" cellpadding="0" cellspacing="2">
<tr bgcolor="#C9D7E9">
<td width="194"><div align="center"><font size="2" face="宋体">费用1</font></div></td>
<td width="226" height="16"><div align="left"></div>
<div align="center"><font size="2" face="宋体">费用2</font></div></td>
</tr>
<xsl:for-each select="CODE/DATASET/DATA/ROW">
<tr>
<td width="194" bgcolor="#F5F5F5" align="center"><font size="2" face="宋体">
<xsl:choose>
<xsl:when test="@FEE1[value()='1']">现金</xsl:when>
<xsl:otherwise>信用卡</xsl:otherwise>
</xsl:choose>
</font></td>
<td width="226" height="16" bgcolor="#F5F5F5" align="center"><font size="2" face="宋体"><xsl:value-of select="@FEE2"/></font></td>
</tr>
</xsl:for-each>
<tr>
<td bgcolor="#F5F5F5"><font size="2" face="宋体">费用为1的记录条数:<xsl:eval>count(this,1)</xsl:eval></font></td>
<td height="16" bgcolor="#F5F5F5"><font size="2" face="宋体">费用为1的费用2的合计:<xsl:eval>sum(this,1)</xsl:eval></font></td>
</tr>
<tr>
<td bgcolor="#F5F5F5"><font size="2" face="宋体">费用为2的记录条数:<xsl:eval>count(this,2)</xsl:eval></font></td>
<td height="16" bgcolor="#F5F5F5"><font size="2" face="宋体">费用为2的费用2的合计:<xsl:eval>sum(this,2)</xsl:eval></font></td>
</tr>
</table>Top




