【文章內(nèi)容簡介】
XSL極強的格式化的能力而現(xiàn)給用戶。 XSL 以包含了一套元素集的 XML 語法規(guī)范而定義,該語法規(guī)范將被用來把 XML 文件轉(zhuǎn)換成 HTML 文件或 XML 文檔。一個 XSL 樣式表集合了一系列設(shè)計規(guī)則以用于將信息從 XML 文件中汲取出,并將其轉(zhuǎn)換成 HTML 等其它格式。這種轉(zhuǎn)換將采用一種公開的方式,使其更加容易方便地被程序員描述。而且 XSL 還將提供多種腳本語言的通道以滿足更為復(fù)雜的應(yīng)用需求,因此盡管 XSL 是一項新的標(biāo)識語言,但程序員完全可以繼續(xù)充分發(fā)揮其所熟練的 HTML 或腳本語言的優(yōu)勢。XSL 憑借其可擴展性能夠控制無窮無盡的標(biāo)簽,而控制每個標(biāo)簽的方式也是無窮盡的。這就給 Web 提供了高級的布局特性。例如旋轉(zhuǎn)的文本、多列和獨立區(qū)域。它支持國際書寫格式,可以在一頁上混合使用從左至右、從右至左和從上至下的書寫格式。如圖:圖 XSL、XML、XSLT 之間的關(guān)系第三章 ASP 與 XML 的結(jié)合XML 是一個被廣泛采用與運用的標(biāo)準(zhǔn),可以跨越平臺障礙、存取各種格式的數(shù)據(jù),而且是唯一真正可以做到獨立、跨越平臺的數(shù)據(jù)交換標(biāo)準(zhǔn),并已經(jīng)幾乎被所有在計算機領(lǐng)域中鼎鼎有名的公司所支持,但是到底要如何在網(wǎng)絡(luò)應(yīng)用程序中應(yīng)用 XML 呢?這就要 XML文檔XML、WML、HTML 或其他文檔XSL解析器XSLT處理和轉(zhuǎn)化結(jié)合 XML 和 ASP 啦。 什么是 ASP ASP 是 Active Server Pages 的英文縮寫,是微軟為了推廣網(wǎng)絡(luò)應(yīng)用程序開發(fā)及數(shù)據(jù)庫連接而推出的一項技術(shù)。這項技術(shù)最早在 IIS( Inter Information Server) 上開始使用。由于 Windows NT、 IIS 的日益普及,ASP 也憑借其簡單而功能強大的特點逐漸成為重要的 Web 應(yīng)用開發(fā)技術(shù)。 ASP 是一種服務(wù)器端命令執(zhí)行環(huán)境,可以讓您用來創(chuàng)建動態(tài)網(wǎng)頁或建立功能強大的 Web 應(yīng)用程序,它具有以下特點:? ASP 網(wǎng)頁是包含 HTML 標(biāo)記、文字和命令的文件;? ASP 網(wǎng)頁可以調(diào)用 ActiveX 控件執(zhí)行工作,例如連接到數(shù)據(jù)庫或執(zhí)行商業(yè)計算;? ASP 程序沒有瀏覽器兼容的問題;? ASP 的程序代碼是隱藏的,客戶端僅能看到由 ASP 所輸出的動態(tài) HTML 文件。 XML+ASP 網(wǎng)站應(yīng)用結(jié)構(gòu)要知道 ASP 是如何與 XML 結(jié)合的,并實現(xiàn)應(yīng)用程序功能的話,就必須先知道 XML與 ASP 的網(wǎng)站應(yīng)用結(jié)構(gòu)。 XML+ASP 的三層數(shù)據(jù)傳輸格式如圖 圖 XML+ASP 的三層數(shù)據(jù)傳輸格式 XML+ASP 的三層結(jié)構(gòu)三層客戶機/服務(wù)器結(jié)構(gòu)主要分為展示層、企業(yè)規(guī)則邏輯層及數(shù)據(jù)層。此三層分別由瀏覽器、ASP 程序及 XML 原始數(shù)據(jù)所扮演。1) 數(shù)據(jù)層由格式相關(guān)的 XML 數(shù)據(jù)組成,可用來做數(shù)據(jù)倉庫與處理數(shù)據(jù);主要是負(fù)責(zé)數(shù)組成純HTML 格式瀏覽器 ASP 程序XML原始數(shù)據(jù)表示層 企業(yè)規(guī)則邏輯層 數(shù)據(jù)庫客戶機 Web 服務(wù)器 數(shù)據(jù)庫服務(wù)器DOM據(jù)的完整性,及存儲與取得所有公開的 XML 原始數(shù)據(jù)。2) 企業(yè)規(guī)則邏輯層由所有的 ASP 網(wǎng)頁組成,用來提供基本的信息傳遞、發(fā)布客戶機的要求,與后端的 XML 數(shù)據(jù)相配合(主要使用 XML DOM 對 XML 數(shù)據(jù)進行操作) ,并且將取得的 XML 數(shù)據(jù)應(yīng)用于應(yīng)用程序中的規(guī)則,產(chǎn)生客戶機所要的各種結(jié)果,并將結(jié)果返回給客戶機。3) 表示層是客戶機的瀏覽器,主要是用來處理網(wǎng)頁顯示的方式。通過它可以讓客戶機與應(yīng)用程序交互,并將邏輯層輸出的數(shù)據(jù)顯示出來。 數(shù)據(jù)傳輸?shù)姆绞降谝徊剑?客戶機通過瀏覽器提交請求到邏輯層的 ASP 網(wǎng)頁。第二步: 請求通過邏輯層處理后傳給數(shù)據(jù)層的數(shù)據(jù)庫服務(wù)器。第三步: 數(shù)據(jù)庫在收到由邏輯層傳來的請求后,對請求發(fā)出應(yīng)答;并將應(yīng)答返回到邏輯層。此處所指的應(yīng)答指的是相對應(yīng)的 XML 數(shù)據(jù)。第四步: 邏輯層應(yīng)用程序的規(guī)則處理來自數(shù)據(jù)層的 XML 數(shù)據(jù),以產(chǎn)生客戶機所要的結(jié)果,并將結(jié)果傳送到客戶機的瀏覽器。此處所指的“結(jié)果”可能是 XML文件,可能是轉(zhuǎn)成 HTML 文件的 XML 數(shù)據(jù),主要是根據(jù)客戶機的要求而有所不同。第五步: 瀏覽器在收到結(jié)果后,將結(jié)果顯示出來。 為何要結(jié)合 XML 與 ASPXML 的數(shù)據(jù)結(jié)構(gòu)的確可以讓客戶機根據(jù)不同的方式檢查數(shù)據(jù),按不同的法則排序,或瀏覽時固定顯示某些信息讓文件使用更有效率;如單擊某個程序軟件的鏈接,編制顯示出符合該客戶機視窗版本的信息。但要是沒有 ASP 程序來與客戶機交互,使得客戶機得以通過它來提出要求,那么 XML 終究只是靜態(tài)的文件數(shù)據(jù)。因此, XML 與 ASP 搭配確實是互相貢獻所長的結(jié)合方式。第四章 ASP+XML 的程序開發(fā)實現(xiàn) 我的網(wǎng)址收藏夾下面的圖 是收藏夾的主界面。其中顯示了網(wǎng)站的分類、網(wǎng)站標(biāo)題、網(wǎng)站鏈接以及對某個鏈接進行的簡易操作。最上端是進行添加條目和分類的操作。具體的條目集中放在上面,而分類的條目放在下面。要強調(diào)的一點是:在刪除分類的時候,必須保證具體條目中沒有占用分類的項,否則將不能對條目進行刪除。圖 收藏夾的主界面相關(guān)代碼:%@ page contentType=text/html。charset=GB2312 language=java %htmlhead titlemain/title meta equiv=ContentType content=text/html。 charset=gb2312 style type=text/css!.style1 {fontsize: 14px。color: 0000FF。} /style/headbody bgcolor=FFFFFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0% Session s = ()。 Transaction tx = ()。 List items = () .list()。%trtddiv align=center收藏分類/div/td tddiv align=center標(biāo)題/div/td tddiv align=center鏈接/div/td td colspan=2div align=center可用操作/div/td /tr 收藏夾文檔結(jié)構(gòu)圖圖 收藏夾文檔結(jié)構(gòu)圖 添加分類要加入一個網(wǎng)站,要首先將此網(wǎng)站進行分類,比如:是屬于個人的還是搜索還是門戶網(wǎng)站或者是其它的類別。這些都可根據(jù)用戶的愛好來進行起名。點擊右上端的“添加分類” ,會出現(xiàn)如圖 所示對話框,點擊“提交”可以進行添加分類。添加分類首 頁 顯 示 收 藏 內(nèi) 容添加條目個人網(wǎng)站門戶網(wǎng)站搜索引擎體育新聞網(wǎng)易新浪百度張建寧的主頁其它分類分類匯總標(biāo)題鏈接地址分 類…………編 輯 刪 除已添加分類、條目圖 添加收藏夾分類相關(guān)代碼以下是在分類網(wǎng)頁中用到的部分源代碼:head title收藏夾 分類/title meta equiv=ContentType content=text/html。 charset=gb2312 style type=text/css!.style1 { fontsize: 13px。color: 0000FF。} /style/headtr td % if (submi