学费标准样式表.xsl

点击展开
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemasmicrosoftcom:xslt">
<xsl:template match="/">
<html>
<head>
<title>学费标准</title>
<style type="text/css">*{ fontsize:12px; } h1{ color:red; fontsize:18px; }</style>
</head>
<body>
<h1 align="center">学费标准</h1>
<table align="center" width="80%" border="0" cellpadding="4" cellspacing="1" bgcolor="#999999">
<tr bgcolor="cccccc">
<th>学期</th>
<th>课时费</th>
<th>学时</th>
<th>学费小计</th>
<th>教材费</th>
<th>考试费</th>
<th>证书费</th>
<th>合计</th>
</tr>
<xsl:variable name="totalTime" />
<xsl:variable name="totalPay">
<total_pay>
<xsl:foreach select="//学期">
<item>
<xsl:valueof select="//课时费 * //学时" />
</item>
</xsl:foreach>
</total_pay>
</xsl:variable>
<xsl:variable name="totalBook" />
<xsl:variable name="totalTest" />
<xsl:variable name="totalCertifid" />
<xsl:variable name="totalAll">
<total_all>
<xsl:foreach select="//学期">
<item>
<xsl:valueof select="//课时费 * //学时 + //教材费 + //考试费 + //证书费" />
</item>
</xsl:foreach>
</total_all>
</xsl:variable>
<xsl:foreach select="//学期">
<tr bgcolor="#ffffff">
<td align="center">
<xsl:valueof select="@名称" />
</td>
<td align="center">
<xsl:valueof select="current()//课时费" />
元/学时
</td>
<td align="center">
<xsl:valueof select="current()//学时" />
</td>
<td align="center">
<xsl:valueof select="current()//课时费 * current()//学时" />
元
</td>
<td align="center">
<xsl:valueof select="current()//教材费" />
元
</td>
<td align="center">
<xsl:valueof select="current()//考试费" />
元
</td>
<td align="center">
<xsl:valueof select="current()//证书费" />
元
</td>
<td align="center">
<xsl:valueof select="current()//课时费 * current()//学时 + current()//教材费 + current()//考试费 + current()//证书费" />
元
</td>
</tr>
</xsl:foreach>
<tr>
<td align="center" colspan="2">合计</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(//学时)" />
</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(msxsl:nodeset($totalPay)/total_pay/item)" />
元
</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(//教材费)" />
元
</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(//考试费)" />
元
</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(//证书费)" />
元
</td>
<td align="center" style="color:red">
<xsl:valueof select="sum(msxsl:nodeset($totalAll)/total_all/item)" />
元
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
学费标准样式表.xml

点击展开
<?xml version="1.0" encoding="gb2312" ?>
<?xmlstylesheet type="text/xsl" href="学费标准样式表.xsl"?><学费>
<产品 名称="ACCP" 版本="V5.0">
<学期 名称="S1">
<课时费>33</课时费>
<学时>214</学时>
<教材费>500</教材费>
<考试费>300</考试费>
<证书费>70</证书费>
</学期>
<学期 名称="S2">
<课时费>35</课时费>
<学时>268</学时>
<教材费>550</教材费>
<考试费>300</考试费>
<证书费>80</证书费>
</学期>
<学期 名称="Y2">
<课时费>37</课时费>
<学时>318</学时>
<教材费>600</教材费>
<考试费>400</考试费>
<证书费>150</证书费>
</学期>
</产品>
</学费>
//下面是测试的html page, 可直接用IE打开 学费标准样式表.xml 也一样,因为我们在xml中定义了 "<?xml-stylesheet type="text/xsl" href="学费标准样式表.xsl"?>"
html.html

点击展开
html>
<head>
</head>
<script language="javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("学费标准样式表.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("学费标准样式表.xsl")
document.write(xml.transformNode(xsl))
</script>
</html>
<!--
文中的关键要去理解一下下面的这段
定义一个变量:
- <xsl:variable name="totalAll">
- <total_all>
- <xsl:for-each select="//学期">
- <item>
<xsl:value-of select="//课时费 * //学时 + //教材费 + //考试费 + //证书费" />
</item>
</xsl:for-each>
</total_all>
</xsl:variable>
如何使用变量:
<xsl:value-of select="sum(msxsl:node-set($totalAll)/total_all/item)" />
msxsl的定义在前面:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
-->