国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
XML新增批注、處理指令與CDATA 區(qū)段
在本章中,你將學(xué)習(xí)如何加入三種XML 標(biāo)簽到文件中:批注、處理指令,與CDATA 區(qū)段。雖然這些項(xiàng)目在格式正確(或有效)的XML 文件中并不是必要的,但是它們擁有極大用處。你可以使用批注來讓文件更具可讀性,也可以使用處理指令來修改應(yīng)用軟件處理或顯示文件的方法。同時(shí)你也可以使用CDATA 區(qū)段來將字符的任何組合包含在元素的字符數(shù)據(jù)中。

加入批注

    如同你在第一章中學(xué)到的,XML 規(guī)格的第6 個(gè)目標(biāo)就是「XML 文件應(yīng)該是易讀的且合理清楚的」。雖然XML 處理器通常會(huì)忽略批注,但是適當(dāng)放置且具意義的批注可以大大增進(jìn)XML 文件的可讀性與清楚度,就像批注可以讓程序的原始碼如C 或BASIC 變得更容易了解。
    注意
    在Microsoft Internet Explorer 5 中,XML 處理器并不會(huì)將批注的文字解析成XML 卷標(biāo),也不會(huì)以任何其它方式來處理批注。然而,處理器讓批注的文字可以被HTML 網(wǎng)頁中的script 使用。在第九章中,你將學(xué)習(xí)如何使用script 來存取批注文字,就像使用XML 文件中其它的組件一樣。
    如果你將文件于瀏覽器中直接開啟,而且文件并沒有參照的樣式表,則Internet Explorer 5 會(huì)將所有的批注顯示于XML 文件中。

批注的型式

    批注以<!--字符起始,并以-->字符結(jié)束。在這兩個(gè)定義符號(hào)之間,你可以輸入任何想要的文字-除了雙連符號(hào)(--)之外。你甚至可以輸入被禁止的(<)與(&)符號(hào)。下面是一段合法批注的范例:
<!--Here you can type any text except a double hyphen. The <and &characters are OK!-->

你可以放置批注的位置

    你可以將批注放在XML 文件中標(biāo)簽之外的任何地方。換言之,你可以將它們放在文件的序文中:
<?xml version="1.0"?>
<!--Here is a comment in the prolog.-->
<DOCELEMENT>
This is a very simple XML document.
</DOCELEMENT>
    你可以將批注接在文件的元素之后:
<?xml version="1.0"?>
<DOCELEMENT>
This is a very simple XML document.
</DOCELEMENT>
<!--This comment follows the document element.-->
    而你也可以將批注放在文件的內(nèi)容中:
<?xml version="1.0"?>
<DOCELEMENT>
<!--This comment is part of the content of the root element.-->
This is a very simple XML document.
</DOCELEMENT>
    下面是一個(gè)違法的批注范例,因?yàn)榕⒈环旁跇?biāo)簽中:
<?xml version="1.0"?>
<DOCELEMENT <!--This is an ILLEGAL comment!-->>
This is a very simple XML document.
</DOCELEMENT>
    然而,你可以將批注放在文件型態(tài)宣告(DTD)中-雖然DTD 也是標(biāo)簽的一種-但只要批注不是位在DTD 里其它的標(biāo)簽中即可。你將在第五章學(xué)習(xí)DTD 的相關(guān)知識(shí)與如何將批注放在DTD中。

使用處理指令

    處理指令的目的是提供XML 處理器傳送給應(yīng)用軟件的信息。
注意
    回想第二章所介紹的,XML 處理器是一個(gè)讀取與儲(chǔ)存XML 文件內(nèi)容的軟件模塊。應(yīng)用軟件是一個(gè)個(gè)別的軟件模塊,負(fù)責(zé)從處理器取得文件的內(nèi)容并管理與顯示這些內(nèi)容。當(dāng)你在Internet Explorer 5 中顯示XML 時(shí),瀏覽器會(huì)提供XML 處理器與少部分的應(yīng)用軟件。(如果你撰寫script來管理與顯示XML 文件,你必須自己提供部分的應(yīng)用軟件)

