DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML與XSLT >> 深入解析XML中的字符實體與字符數據
深入解析XML中的字符實體與字符數據
編輯:XML與XSLT     

字符實體
在我們了解字符實體之前,先了解一下什麼是 XML 實體。

W3 聯盟 對實體的定義:文檔實體作為實體樹的根元素和 XML 處理程序的起點。


這意味著實體就是 XML 中的占位符。它們可以聲明在文檔序言或者DTD中。實體有不同的類型,本章後面會討論字符實體。

HTML 和 XML 都有一些符號被保留使用,它們不能在 XML 代碼中用作內容。例如,< 和 > 符號被用作 XML 標簽的開頭和結尾。要顯示這些特殊字符,就要使用字符實體。

有些特殊的字符或符號還不能直接使用鍵盤輸入。可以使用字符實體來顯示這些符號或特殊字符。

字符實體類型
有三種類型的字符實體:

預定義的字符實體。
編碼字符實體。
命名字符實體。
預定義的字符實體

引入它們是為了避免使用某些有歧義的符號。例如,當我們把小於(<)或大於(>)符號當尖括號(<>)使用時就會產生歧義。字符實體從根本上來說就是用來界定 XML 標簽的。下面是一個來自 XML 規范的預定義字符實體列表。它們可以用來表示某些字符而不帶歧義。

和號: &
單引號: '
大於: >
小於: <
雙引號: "
數字字符實體

數字引用被用來表示字符實體。數字引用可以是十進制或十六進制格式。由於有數以千記的數字引用,導致很難記住它們。數字引用通過使用字符在 Unicode 字符集中的編碼數值來表示。

十進制數字引用基本語法:

XML/HTML Code復制內容到剪貼板
  1. &# decimal number ;  

十六進制數字引用基本語法:

XML/HTML Code復制內容到剪貼板
  1. &#x Hexadecimal number ;  

下面的表格列出了一些預定義字符實體和它們對應的數值:

實體名稱 字符 十進制引用 十六進制引用 quot " &#34; &#x22; amp & &#38; &#x26; apos ' &#39; &#x27; lt &#60; &#x3C; gt > &#62; &#x3E;
命名字符實體

正如上面所說的,數值字符很難記住,最受歡迎的字符實體類型是命名字符實體。因為每個實體都用一個名稱標識。

例如:

'Aacute' 表示帶重音符的大寫 A 字符。
'ugrave' 表示帶沉音符的小寫 u。


CDATA 片段
術語 CDATA 就是字符數據。CDATA 被定義為不由解析器解析的文本塊,但它被公認為標記。

標記中預定義的實體比如 &lt;,&gt; 和 &amp; 需要手動輸入並且通常難以閱讀。這種情況下就可以使用 CDATA 片段。通過使用 CDATA 片段,我們可以告訴解析器文檔的特定部分不包含標記,應該被當做普通文本對待。

語法
下面是 CDATA 片段的語法:

XML/HTML Code復制內容到剪貼板
  1. <![CDATA[  
  2. characters with markup  
  3. ]]>  

上面的語法由三個部分組成:

CDATA 開始部分 - CDATA 以9個字符的分隔符<![CDATA[開頭。
CDATA 結束部分 - CDATA 以 ]]> 分隔符結尾。
CData 部分 - 上面這兩個標記之間的字符被解釋為字符而不是標記。這個部分可以包含標記字符(<,> 和 &),但是它們會被 XML 處理程序忽略。
示例

下面的標記代碼展示了 CDATA。其中寫在 CDATA 片段中的字符都會被解析器忽略。

XML/HTML Code復制內容到剪貼板
  1. <script>  
  2. <![CDATA[   
  3. <message> Welcome to TutorialsPoint </message>  
  4. ]] >  
  5. </script>  

在上述的語法中,<message> 和 </message> 之間的所有內容都會被當做字符數據而不是標記。

CDATA 規則
XML CDATA 需要遵循以下規則:

XML 文檔任何位置的 CDATA 都不能包含 "]]>" 字符。
CDATA 片段不可以嵌套。

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