使用純HTML的通用數(shù)據(jù)管理和服務(wù)(2)_Xml教程
推薦:巧用XML做多語言界面的FLASH我就來確定流程吧。 1.先判斷操作系統(tǒng)的語言版本->2.讀取相關(guān)語言包 ->3.替換顯示字串 一、判斷系統(tǒng)語言 判斷語言有一個內(nèi)置函數(shù) System.capabilities.language,這個比較簡單的,但你
;
</xsl:template>
</xsl:stylesheet>
這個樣式表將把內(nèi)容轉(zhuǎn)成布局。錯誤檢查是很重要的,存儲過程通過確定數(shù)據(jù)是否需要處理來檢查數(shù)據(jù)。對于不能為空但又沒有填充數(shù)據(jù)的每個域返回一個“errors”節(jié)點。這個XML的輸出大致如下:
<user>. . .</user><errors><error>first_name</error>. . .</errors>
這個樣式表將把內(nèi)容轉(zhuǎn)成布局。錯誤檢查是很重要的,存儲過程通過確定數(shù)據(jù)是否需要處理來檢查數(shù)據(jù)。對于不能為空但又沒有填充數(shù)據(jù)的每個域返回一個“errors”節(jié)點。這個XML的輸出大致如下:
<user>. . .</user><errors><error>first_name</error>. . .</errors>
注意如果有一個錯誤匹配了節(jié)點名,那么產(chǎn)生的輸出將會是紅色的。我們需要下面的一個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對象,如果有數(shù)據(jù)就填充數(shù)據(jù)。然后使用CUser的DOM通過XSL轉(zhuǎn)換來創(chuàng)建結(jié)果HTML。轉(zhuǎn)換被包裝到一個叫做xslTransform的函數(shù)之中。而且,記住要將結(jié)果CUser DOM存儲到一個隱藏的<INPUT>元素中。或者你可以將CUser DOM存儲到一個Session變量中并在初始化過程中將其取出。
在完成這個頁面之后,你可以基于前面的骨架代碼創(chuàng)建其它的頁面�,F(xiàn)在你已經(jīng)創(chuàng)建了一個數(shù)據(jù)收集的拷貝-粘貼方案。這個方案最優(yōu)美的部分在于所有的輸出都是純HTML,沒有任何瀏覽器特有的性質(zhì)或者樣式表。而且由于功能都被包裝到類中,所以你可以使用XSLT產(chǎn)生布局,代碼運行相當快。
--------------------------------------------------------------------------------
本文作者:Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗很豐富,從機器控制和客戶/服務(wù)器到企業(yè)內(nèi)部網(wǎng)應(yīng)用。
分享:XML入門的一些常見的問題總結(jié)(二)作者:AngelGavin 出處:CSDN Internet Explorer 5.0 對 XML 提供哪個級別的支持? Internet Explorer 5 提供下列 XML 支持: 直接查看 XML。Microsoft XML 實現(xiàn)允許用戶
- 相關(guān)鏈接:
- 教程說明:
Xml教程-使用純HTML的通用數(shù)據(jù)管理和服務(wù)(2)
。