處理指令的類型

    處理指令擁有下列一般類型:
<?target instruction ?>
    這里的target 是該指令被導(dǎo)引到的應(yīng)用軟件的名字。任何的名稱都可以,只要遵守下列規(guī)則即可:
    名字必須以字母或底線(_)開始,后面接著零或多個(gè)字母、數(shù)字、句點(diǎn)(.)、連字號(hào)(-),或底線(_)。
    名稱「xml」,不管是大寫字母或小寫字母組成的都會(huì)被保留。(如同你所見到的,你使用「xml」以小寫字母來代表文件的XML 宣告,這也是處理指令的一種。)
    而instruction 則是被傳送到應(yīng)用軟件的信息。它是由任何連續(xù)的字符組成,除了「?>」字符對(duì)以外(它被保留作終止處理指令用)。

如何使用處理指令

    你可以在XML 文件中使用的特殊處理指令是根據(jù)讀取文件的處理器而定。如果你使用Internet Explorer 5 當(dāng)作XML 處理器(如同本書中普遍使用的),你將發(fā)現(xiàn)處理器的兩個(gè)主要用途:
    你可以使用標(biāo)準(zhǔn)的、保留的處理指令來告訴Internet Explorer 5 如何處理或顯示文件。你在本書中見到的范例是處理指令告訴Internet Explorer 5 去使用特定樣式表來顯示文件。例如,下面的處理指令告訴Internet Explorer 5 使用Inventory01.css 的CSS 來顯示文件:
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
    如果你撰寫網(wǎng)頁的script 來處理與顯示XML 文件,你可以將任何非保留的處理指令加入到文件中,而且你的script 會(huì)讀取這些指令并做出適當(dāng)?shù)奶幚?。例如,你可能?huì)將下面的處理指令加到文件中來告訴你的script 要顯示的詳細(xì)程度:
<?MyScript detail="2" ?>
    在第九章中,你將學(xué)習(xí)如何使用script 來存取XML 文件中的組件,包括任何的處理指令。

你可以放置處理指令的地方

    你可以將處理指令加到XML 文件中標(biāo)簽以外的任何地方-意即,你可以將指令放在與放置批注相同的地方:在文件的序文中,后面接著文件元素,或者就放在元素的內(nèi)容中。下面是一份處理指令位在每一個(gè)合法位置的XML 文件:
<?xml version="1.0"?>
<!--The following is a processing instruction in the prolog:-->
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
<INVENTORY>
<BOOK>
<!--Here ‘s a processing instruction within an
element ‘s content:-->
<?ScriptA emphasize="yes" ?>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
</INVENTORY>
<!--And here ‘s one following the document element:-->
<?ScriptA Category="books" Style="formal" ?>
    下面則是一個(gè)放在卷標(biāo)中的違法處理指令的范例:
<!--The following element contains an ILLEGAL
processing instruction:-->
<BOOK <?ScriptA emphasize="yes" ??>>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
    然而,你可以將處理指令放在文件型態(tài)定義(DTD)中-雖然DTD 也是一種卷標(biāo)-但是只要處理指令不是放在同樣位在DTD 中的其它標(biāo)簽之中即可。你將在第五章中學(xué)習(xí)有關(guān)DTD 的知識(shí),以及如何將處理指令放在DTD 中。

