DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML與XSLT >> 淺談XML代碼編寫的編碼與驗證問題
淺談XML代碼編寫的編碼與驗證問題
編輯:XML與XSLT     

編碼

編碼就是轉換 Unicode 字符為等價二進制表示的過程。XML 處理程序讀取一個 XML 文檔時,它依賴於編碼類型來編碼文檔。因此,我們需要在 XML 聲明中指定編碼類型。

編碼類型
主要有兩種類型的編碼:

UTF-8
UTF-16
UTF 表示 UCS 轉換格式,而 UCS 本身的意義是通用字符集。編號 8 或者 16 表示呈現字符的比特數。它們是 8(一個字節)或者 16(兩個字節)。對於沒有編碼信息的文檔,默認使用 UTF-8。

語法
編碼信息包含在 XML 文檔的序言部分。UTF-8 編碼的語法如下:

XML/HTML Code復制內容到剪貼板
  1. <?xml version="1.0" encoding="UTF-8" standalone="no" ?>  

UTF-16 編碼語法如下:

XML/HTML Code復制內容到剪貼板
  1. <?xml version="1.0" encoding="UTF-16" standalone="no" ?>  

示例

下面的例子展示了編碼聲明:

XML/HTML Code復制內容到剪貼板
  1. <?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
  2. <contact-info>  
  3.     <name>Tanmay Patil</name>  
  4.     <company>TutorialsPoint</company>  
  5.     <phone>(011) 123-4567</phone>  
  6. </contact-info>  

在上面的 encoding="UTF-8" 示例中,指定使用 8 位表示字符。要使用 16 為表示字符,可以使用 UTF-16 編碼。

使用 UTF-8 編碼的 XML 文件尺寸比 UTF-16 格式的文件更小。

驗證

驗證 就是對 XML 文檔進行驗證的過程。如果文檔內容與元素,屬性和關聯的文檔類型定義(DTD)匹配,以及文檔符合b表達的約束則該文檔被認為是有效的。通過 XML 解析器處理驗證的方式有兩種。分別是:

格式良好的 XML 文檔
有效的 XML 文檔
格式良好的 XML 文檔
如果 XML 文檔遵守以下規則則被認為是格式良好的。

沒有 DTD 的 XML 文檔必須使用預定義的字符實體處理 amp(&),apos(單引號),g(>),quot(雙引號)。
必須遵循標簽的順序,比如內部標簽必須在外部標簽閉合之前閉合。
每個開始標簽必須都有一個結束標簽或者必須是一個自閉合標簽(<title>...</title> 或者 <title />)。
在開始標簽中必須只能有一個屬性,並且需要使用引號包裹。
除了amp(&),apos(單引號),g(>),quot(雙引號)實體之外其他的必須先聲明再使用。
示例

下面是一個格式良好的 XML 文檔示例:

XML/HTML Code復制內容到剪貼板
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
  2. <!DOCTYPE address   
  3. [   
  4. <!ELEMENT address (name,company,phone)>  
  5.     <!ELEMENT name (#PCDATA)>  
  6.     <!ELEMENT company (#PCDATA)>  
  7.     <!ELEMENT phone (#PCDATA)>  
  8. ]>  
  9. <address>  
  10.     <name>Tanmay Patil</name>  
  11.     <company>TutorialsPoint</company>  
  12.     <phone>(011) 123-4567</phone>  
  13. </address>  

上面的示例被認為是格式良好的,因為:

它定義了文檔類型。並且這裡文檔類型是元素類型。
包含一個名為 address 的根元素。
每個子元素 name,company 和 phone 都是一個自解釋正確閉合的標簽。
標簽的順序正確。

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