xml & xslt的應用

iDotNetSpace發表於2009-02-17
//學費標準樣式表.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/,如需轉載,請註明出處,否則將追究法律責任。

xml & xslt的應用
請登入後發表評論 登入
全部評論

相關文章