您好,登錄后才能下訂單哦!
本篇文章為大家展示了XML對(duì)代碼中的空白處理詳細(xì)介紹,代碼簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
這篇文章主要介紹了XML對(duì)代碼中的空白處理,文中介紹到了XML書寫中的有效空白與無效空白的區(qū)分,需要的朋友可以參考下
1、在XML規(guī)范中,空白包括空格,制表符和空行。在編輯XML文檔時(shí),我們常常使用空白來分隔標(biāo)記,以獲得較好的可讀性,然而在交互的空白文檔中,這些空白就不需要了,但有時(shí)候又需要保留這些空白。例如,詩歌和程序代碼中的空白,
2、XML處理器總是將文檔中不是標(biāo)記的所有字符都傳遞給應(yīng)用程序,一個(gè)進(jìn)行有效性驗(yàn)證的XML處理器會(huì)通知應(yīng)用程序這些字符中的哪一些組成了出現(xiàn)在元素內(nèi)容中的空白。
3、在XML文檔中,可以在元素中使用一個(gè)特殊的屬性xml:space,來通知應(yīng)用程序保留此元素中的空白。
4、在有效的文檔中,這個(gè)屬性和其它任何屬性一樣,在使用時(shí)必須聲明。Xml:space屬性必須被聲明為Enumerated(枚舉)類型,它的值必須是“default”和“preserve”兩者之一,也可兩個(gè)都取。
例如:
<!ATTLIST poem xml:space (default preserve)’preserve’>
意思是在poem這個(gè)元素上聲明xml:space這個(gè)屬性,它的類型是枚舉類型,可以取值“default”和“preserve”,且這個(gè)屬性的默認(rèn)值是preserve’
<!ATTLIST pre xml:space (preserve)#FIXED ‘preserve’>
意思是在元素pre這個(gè)元素上進(jìn)行聲明xml:space屬性,類型也是枚舉類型,但是它只有一個(gè)取值“preserve”,并且用FIXED這個(gè)關(guān)鍵字對(duì)這個(gè)屬性進(jìn)行了缺省聲明。聲明它有一個(gè)默寫的缺省值"default"表示對(duì)此元素使用應(yīng)用程序的缺省空白處理模式,‘preserve’指示應(yīng)用程序保留所有的空白.
5、如果一個(gè)元素使用了xml:space屬性,將適用于該元素內(nèi)容中的所有元素,除非被另一個(gè)xml:space屬性的實(shí)例所覆蓋。
XML 文檔包含兩種類型的空白 (a) 有效空白和 (b) 無效空白。下面的例子解釋了這兩種類型的空白。
有效空白
有效空白通常出現(xiàn)在在元素同時(shí)包含文本和標(biāo)記時(shí)。例如:
<name>TanmayPatil</name>
和
<name>Tanmay Patil</name>
上面的兩個(gè)元素是不同的,因?yàn)?Tanmay 和 Patil 之間的空白不一樣。任何程序讀取 XML 文件中的這種元素時(shí)都必須保持它們的區(qū)別。
無效空白
無效空白意味著只允許在元素內(nèi)容中出現(xiàn)。例如:
<address.categoryaddress.category="residence">
或者
<address....categoryaddress....category="..residence">
上面兩個(gè)例子是一樣的。這里,我們通過點(diǎn)號(hào)(.)表示空白。在上面的例子中,address 和 category 之間的空白是無效的。
我們還給元素附加一個(gè)特殊的屬性 xml:space。這表示元素的空白不應(yīng)該由應(yīng)用程序移除。我們可以設(shè)置這個(gè)屬性為 default 或者 preserve。正如下面的例子所示:
<!ATTLIST address xml:space (default|preserve) 'preserve'>
這里:
值 default 表示這個(gè)元素可以接受應(yīng)用程序的默認(rèn)空白處理模式。
值 preserve 表示應(yīng)用程序會(huì)保護(hù)所有的空白。
上述內(nèi)容就是XML對(duì)代碼中的空白處理詳細(xì)介紹,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。