搜尋
首頁web前端html教學HTML與XML之間的優勢互補(上)

目前,許多Web網站的內容資料都存放在資料庫或資料檔案中。對於Web程式開發人員來說,如果要想把有用的資訊從資料庫中提取出來,傳統的方法是在伺服器端編寫腳本程式(如VBScript、javaScript、CGI、asp、Perl等等),透過對資料庫執行SQL查詢得到相關記錄,然後把查詢結果組織成HTML頁面回傳給客戶端,使用者使用瀏覽器觀察最終結果。

為了提升系統服務的彈性、可擴充性,使服務對象範圍更廣,許多商業網站都盡可能地把商務規則、原始資料和表現形式當作相互獨立的服務分別提供。 HTML那種蘊涵資料於顯示的方式顯然不合乎這種需求。因此,把原始資料存放在XML文件中,使用樣式單檔顯示內容是XML技術適合電子商務的優勢所在。但從本質上來說,XSL技術不是以資料顯示的,它是一種格式轉換技術,在顯示手段和方式上都遠不如HTML那麼豐富。對程式設計人員來說,較為理想的方案是把HTML和XML兩種技術結合,優勢互補,讓真正的原始資料在能維持本來意義和結構的同時,還能充分利用HTML那千變萬化的顯示技巧。 XML資料島就是這種技術融合的產物,它使用標籤把XML資料直接嵌入HTML頁面中,從而實現了二者的優勢互補。
IE中資料島的處理方式

為了能夠處理這種內嵌XML程式碼的HTML頁面,Internet Explorer 4.0(以下簡稱IE 4.0)引進了DSO(Data Source Objects,資料來源物件)技術,用Java Applet實作。
例如:

<APPLET CODE=“com.ms.xml.dso.XMLDSO.class”
ID=“xmldso” WIDTH=0 HEIGHT=0 MAYSCRIPT=TRUE>
<PARAM NAME=“URL” VALUE=“myXML.xml”>
</APPLET>

在上述範例中,CODE屬性指明了DSO Java小程序,MAYSCRIPT屬性保證用戶端腳本能夠處理資料對象,PARAM標籤指明了XML文件的位置。

使用Java的限制在於只能在HTML文件中說明XML的URL位址,而不能直接將XML標籤嵌入其中,這就和真正的資料島方案還有一定的差距。微軟在Internet Explorer 5.0(以下簡稱IE 5.0)中對DSO技術進行了擴展,突破了以往的限制,使HTML和XML真正地融合到了一起。 HTML頁面中支援直接使用標籤。

例如:

<HTML>

<XML ID=“xmldso”>

<?xml version=“1.0”?>

some XML……

</XML>


只要保證每個資料島的ID都是唯一的,就可以在頁面中的任何必要的地方嵌入資料島,並且這些DSO彼此都是互相獨立的。

除了上面範例中的這種直接嵌入方式,還可以使用外部引用方式連結資料島。

例如:

<XML ID=“xmldso” SRC=“myXML.xml”>

</XML>

這樣,只有當公司的客戶物件繼續使用IE 4.0,並且為了解決這部分客戶的兼容性問題時,Java Applet才是程式設計人員要考慮的選擇方案。

在IE 5.0所實現的DSO技術中,如果資料是透過SQL語言查詢資料庫得到的結果,那麼就把它們存放在ADO(ActiveX Data Objects)記錄集中。伺服器把這種ActiveX控制項(通常是ADO記錄集)送到客戶端,由客戶端腳本程式做進一步的處理。實際上,IE 5.0就是把XML資料島當作一種特殊的ADO記錄集來處理的。

XML的資料綁定

1. ADO記錄集的對應

XML中的每一條主元素都被對應為ADO記錄集中的一筆記錄,而子元素則會相應地被對應到記錄集中的欄位(也稱為域)。

例如,存在XML資料島books.xml如下:

<XML ID=“xmldso”>

<?xml version=“1.0”?>

<booklist>

<book>

<title>Straight Talk About Computers</title>

<isbn>72-80088-005</isbn>

</book>

<book>

<title> Gourmet Microwave </title>

<isbn>72-80081-082</isbn>

</book>

</booklist>

</XML>


此時,映射後的ADO記錄集為:

title isbn

Straight Talk About Computers 72-80088-005

Gourmet Microwave 72-80081-082

#2.與HTML元素的綁定

