DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 用XML+JSP實現網頁內容動態顯示的方案
用XML+JSP實現網頁內容動態顯示的方案
編輯:XML詳解     
一、XML技術簡介

XML(eXtensible Markup Language??可擴展標記語言)是一種 擴展的源標記語言,是可以定義其他語言的語言。

它是SGML的一個簡化子集,這個子集是專為Web環境設計的,這就是說,它必須處理面向數據處理的(而不是面向發布的)、生存期短的(實際上是動態產生的)信息。

XML與Html對比:

XML語法嚴格,數據與顯示分離,便於其他程序交互和檢索數據。

Html語法容錯性大,數據和顯示都在一起,檢索數據困難較大。

XML又明確的DOM對象,可以對XML文件進行讀寫添刪數據的操作。

Html沒有這種明確的對象來完成該操作。

XML克服了Html的種種不足,將網絡上傳輸的文檔規范化,並賦予標簽一定的含義。

XML作為一種網絡系統中通用的數據交換格式迅速得到了支持,使用XML的實際好處有:

結構化??建立有任何復雜層次的數扭模型。

可擴展性??根椐需要定義新的標識。

驗證??檢查數據在結構上的正確性。

獨立與媒介??以多種方式發布內容。

獨立於供應商和平台??使用標准的商業軟件甚至文本工具處理任何符合(XML標准)的文檔。

XML文檔可以通過可擴展樣式語言XSL(Extensible Style Language XSL)轉換和格式化XML文檔。從而實現數據和頁面樣式的分離。

二、用JSP技術實現XML

JSP提供了一系列的特點,可以非常理想地和XML協同工作,JSP網頁可以包含任何類型的文本數據,所以JSP可以直接生成含有XML的文檔。而且,JSP可以利用強大的Java平台來解析、轉換XML信息和文檔。由於JSP也是Java軟件環境的一部分,JSP也可以使用API對象來處理XML數據。JSP技術的強大功能和很好的靈活性加上XML技術規范化的數據,可以完美的實現網頁的動態顯示功能。

三、開發環境

1、編輯工具

現在,開發XML文檔的工具越來越來多,從鏈接大型公司數據庫的企業級XML開發環境,到簡化標記開發過程的簡單的小型文本編輯器。最新的工具可以從http://www.XML.com了解到。目前,常用的幾種開發工具介紹如下:

UltraEdit 由IDM Computer Solution 公司開發,可到http://www.ibmcomp.com或http://www.ultraedit.com免費下載有限期使用版。它是界面類似於Windows的資源管理器式的界面,有很強的文本編緝功能。

XML Spy Icon Information-Systems 公司的XML Spy 是XML 一個集成開發環境,包括進行XML開發的各個方面,功能較強,簡單易用。XML Spy是一個真正完整的XML開發環境。它將所有開發XML所需的要素都包含在一個簡單易用的產品中。它包括:XML編輯器和檢驗、Schema/DTD編輯器和檢驗、XSL編輯器和轉換。同時還包含最新的XML草案,是一個不可多得的好軟件。

XML Writer 這個軟件是由Wattle Software-Chris Howard 開發的,可從http://XMLwriter.Net下載(試用)。在Window 95/98/2000 and Windows NT4下使用,也有著大家熟悉的Windows界面,提供了工程管理環境,可能刨建、查看工程,工程下包含文件,用戶可自定義工具條、快捷鍵,並且可為命令選擇顯示圖標。可用XSL樣式表轉換XML文件為Html文件,不僅可使用XSL,而且可以使用XQL,用DTD或XML Schema 對XML進行檢驗,用XML格式直接的將CSS結合到XML,提供在線幫助功能,並且它對中文的支持較好。

2、XML服務器

由於XML技術有很大的發展潛力,眾多廠商提供了自己的XML服務器,其中有apache、Microsoft、Sun等。

3、浏覽XML的工具

現在,大多數方案是將XML存儲在數據庫中,當需要時取出代碼,將其與數據結合起來,使用XSL將其轉換為Html,然後發送到浏覽器。所以浏覽XML一般選用IE可Netscape, 而且版本越新對XML文檔支持越好。

