曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費(fèi)者
在的,這就是可擴(kuò)展的樣式語言(Extensible Style Language,簡寫為XSL)。
可擴(kuò)展的樣式語言(Extensible Style Language,XSL)將在第14、15 章中加以討論。
XML 實(shí)用大全
第 79 頁
CSS 比XSL 簡單,對(duì)于基本的Web 頁面來說,也更適合一些,而且也是更為直接的文檔。XSL 變得相當(dāng)復(fù)雜,但功能也更為
強(qiáng)大。XSL 是建立在我們已經(jīng)在上面學(xué)到的簡單的CSS 格式化的基礎(chǔ)之上的,但是也提供了將源文檔轉(zhuǎn)換為讀者可以查看的
不同形式的方法。在調(diào)試XML 時(shí),首先使用CSS 尋找問題,然后再轉(zhuǎn)到XSL,以便獲得更大的靈活性,這通常是不錯(cuò)的主意。
XML 實(shí)用大全
第 80 頁
4.5 本章小結(jié)
在本章中,讀者看到了幾個(gè)展示如何從頭創(chuàng)建XML 文檔的示例。我們特別學(xué)到了如下內(nèi)容:
• 如何檢查包括在XML 文件中的數(shù)據(jù),以便標(biāo)識(shí)元素。
• 如何用自己定義的XML 標(biāo)記來標(biāo)記數(shù)據(jù)。
• XML 格式所提供的比傳統(tǒng)格式的優(yōu)越性。
• 如何編寫樣式單,使文檔格式化并顯示出來。
本章中充滿了枯燥的代碼。文檔是在沒有太多的細(xì)節(jié)的情況下編寫出來的。在下一章中,我們將要探討在XML 文檔中嵌入信
息的附加意義,包括特性、注釋和處理指令,并看一看在XML 中用另一種對(duì)棒球統(tǒng)計(jì)數(shù)據(jù)編碼的方法。
XML 實(shí)用大全
第 81 頁
第5 章 屬性、空標(biāo)記和XSL
使用XML 對(duì)一組給定的數(shù)據(jù)進(jìn)行編碼,有很多種方法。但是沒有哪一種方法是唯一正確的,只是一些方法相較而言更可取,
在特定的應(yīng)用中更合適。本章采用前面章節(jié)中所用的棒球示例,仔細(xì)探討使用XML 創(chuàng)建棒球統(tǒng)計(jì)的不同方法。文中會(huì)特別強(qiáng)
調(diào)使用屬性存儲(chǔ)信息和使用空標(biāo)記定義元素位置。另外,鑒于CSS(級(jí)聯(lián)樣式單)對(duì)缺乏內(nèi)容的XML 元素執(zhí)行起來并不順利,
我們將檢驗(yàn)另一種功能更強(qiáng)大的樣式單語言——XSL。
本章內(nèi)容包括:
• 屬性
• 屬性與元素的對(duì)比
• 空標(biāo)記
• XSL
5.1 屬性
在上一章中,所有的數(shù)據(jù)可分為標(biāo)記名或者元素的內(nèi)容兩類。這種方法直接易懂,但不是唯一的。XML 元素與HTML 中的元
素一樣,有自己的屬性。元素的每個(gè)屬性是一個(gè)名稱-數(shù)值對(duì),名稱和數(shù)值分別為一個(gè)字符串,一個(gè)元素不能有兩個(gè)同名的
屬性。
大家都熟悉HTML 的屬性句法,請(qǐng)看下面的<IMG>標(biāo)記實(shí)例:
<IMG SRC=cup.gif WIDTH=89 HEIGHT=67 ALT="Cup of coffee">
該標(biāo)記有4 個(gè)屬性,SRC 屬性的值是cup.gif,WIDTH 屬性的值是89,HEIGHT 屬性的值是67,ALT 屬性的值是Cup of coffee。
然而,與HTML 不同,XML 中屬性的值必須加引號(hào),并且必須有與起始標(biāo)記匹配的終止標(biāo)記。上述標(biāo)記實(shí)例用XML 表示為:
<IMG SRC="IMAGE\cup.gif" WIDTH="89" HEIGHT="67" ALT="Cup of coffee">
</IMG>
HTML 與XML 的另一個(gè)不同點(diǎn)是:XML 沒有賦予IMG 標(biāo)記及其屬性任何特殊意義。特別是不能保證XML 瀏覽器會(huì)把
該標(biāo)記翻譯成裝載并顯示cup.gif 文件中的圖像的指令。
可以很容易將屬性句法應(yīng)用到棒球示例中,這樣會(huì)使標(biāo)記顯得簡潔明了。例如,我們可以用SEASON 元素中的一個(gè)YEAR 屬性
代替一個(gè)YEAR 子元素:
<SEASON YEAR="1998">
</SEASON>
另一方面,LEAGUE 應(yīng)當(dāng)是SEASON 的一個(gè)子元素而不是一個(gè)屬性。因?yàn)樵谝粋(gè)賽季中可能有兩個(gè)聯(lián)賽,而且子元素在任何時(shí)
候都有可能指代不同的事物。但是,一個(gè)元素的屬性名是不能重復(fù)的。因此,不能像下面的示例那樣編寫SEASON 元素。
XML 實(shí)用大全
第 82 頁
<SEASON YEAR="1998" LEAGUE="National" League="American">
</SEASON>
LEAGUE 確實(shí)是一個(gè)子元素而不是一個(gè)屬性的另一個(gè)原因是,它含有子結(jié)構(gòu),可進(jìn)一步分成多個(gè)DIVISION 元素,其屬性值是
無格式文本。XML 元素可對(duì)結(jié)構(gòu)方便地加以編碼,而屬性值卻不能。
聯(lián)賽名稱是無結(jié)構(gòu)的普通文本,每一個(gè)聯(lián)賽只有一個(gè)名稱,因此,LEAGUE 元素含有一個(gè)NAME 屬性,而不是一個(gè)LEAGUE_NAME
子元素:
<LEAGUE NAME="National League">
</LEAGUE>
由于屬性與元素的聯(lián)系比子元素更加緊密,上述的屬性名應(yīng)使用NAME,而不是LEAGUE_NAME,不會(huì)出錯(cuò)。各分部和球隊(duì)這些
子元素同樣有NAME 屬性,不必?fù)?dān)心與聯(lián)賽名混淆。一個(gè)標(biāo)記可以有多個(gè)屬性,只要這些屬性不同名即可。我們可以將各隊(duì)
所在的城市看作一個(gè)屬性,如下所示:
<LEAGUE NAME="American League">
<DIVISION NAME="East">
<TEAM NAME="Orioles" CITY="Baltimore"></TEAM>
<TEAM NAME="Red Sox" CITY="Boston"></TEAM>
<TEAM NAME="Yankees" CITY="New York"></TEAM>
<TEAM NAME="Devil Rays" CITY="Tampa Bay"></TEAM>
<TEAM NAME="Blue Jays" CITY="Toronto"></TEAM>
</DIVISION>
</LEAGUE>
如果把每一項(xiàng)統(tǒng)計(jì)選作一個(gè)屬性,一個(gè)隊(duì)員將包括許多屬性。下面的示例是用屬性表示的Joe Girardi 在1998 年的統(tǒng)計(jì)數(shù)
據(jù)。
<PLAYER GIVEN_NAME="Joe" SURNAME="Girardi"
GAMES="78" AT_BATS="254" RUNS="31" HITS="70"
DOUBLES="11" TRIPLES="4" HOME_RUNS="3"
RUNS_BATTED_IN="31" WALKS="14" STRUCK_OUT="38"
STOLEN_BASES="2" CAUGHT_STEALING="4"
XML 實(shí)用大全
第 83 頁
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2">
中國航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(29)