XML CH8 課後複習

 <內容取自XML How to program>  <建立XML相關觀念>  

Ch8 文件物件模組(Document Object Model, DOM) 

 

    當被解析時,XML文件是以階級組織的樹狀結構在記憶體中呈現,這個樹狀結構包含了文件的元素、屬性、內容等。XML是被設計為一個動態的科技一個程式設計者可以調整樹狀結構的內容,其允許程式設計者可以增加、移除、查詢資料等等,就形式上來說是類似資料庫的作法。

    W3C提供一個標準的推薦書,此是為了在記憶體中建立一個XML文件的樹狀結構,我們稱之為XML文件物件模組(XML Document Object ModelDOM),任何可以支援此推薦書的解析器稱之為以DOM為基礎之解析器(DOM-based parser

    一個以DOM為基礎我們稱之為DOM Application Programming Interface(API)的解析器,使得程式庫可以使用。藉著處理DOM樹的節點,允許在XML文件中的資料,可以被存取以及修正。API適用於多種不同的程式語言中。

    DOM為基礎的解析器被寫成各種的程式語言,且都是免費給予下載的,有很多工具(例如 Internet Explorer 5)都有內建的解析器。

    內文節點的值使是它所包含的內容,元素節點值可以空值(null)(也就是缺少值)且屬性節點之值是屬性值。

    Document物件表示在記憶體中的XML文件最上層的節點,並且提供建立節點和取得節點的方法。

    Text介面呈現一個元素或是屬性的字元資料。

    由於預設值的關係,當文件不能符合DTD時,JAXP並不會丟出任何的例外,所以程式設計者必須提供一個錯誤處理,這裡使用方法setErrorHandler來登記這些錯誤。

    ErrorHandler對於無可挽回的錯誤(也就是違反XML1.0規格說明的錯誤,解析會終止),一般錯誤(例如違反限制,但不會停止解析過程的),和警告(也就是不能歸類為無可挽回錯誤或是錯誤,並且不會終止解析過程的),分別提供fatalErrorerrorwaring三種方法。