四、具體實現

1、 規范定義XML文檔中元素名稱

首先定義XML文檔頭部,包括XML遵循的規范、編碼方式、注釋等。例如:

< ?XML version=”1.0” encoding=”gb2312” standalone=”yes”?>

“version=”1.0” “,表示該XML文檔遵循XML1.0方案,這個喜劇聲明是必須的。

“encoding=”gb2312” ”,如果沒有這個聲明,必須使用Unicode,以UTF-8或UTF-16作為編號方式。如果文件中使用了中文,就必須進行編碼聲明。

“standalone=”yes” ”,XML聲明還可以有standalone特性,它說明,文檔是否在這一個文件裡需要從處部導入文件。如果XML文檔在一個文件裡完成,那麼standalone特性的值就設置為“yes”。

然後,根據業務的需要規范定義頁面上要顯示的元素,以及定義它們的元素名稱,元素名稱可以是中文的,這樣對數據描述更加簡單明了,這是Html無法實現的。元素是文檔的主要邏輯部件,由開始和結束標記界定,格式為:

< 元素名稱 屬性名1=“屬性值1” 屬性名2=“屬性值2”>

元素的內容

< /元素名稱>

元素的內容,可以直接寫在頁面上,也可以從數據庫中取得。

文檔中還可以包括實體聲明和實體引用。簡單地說,實體分為一般實體和參數實體。參數實體只能出現在DTD中,一般實體出現在一根元素開始的主XML文檔中。實體聲明格式為:。一般實體的引用很簡單:“&實體名稱;”,參數實體的引用與一般實體的引用類似:“%實體名稱;”。實體是功能強大的工具,提供了管理大量內容的便捷機制。

寫好後檢查XML文檔,確保文檔的格式正確和有效。一個格式正確的XML文檔滿足:

每一元素必須有起始和結束標注;

必須有一個,而且只有一個稱為根元素或文件元素的元素,並且它不出現在其他任何元素的內容中;

它包含一個或多個元素

正確的定義和表示空元素;

和結束標記可以使用大寫或小寫,但它們必須匹配;

以起始標簽和結束標簽為界的各個元素必須正確地嵌套,不允許出現交叉;

屬性值必須使用引號括起來;

此文件中直接或間接引用的每一個己析實休都是格式正確的;

它滿足XML規范中定義的所有其他的格式正確性約束。

2、 使用XSL顯示XML文檔

XSL(eXtensible stylesheet language)是描述XML文檔樣式的一種語言,是由W3C制定的。XSL處理程序讀取XML文檔和XSL樣式單,基於處理程序在XSL樣式單中找到的指令,輸出新的XML文檔。XSL樣式表就是對XML文檔中類的描述文件,描述文件說明的是如何使用格式化詞匯將類實例轉換為一個XML文檔。同時,XSL樣式表也必須是組織良好的XML。

XSL有三個組成的模塊:XSL模式(XSL Patern)、”XSL”名域(”XSL” Namespace)、”fo”名域(”fo” Namespace)。使用XSL樣式單可有三種主要方式將XML文檔轉換成其他格式:XML文檔和相關的樣式單都是用於客戶端(Web浏覽器)的,然後客戶端程序按照樣式單中指定格式轉換文檔,並將它呈現給用戶;服務器將XSL樣式單應用於XML文檔,以便此文檔能夠轉換成其他某種格式(通常為HTML),並把轉換後的文檔發送到客戶端程序(Web浏覽器);使用第三方程序將源XML文檔轉換成其他某種格式(通常為Html),才把此文檔放置在服務器上,服務器和客戶程序只處理轉換後的文檔。由於,大多數浏覽器是IE,而且IE對XSL的支持又好,第一種方法常被采用。

XSL轉換語言通過將XML樹形結構變換成另一個XML樹形結構來操作。這種語言含有操作符,此操作符用來從樹形結構中選擇特定節點、對節點重新排序以及輸出節點。在XML文檔中引用XSL的說明如下:

< ?xsl-stylesheet type=”text/xsl” href=”mystyle.xsl”?>