在HTML文件中嵌入資料島之後,就可以將XML資料島與HTML元素綁定在一起。每一個DSO條目(即資料島)都有唯一的ID號。首先將HTML元素中的DATASRC屬性設定為對應的ID,就可以把HTML元素和資料島連結在一起。然後再透過設定DATAFLD屬性值,來確定所擷取的XML元素。

例如,與p元素綁定的程式碼如下:

<p ID=title DATASRC=#xmldso DATAFLD=“title”></p>

<p ID=PRice DATASRC=#xmldso DATAFLD=“isbn”></p>

注意:並非所有的HTML元素都能與XML資料島綁定。目前,支援此DSO綁定機制的元素如下:

A、APPLET、BUTTON、p、FRAME、IFRAME、 IMG、INPUT (此處類型是:CHECKBOX、HIDDEN、 LABEL、PASSWord、RADIO和TEXT)、LABEL、 MARQUEE、SELECT、SPAN、TABLE和TEXTAREA。

3.以表格方式明確XML資料

若把XML資料與TABLE元素綁定在一起,就可以自動地顯示為多行的表格形式。

例如,XML資料與TABLE元素綁定的程式碼如下:

<TABLE BORDER=1 DATASRC=“#xmldso”>

<THEAD>

<TR><TH>Title</TH>

<TH>ISBN</TH></TR>

</THEAD>

<TBODY>

<TR><TD><p DATAFLD=“title”></p></TD>

<TD><p DATAFLD=“isbn”>

</p></TD></TR>

</TBODY>
1
</TABLE>


这样,通过将TABLE元素中的DATASRC属性设定为#xmldso,把两者绑定起来。表格内部分为表头(THEAD)和表体(TBODY)两部分。每一个元素都会显示为一行表格,具体每一栏显示哪一项数据,则由p元素中的DATAFLD属性指定。                        

以上是HTML與XML之間的優勢互補(上)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
HTML文檔中的根標籤是什麼?HTML文檔中的根標籤是什麼?Apr 29, 2025 am 12:10 AM

theroottaginanhtmldocumentis.servesasthetop-levellementThateNcapsulatesAllotherContent,確保properdocumentstrumentstrumentsureandbrowserparserparsing。

HTML標籤和元素是同一件事嗎?HTML標籤和元素是同一件事嗎?Apr 28, 2025 pm 05:44 PM

文章解釋說,HTML標籤是用於定義元素的語法標記,而元素是完整的單位,包括標籤和內容。他們一起工作以構建網頁。查拉克計數:159

&lt; head&gt;的意義是什麼。 &&lt;身體&gt;在html中標記?&lt; head&gt;的意義是什麼。 &&lt;身體&gt;在html中標記?Apr 28, 2025 pm 05:43 PM

本文討論了Lt; Head&gt; &&lt;身體&gt; HTML中的標籤,它們對用戶體驗的影響以及SEO的影響。正確的結構增強了網站功能和搜索引擎優化。

&lt; strong&gt;,lt; b&gt;有什麼區別標籤和lt; em&gt;,&lt; i&gt;標籤?&lt; strong&gt;,lt; b&gt;有什麼區別標籤和lt; em&gt;,&lt; i&gt;標籤?Apr 28, 2025 pm 05:42 PM

本文討論了HTML標籤,和和關注其語義與表現用途及其對SEO和可訪問性的影響之間的差異。

請說明如何指示HTML中文檔使用的字符集?請說明如何指示HTML中文檔使用的字符集?Apr 28, 2025 pm 05:41 PM

文章討論了在HTML中指定字符,重點介紹了UTF-8。主要問題:確保正確顯示文本,防止亂七八糟的字符,並增強SEO和可訪問性。

HTML中的各種格式標籤是什麼?HTML中的各種格式標籤是什麼?Apr 28, 2025 pm 05:39 PM

本文討論了用於構建和造型Web內容的各種HTML格式標籤,強調了它們對文本外觀的影響以及語義標籤對可訪問性和SEO的重要性。

HTML元素的' ID”屬性與'類”屬性之間有什麼區別?HTML元素的' ID”屬性與'類”屬性之間有什麼區別?Apr 28, 2025 pm 05:39 PM

本文討論了HTML的“ ID”和“類”屬性之間的差異,重點是它們的獨特性,目的,CSS語法和特異性。它解釋了它們的使用如何影響網頁樣式和功能,並為

HTML中的'類”屬性是什麼?HTML中的'類”屬性是什麼?Apr 28, 2025 pm 05:37 PM

本文解釋了HTML“類”屬性在分組樣式和JavaScript操縱元素中的作用,將其與唯一的“ ID”屬性進行對比。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器