淺談XML代碼編寫的編碼與驗證問題

編碼
編碼就是轉(zhuǎn)換 Unicode 字符為等價二進制表示的過程。XML 處理程序讀取一個 XML 文檔時,它依賴于編碼類型來編碼文檔。因此,我們需要在 XML 聲明中指定編碼類型。
編碼類型
主要有兩種類型的編碼:
UTF-8
UTF-16
UTF 表示 UCS 轉(zhuǎn)換格式,而 UCS 本身的意義是通用字符集。編號 8 或者 16 表示呈現(xiàn)字符的比特數(shù)。它們是 8(一個字節(jié))或者 16(兩個字節(jié))。對于沒有編碼信息的文檔,默認使用 UTF-8。
語法
編碼信息包含在 XML 文檔的序言部分。UTF-8 編碼的語法如下:
- <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
UTF-16 編碼語法如下:
- <?xml version="1.0" encoding="UTF-16" standalone="no" ?>
示例
下面的例子展示了編碼聲明:
- <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <contact-info>
- <name>Tanmay Patil</name>
- <company>TutorialsPoint</company>
- <phone>(011) 123-4567</phone>
- </contact-info>
在上面的 encoding="UTF-8" 示例中,指定使用 8 位表示字符。要使用 16 為表示字符,可以使用 UTF-16 編碼。
使用 UTF-8 編碼的 XML 文件尺寸比 UTF-16 格式的文件更小。
驗證
驗證 就是對 XML 文檔進行驗證的過程。如果文檔內(nèi)容與元素,屬性和關(guān)聯(lián)的文檔類型定義(DTD)匹配,以及文檔符合b表達的約束則該文檔被認為是有效的。通過 XML 解析器處理驗證的方式有兩種。分別是:
格式良好的 XML 文檔
有效的 XML 文檔
格式良好的 XML 文檔
如果 XML 文檔遵守以下規(guī)則則被認為是格式良好的。
沒有 DTD 的 XML 文檔必須使用預定義的字符實體處理 amp(&),apos(單引號),g(>),quot(雙引號)。
必須遵循標簽的順序,比如內(nèi)部標簽必須在外部標簽閉合之前閉合。
每個開始標簽必須都有一個結(jié)束標簽或者必須是一個自閉合標簽(<title>...</title> 或者 <title />)。
在開始標簽中必須只能有一個屬性,并且需要使用引號包裹。
除了amp(&),apos(單引號),g(>),quot(雙引號)實體之外其他的必須先聲明再使用。
示例
下面是一個格式良好的 XML 文檔示例:
- <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!DOCTYPE address
- [
- <!ELEMENT address (name,company,phone)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT company (#PCDATA)>
- <!ELEMENT phone (#PCDATA)>
- ]>
- <address>
- <name>Tanmay Patil</name>
- <company>TutorialsPoint</company>
- <phone>(011) 123-4567</phone>
- </address>
上面的示例被認為是格式良好的,因為:
它定義了文檔類型。并且這里文檔類型是元素類型。
包含一個名為 address 的根元素。
每個子元素 name,company 和 phone 都是一個自解釋正確閉合的標簽。
標簽的順序正確。
相關(guān)文章
- 這篇文章主要介紹了XML中的處理指令,處理指令在XML中并不常用,稍作了解即可,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML對代碼中的空白處理,文中介紹到了XML書寫中的有效空白與無效空白的區(qū)分,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的字符實體與字符數(shù)據(jù),文中所說的CDATA片段即是指字符數(shù)據(jù)即不由解析器解析的文本塊,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了詳解XML中的代碼注釋書寫方法,文章中總結(jié)了注釋使用的一些注意點,比如XML不支持嵌套注釋等,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的屬性學習教程,包括使用屬性將數(shù)據(jù)存儲在子元素中的例子,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的標簽與元素的使用,是XML入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的文檔與聲明用法,是XML入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-04
- 這篇文章主要介紹了XML標記語言的基本概念及語法入門教程,XML同時也被廣泛用作標記數(shù)據(jù)來作為XML數(shù)據(jù)交換格式,需要的朋友可以參考下2016-02-04