ITPub博客

首页 > Linux操作系统 > Linux操作系统 > xml & xslt的应用

xml & xslt的应用

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-02-17 15:58:15 0 删除 编辑
//学费标准样式表.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">
- <xsl:template match="/">
- <html>
- <head>
  <title>学费标准title>
  <style type="text/css">*{ font-size:12px; } h1{ color:red; font-size: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:for-each select="//学期">
- <item>
  <xsl:value-of select="//课时费 * //学时" />
  item>
  xsl:for-each>
  total_pay>
  xsl:variable>
  <xsl:variable name="totalBook" />
  <xsl:variable name="totalTest" />
  <xsl:variable name="totalCertifid" />
- <xsl:variable name="totalAll">
- <total_all>
- <xsl:for-each select="//学期">
- <item>
  <xsl:value-of select="//课时费 * //学时 + //教材费 + //考试费 + //证书费" />
  item>
  xsl:for-each>
  total_all>
  xsl:variable>
- <xsl:for-each select="//学期">
- <tr bgcolor="#ffffff">
- <td align="center">
  <xsl:value-of select="@名称" />
  td>
- <td align="center">
  <xsl:value-of select="current()//课时费" />
  元/学时
  td>
- <td align="center">
  <xsl:value-of select="current()//学时" />
  td>
- <td align="center">
  <xsl:value-of select="current()//课时费 * current()//学时" />
 
  td>
- <td align="center">
  <xsl:value-of select="current()//教材费" />
 
  td>
- <td align="center">
  <xsl:value-of select="current()//考试费" />
 
  td>
- <td align="center">
  <xsl:value-of select="current()//证书费" />
 
  td>
- <td align="center">
  <xsl:value-of select="current()//课时费 * current()//学时 + current()//教材费 + current()//考试费 + current()//证书费" />
 
  td>
  tr>
  xsl:for-each>
- <tr>
  <td align="center" colspan="2">合计td>
- <td align="center" style="color:red">
  <xsl:value-of select="sum(//学时)" />
  td>
- <td align="center" style="color:red">
  <xsl:value-of select="sum(msxsl:node-set($totalPay)/total_pay/item)" />
 
  td>
- <td align="center" style="color:red">
  <xsl:value-of select="sum(//教材费)" />
 
  td>
- <td align="center" style="color:red">
  <xsl:value-of select="sum(//考试费)" />
 
  td>
- <td align="center" style="color:red">
  <xsl:value-of select="sum(//证书费)" />
 
  td>
- <td align="center" style="color:red">
  <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" ?>
<学费>
- <产品 名称="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中定义了 ""
 



    // 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))

 <!--
文中的关键要去理解一下下面的这段
定义一个变量:
- <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(msx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-553560/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5307332