XML 是標準擴充語言,是未來Web編程的標準,asp 是現在廣為流傳的web程式設計語言之一,能不能讓他們兩個聯合起來發揮作用呢?豆腐在這裡給大家提供一個很簡單的例子關於XML和XSL限於篇幅和知識水平豆腐就不在這裡獻醜了下面首先來說說幾個需要用到的檔案的內容
testXsl.xsl:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="PERSONNEL/PERSON">
<xsl:choose>
<xsl:when match=".[FG='boy']">
<input type="text">
<xsl:attribute name="value">
<xsl:value-of select="NAME"/>
</xsl:attribute>
</input>
<br/>
</xsl:when>
<xsl:otherwise match=".[FG='girl']">
<font color="red"><li><xsl:value-of select="NAME"/></li></font>
<br/>
</xsl:otherwise>
<xsl:otherwise>
<font color="blue"><xsl:value-of select="NAME"/></font>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
testXML.xml:
<?xml version="1.0" encoding="gb2312" ?>
<PERSONNEL>
<PERSON>
<NAME>男性</NAME>
<FG>boy</FG>
</PERSON>
<PERSON>
<NAME>女性</NAME>
<FG>girl</FG>
</PERSON>
<PERSON>
<NAME>呵呵,這個可不好說</NAME>
<FG>donot know</FG>
</PERSON>
</PERSONNEL>
testXML.asp
<%
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(server.mappath("testXML.xml"))
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(server.mappath("testXSL.xsl"))
Response.Write(xml.transformNode(xsl))
%>
對照這個例子,我們主要來講一下 testXML.asp 檔案
set xml = Server.CreateObject("Microsoft.XMLDOM")
set xsl = Server.CreateObject("Microsoft.XMLDOM")
用來分別建立一個xml和xsl的執行個體,其中xml.load(server.mappath("testXML.xml"))用來載入
包含資料的xml檔案,xsl.load(server.mappath("testXSL.xsl"))用來載入包含資料規則的xsl
檔案,最終利用xml.transformNode(xsl)將前面的規則使用在XML檔案中