基于可擴展標記語言的webweb發(fā)布系統(tǒng)_第1頁
基于可擴展標記語言的webweb發(fā)布系統(tǒng)_第2頁
基于可擴展標記語言的webweb發(fā)布系統(tǒng)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于可擴展標記語言的webweb發(fā)布系統(tǒng)

1web服務的發(fā)展現(xiàn)狀隨著信息技術的快速發(fā)展,網(wǎng)絡技術滲透到社會生活的各個領域,人們對web服務的需求也越來越高。從以前簡單的靜態(tài)信息顯示到現(xiàn)在動態(tài)交互的Web網(wǎng)頁的出現(xiàn),一系列相關的技術和開發(fā)語言也相繼問世。隨著目前電子商務的需求越來越廣泛,Web服務的發(fā)展趨向于復雜化、多樣化和智能化。人們希望能在自己的PC機、便攜機、WAP手機等終端上,通過簡單的操作就能完成如信息查詢、股票交易、在線訂購、在線會議等功能,這給動態(tài)網(wǎng)頁的發(fā)布帶來更高的技術要求。2生成多媒體web發(fā)布系統(tǒng)傳統(tǒng)的Web發(fā)布技術中,所有的內容都以HTML的形式傳遞。瀏覽器將來自頁面的請求發(fā)送給HTTP服務器,這個請求會跟隨著一系列的參數(shù)名稱和值。服務器接收到請求后,會通過CGI腳本、ASP、JavaServlet等代碼動態(tài)生成HTML來響應請求。其過程如圖1所示。在這種傳統(tǒng)的動態(tài)Web發(fā)布技術中,業(yè)務邏輯、數(shù)據(jù)和HTML顯示混雜在一起,使整個系統(tǒng)邏輯不清,不易于系統(tǒng)的設計維護。特別是在電子商務環(huán)境中,用戶希望得到個性化的服務。對于同一內容,不同的用戶希望看到不同的部分,或者通過不同的終端設備以不同的方式顯示。對于這樣的情況,在傳統(tǒng)的動態(tài)Web發(fā)布技術中只能對于不同的顯示進行不同的編碼。這個編碼不僅是重新定義顯示方式的編碼,也包括業(yè)務邏輯處理和后臺數(shù)據(jù)訪問的編碼,這無疑進行了很多重復的工作,而且使整個系統(tǒng)不易于維護和擴充。3實現(xiàn)了數(shù)據(jù)的分離作為SGML子集的XML語言,不僅繼承了SGML的易擴展性,而且還具有簡單和易描述的特點,它實現(xiàn)了數(shù)據(jù)內容和顯示方式的分離。對于同一份XML描述的內容,可以針對不同的顯示終端、不同的瀏覽器、不同的個性化顯示方式來分別實現(xiàn),而不改動后臺的業(yè)務處理邏輯,這就彌補了傳統(tǒng)的動態(tài)Web發(fā)布技術的不足。利用XML來實現(xiàn)動態(tài)Web的發(fā)布,利用的主要技術是XMLDOM和XSL。(1)基于3d植物樹狀模型的自動發(fā)布DOM是W3C為XML標準化了的一套應用程序編程接口,是一種獨立于語言和平臺的定義,它在計算機的內存中形成了一個樹狀模型。利用DOM中的對象,開發(fā)人員可以對樹狀模型進行讀取、搜索、修改、添加和刪除等操作。使用DOM來進行動態(tài)Web的發(fā)布,可以從用戶登錄的身份或用戶向服務器發(fā)出的HTTP請求中得到用戶的個性化需求或頁面的顯示方式,并以此來解析源XML文檔得到顯示給用戶的目標頁面。編寫使用DOM方法的Java代碼可以完全控制XML的轉換,但是對于每一步的轉換都必須通過編碼實現(xiàn),工作量大。(2)xllt和xpatXSL是一種基于XML的語言。它可以將XML文檔轉換為另一種XML文檔或轉換為XML文檔可翻譯的對象,如SVG,PDF等。利用XSL樣式表,可以在瀏覽器中定制用戶的個性化顯示頁面,并可以將同一份XML文檔描述的數(shù)據(jù)內容顯示到不同的顯示終端上。與使用DOM方式來轉換XML文檔相比,XSL是一種編程更簡單的方式,它不像DOM可以操縱樹狀模型,而只是描述了源XML文檔和目標文檔之間的關系。它包括XSLT,XSLF和XPath三部分。XSLT著重于XML文檔轉換;而XSLF著重于格式對象;XPath則著重于從XML層次結構上訪問節(jié)點。利用XSL引擎轉換XML文檔時,首先要將被轉換的文檔轉換為一種內部模型,這個內部模型也是一個樹狀模型,它獨立于任何一種處理它的API。一種更通用的方式是結合以上兩種技術來實現(xiàn)動態(tài)Web發(fā)布。在這種新的技術實現(xiàn)中,Web服務器訪問數(shù)據(jù)庫并完成業(yè)務邏輯操作,之后在Web服務器上生成一個XML文檔。Web服務器再根據(jù)不同的用戶、不同的瀏覽器、不同的終端來調用不同的XSL樣式表,將服務器上的XML文檔轉換為不同的格式并發(fā)送給客戶端瀏覽器。其處理過程(圖2)是將XML文檔的轉換放在服務器上完成,處理時也可以將這一轉換過程放在客戶端。Web服務器將業(yè)務邏輯操作完成后形成的XML文檔隨同與之相關的XSL樣式表一起發(fā)送給客戶端瀏覽器,由客戶端瀏覽器自行轉換。利用XML技術來實現(xiàn)動態(tài)Web的發(fā)布,相對于傳統(tǒng)的發(fā)布技術,有三點明顯的優(yōu)勢:①由于顯示過程和業(yè)務處理邏輯分離,使整個系統(tǒng)結構清晰,易實現(xiàn)模塊化設計,減少重復工作。②系統(tǒng)易于維護。當系統(tǒng)的業(yè)務邏輯發(fā)生變化時,只要系統(tǒng)形成的XML文檔結構保持不變,就無須改變客戶端的顯示代碼和執(zhí)行轉換的XSL樣式表。③系統(tǒng)擴充方便。如果要新加一種個性化的顯示頁面或新增一種顯示終端,只需新增或修改一個XSL樣式表。由于XML是一種基于國際標準的獨立于平臺的語言,所以只要客戶端提供XML解析器,就能在任何軟硬件平臺上動態(tài)顯示W(wǎng)eb頁面。4源rss滲出產生和轉換在利用XML動態(tài)發(fā)布Web的技術實現(xiàn)中,XSL中的XSLT和XPath扮演著重要的角色。由于此時Web服務器得到用戶特殊顯示需求的方式與傳統(tǒng)的方式一樣,所以在這里假設Web服務器已通過某種方式得到了這種特殊需求。在XSLT中,樣式表包含了一套模板的規(guī)則集合。一個模板規(guī)則有兩個部分,包括匹配源樹狀模型中節(jié)點的模式以及實例化后組成部分目標樹狀模型的模板。例如下面模板規(guī)則匹配了一個Book類型的元素:在XSLT中包括很多條件處理的元素,利用這些元素,可以對源文檔進行過濾而形成多種目標文檔。另外,為了完成更復雜的功能,可以在XSL樣式表中嵌入客戶端的腳本代碼。在客戶端轉換XML文檔比較簡單,只要在源XML文檔中寫入如下語句就可以了:<xml-stylesheethref=″test.xsl″type=″text/xsl″?>客戶端瀏覽器收到從Web服務器發(fā)送過來的源XML文檔和XSL樣式表后將自行轉換,無須服務器的參與。考慮到用戶通過選擇在瀏覽器上查看源文件,便可以看到源XML文檔描述的全部數(shù)據(jù)內容。因此,當源XML文檔描述的部分數(shù)據(jù)內容對于某些人要保密時,就不能將轉換放在客戶端瀏覽器中執(zhí)行,而只能在Web服務器端進行轉換,并將轉換好的目標文檔發(fā)送給客戶端瀏覽器顯示。在服務器端對源XML文檔進行轉換,可以利用ASP,JSP等語言及DOM對象來實現(xiàn)更復雜的功能。首先,服務器必須讀入源XML文檔和XSL樣式表文檔,可以利用如下ASP代碼實現(xiàn):下面的ASP代碼利用DOM對象實現(xiàn)了在XSL樣式表中嵌入JavaScript代碼并重新生成一個XSL樣式表文件:嵌入的腳本函數(shù)是一個過濾器,它根據(jù)從客戶端提交過來的書本ID與當前轉換的元素ID相比較,并返回一個Boolean值?,F(xiàn)在服務器可以對源XML文檔進行轉換了,利用下面的ASP代碼可以實現(xiàn)轉換:xml.transformNode(xsl)其中,xml表示要轉換的XML文檔對象,xsl為樣式表文檔對象。在XSL樣式表中,利用循環(huán)和條件處理元素,就可以根據(jù)用戶的需要在源XML文檔轉換為目標文檔的過程中過濾掉不必要的信息,如以下代碼:5模塊化和并行進行的原則毫無

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論