表明該XML文檔引用的XSL樣式單為mystyle.xsl。內容與形式分離使XML文檔更偏重於數據本身,而不受顯示方式的細枝末節的影響。而且可以通過定義不同的樣式單可以使用相同的數據呈現出不同的顯示外觀,實現XML數據的可重用性。

首先定義構造部分輸出的模塊,或對來自XML源文件中的數據應用模板。轉換模板包含在元素xsl:template中,模板可定義一組將源文檔轉換為結果樹的規則,確定要處理的節點。然後匹配模式,一個模式是一個字符串,它用於匹配XML源文件中的一個元素。用@匹配屬性節點。再用XSL中的元素轉換XML文檔中的元素。用XSL可以非常方便地實現同HTML中同樣的表單定義。只要將要在表單中的元素放入定義好的XSL模板中即可,表單的名稱、提義方式等屬性與HTML中的定義相同。同樣的表格的范圍、樣式,頁面的顯示風格、腳本等的定義也都與Html相似。

另外,CSS也可以應用到XML文檔,但CSS決定了頁面的視覺外觀,不會改變源文檔的結構。CSS和XSL是互相補充,各有特色的。

經過XSL轉換後XML文檔表單提交到JSP頁面或servlet進行處理。這部分可以完全和頁面處理分開,可以實現控制邏輯的完全獨立。

3、 XML文檔數據的輸出

XML的主要應用包括交換信息、定義文檔類型、說明信息,信息以一種結構化的基於文本格式的方式表達,可以很容易地進行傳輸、轉換和闡釋。對數據的處理可以全部放在Javabean或servlet中進行,與頁面的顯示完全分開。

在JSP中生成XML文檔很簡單,仍然可使用CSS或XSL來轉換和顯示XML。一個具有XML模板的JSP頁面,其實質就是在XML文檔模板中,在適當的地方加入Java代碼和JSP標記。在頁面中加入< %@page contentType=”text/XML”% >即可以將JSP頁,以XML文檔形式顯式出來,同時把動態數據放入< % % >標記內。對生成的XML同樣可以用XSL樣式單進行格式轉換和樣式定義等。

4、 XML與Java結合

XML能創建不依賴於平台、語言或限制性格式化協定的開放數據,如果廣泛地采用,XML能變成為內容以及下至客戶端對象通迅的廣泛標准。作為內容平台XML在許多方面增強了JAVA。XML將基於網絡的信息置標化,使得開發者和電腦易於辨認。這是有必要的因為Html除了隱藏的URL外,缺少有效的方法說明內容的含義,XML的目標就為網絡的對象添加那些含義,而這些曾經就是Java的任務之一。

許多網絡開發者得出結論:XML和JAVA是完美的一對,因為彼此十分相輔相成,XML有助於獨立平台、易提取信息的文檔和數據。Java有助於獨立平台,易於處理的面向對象的應用軟件解決方案,能驅動XML廣泛接受的應用是在Html的限制下難以實現的那些應用,可分為下列四類:

需要網絡客戶端協調各種不同類型數據庫的應用。

力圖將比例可觀的處理工作從服務器端分布於客戶端的應用。

要求客戶端將同一數據以不同的形式展現給不同的使用者的應用。

智能網絡代理應個別用戶的要求搜索定制信息的應用。

JAVA平台提供了在網絡上安全而方便地傳播代碼的基礎,XML技術則為數據提供了同樣的能力,這是一種清晰地、平台獨立地表示內容的方法。在眾多編程語言中,JAVA是使用XML的優秀平台,XML又是JAVA應用的優秀數據表示方法。XML和JAVA都與Internet關系密切,XML被設計成為一個優化的,靈活的可讀格式,可直接用於Internet;而JAVA從一開始就支持socket,HTTP,Html和服務器。它們都支持Unicode。因而很容易實現本地化應用,正如Java向程序員提供了表達復雜數據結構和面向對象模型的能力一樣,用XML表達復雜的層次化數據模型是很理想的。

XML結合JSP技術結構明確、條理清析、簡單易懂,是開發動態網站的一條快速而便捷的開發途徑。

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved