曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
語文本。
國(guó)際化字符集將在第7 章“外語和非羅馬文本”中討論。
一個(gè)XML 文檔的文本可有兩種用途,字符數(shù)據(jù)和置標(biāo)。字符數(shù)據(jù)是文檔的基本信息。另一方面,置標(biāo)主要描述一個(gè)文檔的邏
輯結(jié)構(gòu)。例如,回想一下第三章清單3-2 中的greeting.xml:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
</GREETING>
其中<?xml version="1.0" standalone="yes"?>,<GREETING>和</GREETING>是置標(biāo)。Hello XML!是字符數(shù)據(jù)。XML 比其他格
式優(yōu)越的一點(diǎn)是它把實(shí)際數(shù)據(jù)與置標(biāo)明顯地分隔開。
更確切地說,置標(biāo)包括所有的注釋、字符引用、實(shí)體引用、CDATA 段定界符、標(biāo)記、處理指令和DTD。其他的就是字符數(shù)據(jù)。
但是文檔被處理后,一些置標(biāo)會(huì)變成字符數(shù)據(jù)。例如,置標(biāo)>;變成了大于號(hào)(>)。文檔經(jīng)處理后留下的字符數(shù)據(jù)和所有
的代表特定字符的數(shù)據(jù)稱為可分析的字符數(shù)據(jù)。
6.2.1 注釋
XML 的注釋與HTML 的注釋很相似,它們以<!--開始,以-->結(jié)束。介于<!--和-->之間的全部數(shù)據(jù)均被XML 處理器忽略,就
像它們根本不存在一樣。注釋用于提醒自己或臨時(shí)標(biāo)注出文檔中不完善的部分。例如:
<?xml version="1.0" standalone="yes"?>
<!--This is Listing 3-2 from The XML Bible-—>
<GREETING>
Hello XML!
<!--Goodbye XML-->
</GREETING>
在使用注釋時(shí)必須遵循以下幾條規(guī)則,大致如下:
XML 實(shí)用大全
第 132 頁
1. 注釋不能出現(xiàn)在XML 聲明之前,XML 聲明必須是文檔最前面的部分。例如,下面這種情況是不允許的:
<!--This is Listing 3-2 from The XML Bible-->
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
<!--Goodbye XML-->
</GREETING>
2. 注釋不能放在標(biāo)記中,例如:下面這種情況是非法的:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
</GREETING <!--Goodbye--> >
3. 注釋可以包圍和隱藏標(biāo)記。在下面例子中,<antigreeting>標(biāo)記及其內(nèi)容被當(dāng)作注釋;而且文檔在瀏覽器中顯示時(shí)不會(huì)
出現(xiàn),好像不存在一樣:
<?xml version="1.0" standalone="yes"?>
<DOCUMENT>
<GREETING>
Hello XML!
</GREETING>
<!--
<ANTIGREETING>
Goodbye XML!
</ANTIGREETING>
-->
</DOCUMENT>
XML 實(shí)用大全
第 133 頁
由于注釋有效地刪除了文本的一些部分,必須保證剩余的文本仍然是一個(gè)結(jié)構(gòu)完整的XML 文檔。例如,在沒有注釋掉相應(yīng)的
結(jié)束標(biāo)記前千萬不要注釋掉起始標(biāo)記。例如,下面的語句是非法的:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
<!--
</GREETING>
-->
一旦刪除注釋文本,剩余的是:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
因?yàn)?lt;GREETING>標(biāo)記沒有與之匹配的結(jié)束標(biāo)記</GREETING>,這已經(jīng)不再是一個(gè)結(jié)構(gòu)完整的XML 文檔。
4. 兩個(gè)連字符號(hào)(--)除了作為注釋起始和結(jié)束標(biāo)記的一部分外,不能出現(xiàn)在該注釋中。例如,下面的是非法注釋:
<!--The red door--that is,the second one--was left open-->
這意味著不能像下面的語句這樣嵌套注釋:
<?xml version="1.0" standalone="yes"?>
<DOCUMENT>
<GREETING>
Hello XML!
</GREETING>
<!--
<ANTIGREETING>
<!--Goodbye XML!-->
</ANTIGREETING>
XML 實(shí)用大全
第 134 頁
-->
</DOCUMENT>
這也意味著如果注釋掉帶有表達(dá)式如i--或numberLeft--的C、Java 或者JavaScript 源代碼時(shí)就會(huì)出現(xiàn)問題。通常只要意
識(shí)到這個(gè)問題就不難解決。
6.2.2 實(shí)體引用
實(shí)體引用是指分析文檔時(shí)會(huì)被字符數(shù)據(jù)取代的置標(biāo)。XML 預(yù)先定義了5 個(gè)實(shí)體引用,列在表6-1 中。實(shí)體引用用于XML 文檔
中的特殊字符,否則這些字符將被解釋為置標(biāo)的組成部分。例如,實(shí)體引用<;代表小于號(hào)(<),否則會(huì)被解釋為一個(gè)標(biāo)
記的起始部分。
表6-1 XML 預(yù)定義的實(shí)體引用
實(shí)體引用 字 符
& &
< <
> >
" "
'
XML 中的實(shí)體引用與HTML 中不同,必須以一個(gè)分號(hào)結(jié)束。因此>是正確的實(shí)體引用寫法,> 是不正確的。
未經(jīng)處理的小于號(hào)(<)同表示“和”的符號(hào)(&)在一般的XML 文本中往往被分別解釋為起始標(biāo)記和實(shí)體引用(特殊文本是
指CDATA 段,將在后面討論)。因此,小于號(hào)同“和”號(hào)必須分別編碼為<和&。例如,短語“Ben & Jerry s New York
Super Fudge Chunk Ice Cream”應(yīng)當(dāng)寫成Ben &Jerry s New York Super Fudge Chunk Ice Cream 。
大于號(hào)、雙引號(hào)和撇號(hào)在它們可能會(huì)被解釋成為置標(biāo)的一部分時(shí)也必須編碼。但是,養(yǎng)成全部編碼的習(xí)慣要比努力推測(cè)一個(gè)
特定的應(yīng)用是否會(huì)被解釋為置標(biāo)容易得多。
實(shí)體引用也能用于屬性值中。例如:
<PARAM NAME="joke" VALUE="The diner said,
"e;Waiter,There's a fly in my soup!"e;">
</PARAM>
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(42)