數據島基本定義
XML文件為數據的存儲和傳遞提供了一個很好的媒介,可以這樣認為XML就是一個數據的集合,通過XML文件對象可以對數據做任何的操作。關鍵是怎樣使用XML文件里的數據,在HTML網頁中是否可以引用XML,網頁中顯示的數據來自XML文件,而該數據顯示的格式用HTML的標記來指定。
目前,許多動態Web網站的內容數據都存放在數據庫或數據文件中。如某個網站的會員信息,商品信息等。對于Web程序開發人員來說,如果要想把有用的信息從數據庫中提取出來,傳統的方法是在服務器端編寫腳本程序(如VBScript、JavaScript、CGI、ASP、Perl、JSP等等),通過對數據庫執行SQL查詢得到相關記錄,然后把查詢結果組織成HTML頁面返回給客戶端,用戶使用瀏覽器觀察最終結果。為了提高系統服務的靈活性、可擴展性,使服務對象范圍更廣,許多商業網站都盡可能地把商務規則、原始數據和表現形式,即執行功能的代碼,存放數據的數據庫,顯示數據的頁面單獨的劃分出來,做成相互獨立的服務。HTML那種包含數據并制定相應的顯示樣式,該方式顯然不合乎這種需求。
因此,把從數據庫提取出來的數據,即原始數據存放在XML文檔中(基本不變,顯示量大的公有數據),使用樣式單文件(XSL)顯示內容是XML技術適合于電子商務的優勢所在。但從本質上來說,XSL技術不是面向數據顯示的,它是一種格式轉換技術,在顯示手段和方式上都遠不及HTML那樣豐富。并且從本質來說,XSL的顯示樣式方式,最終還是利用了HTML模板進行顯示,只不過中間多了一個轉換罷了。對編程人員來說,一種較為理想的方案是把HTML和XML兩種技術直接相結合起來,優勢互補,使真正的原始數據在能夠保持本來意義和結構的同時,還能充分利用HTML那千變萬化的顯示技巧。
XML數據島就是這種技術融合的產物,它使用<XML>標簽把XML數據直接嵌入到HTML頁面中,從而實現了二者的優勢互補。用Internet Explorer 5.0版本以上的瀏覽器,非正式的<XML>標記可用于創建XML數據島。
當我們在HTML文檔中通過使用XML標記來嵌入XML數據時,就在HTML文檔中形成一個XML數據島(Data Island)。數據島是指存在于HTML頁面中的XML數據。數據島允許你在HTML頁面中集成XML,對XML編寫腳本,不需要通過腳本或<OBJECT>標簽讀取XML。幾乎所有能夠存在于一個結構完整的XML文檔中的東西都能存在于一個數據島中。包括處理指示、DOCTYPE聲明和內部子集。這里面需要我們注意的是,XML文檔中的設置編碼的字符串不能放在其中。
我們可以利用XML元素來創建數據島,數據島就是被HTML頁面引用或包含的XML數據,XML數據可以包含在HTML文件內,也可以包含在某外部文件內,利用XML數據島可以讓我們免除編寫復雜腳本的麻煩。DOM可對XML文檔進行解析,文檔中的元素、實體、屬性等所有個體都可以用對象模型表示,整個文檔的邏輯結構類似一棵樹,生成的對象模型就是樹的節點,每個對象同時包含了方法和屬性,DOM提供了許多查找節點的方法。利用DOM,開發人員可以動態地創建XML、遍歷文檔、增加(刪除/修改)文檔內容,DOM提供的API與編程語言無關,所以對一些DOM標準中沒有明確定義的接口,不同解析器的實現方法可能會有所差別。
Web服務器與客戶機之間的數據傳遞方式有三種:HTML頁面、XML文檔以及XML數據島。采用數據島作為交互手段,不僅可以使數據具備一定的語義信息,同時還能保持HTML原有的一些特色,如利用用戶端腳本程序實現動態信息交換等,可以在客戶端對XML里面的數據進行操作。綜合了使用XML文檔和HTML文檔傳輸數據的優點。
posted on 2009-07-27 13:58 肥仔 閱讀(313) 評論(0) 編輯 收藏 引用 所屬分類: Web-前臺