詳解XML代碼編寫的編碼與驗證問題

這篇文章主要介紹了XML代碼編寫的編碼與驗證問題,與HTML類似,XML文件的編碼也能在序言部分被指定,寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。

編碼

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

編碼類型

主要有兩種類型的編碼:
UTF-8
UTF-16
UTF 表示 UCS 轉換格式,而 UCS 本身的意義是通用字符集。編號 8 或者 16 表示呈現字符的比特數。它們是 8(一個字節)或者 16(兩個字節)。對於沒有編碼信息的文檔,默認使用 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 文檔進行驗證的過程。如果文檔內容與元素,屬性和關聯的文檔類型定義(DTD)匹配,以及文檔符合b表達的約束則該文檔被認爲是有效的。通過 XML 解析器處理驗證的方式有兩種。分別是:
格式良好的 XML 文檔
有效的 XML 文檔
格式良好的 XML 文檔
如果 XML 文檔遵守以下規則則被認爲是格式良好的。
沒有 DTD 的 XML 文檔必須使用預定義的字符實體處理 amp(&),apos(單引號),g(>),quot(雙引號)。
必須遵循標籤的順序,比如內部標籤必須在外部標籤閉合之前閉合。
每個開始標籤必須都有一個結束標籤或者必須是一個自閉合標籤(<title>...</title> 或者 <title />)。
在開始標籤中必須只能有一個屬性,並且需要使用引號包裹
在此我向大家推薦一個前端全棧開發交流圈:619586920 突破技術瓶頸,提升思維能力
除了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 都是一個自解釋正確閉合的標籤。
標籤的順序正確。

結語

感謝您的觀看,如有不足之處,歡迎批評指正。

獲取資料

本次給大家推薦一個免費的學習羣,裏面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q羣:619586920,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視頻資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章