HTML DOM與XML DOM的區別與聯絡探究(1)

來源:互聯網
上載者:User

這裡向大家描述一下HTML DOM與XML DOM的區別與聯絡,本文內容的主題便是,為什麼開發人員要認為“DOM Level1規範的架構”是至關重要的,其突出的重要性在哪裡等等,以及還有HTMLDOM和XML DOM之間微妙的區別及內在的聯絡。

大話HTML DOM與XML DOM的區別與聯絡

 W3C所制訂的DOM Level分為兩大模組:Core和HTML。第一個大模組是Core核心,W3C規範是這樣描述Core的:滿足軟體開發人員和Web指令碼編寫者,訪問和操控產品項目中包含的可解析的HTML和XML內容。

第二個HTML模組,規範描述為:HTML之中特定元素的功能,和恰到好處的、易用的、針對常見性任務的HTML文檔操作機制。

以上可見兩者的重要性。同時HTML模組的意義也在於,解決了向後相容的問題,這在當今符合DOM Level1的瀏覽器中已經可以提供適應的解決方案。

按照這樣的說法,如果您仍然不能理解上述的要義,我們則可以這樣認為,HTML文檔可以使用CoreAPI和HTMLAPI兩者;而XML文檔只能使用CoreAPI。換句話說,HTML與XML重疊的部分有CoreAPI,而HTMLAPI則是不能共用的部分,顧名思義限於HTML文檔所使用。這是我們認識Core/HTML的初步認識。

理解DOM Level1 Core

理解DOM Level1Core之要義實質在於將Core看待成為許多節點Nodes)而組成的文檔Document),也就是說,此文檔結構中可允許存在著大量的條目項,其每一項都可理解為“節點”。討論該結構可以以兩個方面入手:一、一切皆是節點對象NodeObject,扁平化的角度去理解,flattenedview,乃適合於多態下的介面);二、每個對象繼承於基類節點,實現了節點的介面interface,OO繼承的角度去理解)。請觀察一下這段HTML:

 
  1. viewplaincopytoclipboardprint?  
  2. <dividdivid="myDiv"> 
  3. HelloWorld</div> 
  4. <dividdivid="myDiv">HelloWorld</div> 

這是一個閉合的div標籤。從DOM Level1的層面來分析可以有以下幾點內容:

◆標籤div可作為“節點對象NodeObject扁平化角度,前面已述)”,或者元素對象ElementOBject繼承的角度-元素繼承於Node)。

◆節點屬性id也可作為“節點對象NodeObject扁平化角度)”,或者屬性對象Attr.OBject繼承的角度-Attr繼承於Node)。

◆文本“Helloworld”也可作為“節點對象NodeObject扁平化角度)”,字串對象CharacterData對象繼承的角度-CharacterData繼承於Node),Text文字物件繼承的角度-Text繼承於CharacterData)。

稍微歸納一下,就是DOM1Core部分中一切皆是節點,節點以及其介面都可實現在每個對象身上從繼承的角度理解出發),實現了節點介面才可以有節點的屬性、方法。——這是我們理解的前提。然後,根據特定的節點類型的不同,其介面的屬性和方法都是不同的,視乎DOM對該節點的設計而定。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.