xml & xslt的应用
//学费标准样式表.xsl
<?xml version="1.0" encoding="gb2312" ?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<title>学费标准</title>
<style type="text/css">*{ font-size:12px; } h1{ color:red; font-size:18px; }</style>
</head>
<h1 align="center">学费标准</h1>
<th>学期</th>
<th>课时费</th>
<th>学时</th>
<th>学费小计</th>
<th>教材费</th>
<th>考试费</th>
<th>证书费</th>
<th>合计</th>
</tr>
<xsl:variable name="totalTime" />
<xsl:variable name="totalBook" />
<xsl:variable name="totalTest" />
<xsl:variable name="totalCertifid" />
<xsl:value-of select="@名称" />
</td>
<xsl:value-of select="current()//课时费" />
元/学时
</td>
<xsl:value-of select="current()//学时" />
</td>
<xsl:value-of select="current()//课时费 * current()//学时" />
元
</td>
<xsl:value-of select="current()//教材费" />
元
</td>
<xsl:value-of select="current()//考试费" />
元
</td>
<xsl:value-of select="current()//证书费" />
元
</td>
<xsl:value-of select="current()//课时费 * current()//学时 + current()//教材费 + current()//考试费 + current()//证书费" />
元
</td>
</tr>
</xsl:for-each>
<td align="center" colspan="2">合计</td>
<xsl:value-of select="sum(//学时)" />
</td>
<xsl:value-of select="sum(msxsl:node-set($totalPay)/total_pay/item)" />
元
</td>
<xsl:value-of select="sum(//教材费)" />
元
</td>
<xsl:value-of select="sum(//考试费)" />
元
</td>
<xsl:value-of select="sum(//证书费)" />
元
</td>
<xsl:value-of select="sum(msxsl:node-set($totalAll)/total_all/item)" />
元
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
//学费标准样式表.xml
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="学费标准样式表.xsl"?><学费>
</学费>
//下面是测试的html page, 可直接用IE打开 学费标准样式表.xml 也一样,因为我们在xml中定义了 "<?xml-stylesheet type="text/xsl" href="学费标准样式表.xsl"?>"
<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: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">
-->
正面猛男