包含CDATA 區(qū)段

    如同你在第三章中學(xué)到的,你不能直接將(<)或(&)符號(hào)放置在元素內(nèi)容中的字符數(shù)據(jù)里。要避開這個(gè)限制的一種方法是使用字符參照(& #60;或& #38;)或預(yù)先定義的普通實(shí)體參照(& lt;或& amp;),如同你在第六章中將學(xué)到的。然而,如果你需要加入多個(gè)(<)或(&)字符,使用這些參照將變得不合適且會(huì)讓資料變得難以閱讀。在這種情況下,將包含限制字符的文字放置在CDATA 區(qū)段中將會(huì)比較容易完成工作。
    CDATA 區(qū)段的類型
    CDATA 區(qū)段以字符「<![CDATA[」開始,并以「]]>」字符結(jié)束。在這兩個(gè)定義符號(hào)之間,你可以輸入任何字符(包括「<」或「&」),除了「]]>」之外。(因?yàn)椋撟址麜?huì)被解釋成CDATA區(qū)段的結(jié)束。)所有位在CDATA 區(qū)段中的字符都被視為元素字符數(shù)據(jù)的字義 (literal) 部分,而不是XML 標(biāo)簽。
    下面是一個(gè)合法CDATA 區(qū)段的范例:
<![CDATA [
Here you can type any characters except two right brackets followed
by a greater-than symbol.
]]>
注意
    關(guān)鍵詞CDATA,就像其它你所見到的XML 關(guān)鍵詞,必須以大寫字母撰寫。
    如果你想包含一段原始碼或標(biāo)簽當(dāng)作被顯示在瀏覽器中元素的真實(shí)字符數(shù)據(jù)的一部份,你可以使用CDATA 區(qū)段來防止XML 解析器將「<」或「&」字符解釋成XML 卷標(biāo)。下面就是一個(gè)范例:
<A-SECTION>
The following is an example of a very simple HTML page:
<![CDATA[
<HTML>
<HEAD>
<TITLE>R.Jones &Sons</TITLE>
</HEAD>
<BODY>
<P>Welcome to our home page!</P>
</BODY>
</HTML>
]]>
</A-SECTION>
    例如,若沒有CDATA 區(qū)段,處理器會(huì)假設(shè)<HTML>是套迭的元素的起始部分,而不是A-SECTION 元素的字符數(shù)據(jù)的起始部分。
注意
    既然你可以直接將「<」與「&」字符加入CDATA 區(qū)段中,你就不必使用字符參照(& #60;與&)或預(yù)先定義的普通實(shí)體參照(& lt;與& amp;),筆者將在第六章中解釋字符參照與實(shí)體參照。事實(shí)上,如果你使用這類的參照,解析器會(huì)將參照中的每個(gè)字符照字面解釋,且不會(huì)更換掉含有「<」或「&」字符的參照。
    你可以放置CDATA 區(qū)段的地方
    你可以將CDATA 區(qū)段放置在字符數(shù)據(jù)可以出現(xiàn)的任何地方-也就是說,在元素的內(nèi)容中卻不在XML 標(biāo)簽中。下面是一個(gè)合法放置CDATA 區(qū)段的范例
<?xml version="1.0"?>
<MUSICAL>
<TITLE_PAGE>
<![CDATA[
<Oklahoma!>
By
Rogers &Hammerstein
]]>
</TITLE_PAGE>
<!--Other elements here...-->
</MUSICAL>
    顯示于下頁的錯(cuò)誤型式XML 文件包含了兩個(gè)違法的CDATA 區(qū)段。第一個(gè)不是在元素的內(nèi)容中。第二個(gè)則是位在文件元素的內(nèi)容之中,但卻不是在起始標(biāo)簽中。
<?xml version="1.0"?>
<![CDATA[ ILLEGAL::not within element content!]]>
<DOC_ELEMENT>
<SUB_ELEMENT <![CDATA[ ILLEGAL::inside of markup!]]>>
sub-element content...
</SUB_ELEMENT>
</DOC_ELEMENT>
注意
    CDATA 區(qū)段不能成巢狀套迭。亦即,你不能將一個(gè)CDATA 區(qū)段放到另一個(gè)區(qū)段中。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
js中CDATA的意義
xml特殊字符
Java:XML基本語法、DOM、SAX、JDOM、DOM4J綜合對(duì)比和代碼實(shí)戰(zhàn)
XML認(rèn)證教程,第 1 部分: XML簡(jiǎn)介
XML文件格式語法及DTD
學(xué)習(xí)Spring必學(xué)的Java基礎(chǔ)知識(shí)(4)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服