使用純HTML的通用數(shù)據(jù)管理和服務(wù)(2)_Xml教程
推薦:巧用XML做多語(yǔ)言界面的FLASH我就來確定流程吧。 1.先判斷操作系統(tǒng)的語(yǔ)言版本->2.讀取相關(guān)語(yǔ)言包 ->3.替換顯示字串 一、判斷系統(tǒng)語(yǔ)言 判斷語(yǔ)言有一個(gè)內(nèi)置函數(shù) System.capabilities.language,這個(gè)比較簡(jiǎn)單的,但你
;
</xsl:template>
</xsl:stylesheet>
這個(gè)樣式表將把內(nèi)容轉(zhuǎn)成布局。錯(cuò)誤檢查是很重要的,存儲(chǔ)過程通過確定數(shù)據(jù)是否需要處理來檢查數(shù)據(jù)。對(duì)于不能為空但又沒有填充數(shù)據(jù)的每個(gè)域返回一個(gè)“errors”節(jié)點(diǎn)。這個(gè)XML的輸出大致如下:
<user>. . .</user><errors><error>first_name</error>. . .</errors>
這個(gè)樣式表將把內(nèi)容轉(zhuǎn)成布局。錯(cuò)誤檢查是很重要的,存儲(chǔ)過程通過確定數(shù)據(jù)是否需要處理來檢查數(shù)據(jù)。對(duì)于不能為空但又沒有填充數(shù)據(jù)的每個(gè)域返回一個(gè)“errors”節(jié)點(diǎn)。這個(gè)XML的輸出大致如下:
<user>. . .</user><errors><error>first_name</error>. . .</errors>
注意如果有一個(gè)錯(cuò)誤匹配了節(jié)點(diǎn)名,那么產(chǎn)生的輸出將會(huì)是紅色的。我們需要下面的一個(gè)ASP將前面的所有東西組合起來。
<%@ Language=VBScript %>
<%
Option Explicit
Dim oUser
Set oUser = New CUser
If oUser.validate() Then
Set oUser = Nothing
Server.Transfer "NextPage.asp"
End If
%>
<html>
<body>
<form method="POST" action="GetUser.asp" name="thisForm" id="thisForm">
<%
Response.Write xslTransform(oUser.DOM, "user.xsl")
%>
<input type="hidden" name="txtUserXML" id="txtUserXML"
value="<%=oUser.DOM.xml%>">
<input type="submit" value="Submit">
</form>
</body>
</html>
<%
Set oUser = Nothing
Function xslTransform(vXML, XSLFileName)
Dim m_xml, m_xsl
If VarType(vXML) = 8 Then
Set m_xml = m_dom
m_xml.loadXML vXML
ElseIf VarType(vXML) = 9 Then
Set m_xml = vXML
End If
If m_xml.parseError.errorCode <> 0 Then _
Err.Raise vbObjectError, "XMLTransform(...)", m_xml.parseError.reason
Set m_xsl = Server.CreateObject("MSXML2.DOMDocument")
m_xsl.async = False
m_xsl.load Server.MapPath(XSLFileName)
If m_xsl.parseError.errorCode <> 0 Then _
Err.Raise vbObjectError, "XMLTransform(...)", m_xsl.parseError.reason
xslTransform = m_xml.transformNode(m_xsl)
Set m_xsl = Nothing
End Function
%>
<!--#include file="CUser.asp"-->
ASP代碼創(chuàng)建CUser對(duì)象,如果有數(shù)據(jù)就填充數(shù)據(jù)。然后使用CUser的DOM通過XSL轉(zhuǎn)換來創(chuàng)建結(jié)果HTML。轉(zhuǎn)換被包裝到一個(gè)叫做xslTransform的函數(shù)之中。而且,記住要將結(jié)果CUser DOM存儲(chǔ)到一個(gè)隱藏的<INPUT>元素中�;蛘吣憧梢詫User DOM存儲(chǔ)到一個(gè)Session變量中并在初始化過程中將其取出。
在完成這個(gè)頁(yè)面之后,你可以基于前面的骨架代碼創(chuàng)建其它的頁(yè)面。現(xiàn)在你已經(jīng)創(chuàng)建了一個(gè)數(shù)據(jù)收集的拷貝-粘貼方案。這個(gè)方案最優(yōu)美的部分在于所有的輸出都是純HTML,沒有任何瀏覽器特有的性質(zhì)或者樣式表。而且由于功能都被包裝到類中,所以你可以使用XSLT產(chǎn)生布局,代碼運(yùn)行相當(dāng)快。
--------------------------------------------------------------------------------
本文作者:Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗(yàn)很豐富,從機(jī)器控制和客戶/服務(wù)器到企業(yè)內(nèi)部網(wǎng)應(yīng)用。
分享:XML入門的一些常見的問題總結(jié)(二)作者:AngelGavin 出處:CSDN Internet Explorer 5.0 對(duì) XML 提供哪個(gè)級(jí)別的支持? Internet Explorer 5 提供下列 XML 支持: 直接查看 XML。Microsoft XML 實(shí)現(xiàn)允許用戶
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- WML開發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語(yǔ)法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)
- WML教程之文本框控件Input
- 無線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門 - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測(cè)試模式 - XSL教程 - 5
- 相關(guān)鏈接:
- 教程說明:
Xml教程-使用純HTML的通用數(shù)據(jù)管理和服務(wù)(2)
。