曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
種字體,可以這樣描述:
<TITLE style="font-style:italic">Significant Others</TITLE>
XML 實用大全
第 98 頁
這樣做可以在不改變文檔樹狀結構的情況下嵌入樣式信息。雖然最理想的方法是使用一個單獨的元素,但當不能在處理的標
記集里添加元素時,這個方案會給文檔作者更多的控制權。例如,一個站點的管理員需要使用某一特定的DTD,而且不希望
任何人修改該DTD。除此之外,還要允許他人對個別的頁面做微小的校正。使用這種方案時要有所節制,否則很快會發現自
己又陷入了HTML 的“地獄”中,使用XML 的本意是要避免這一“地獄”的。
使用屬性的最后一個原因是為了保持與HTML 的兼容性。甚至擴展到使用的標記,對于諸如<IMG>、<P>和<TD>看起來與HTML
相似的標記還是使用標準的HTML 屬性為好。這樣做有雙重好處,至少使傳統的瀏覽器能夠部分地分析和顯示你的文檔,而
且對于文檔的作者來說更熟悉這種方式。
XML 實用大全
第 99 頁
5.3 空標記
上一章中沒有屬性的方式是一種極端的情況,由此可能會想到另一個極端——將所有的信息全部存儲在屬性中,而不是存儲
在內容中。通常不推薦使用這種方式。把信息全部存儲在元素內容中同樣也是極端的,只是實際處理起來更容易。這一節考
慮僅使用屬性來說明的可能性。
只要元素中沒有內容,就可以使用空標記來簡化?梢灾话粋空標記而不是一個起始標記和一個終止標記?諛擞浥c起
始標記的區別在于結束標記使用“/>”而不是簡單的“>”。例如,不是<PLAYER></PLAYER>而是<PLAYER/>。
空標記可以包含屬性。例如,下面是關于Joe Girardi 的一個空標記,含有7 個屬性:
<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"
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2"/>
XML 句法分析器對空標記的處理與非空標記是一樣的。下面的PLAYER 元素與前面的空標記元素PLAYER 精確地說是等價的(盡
管不是完全一致):
<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"
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2"></PLAYER>
<PLAYER/>與<PLAYER></PLAYER>之間的不同只是句法表面的不同,而沒有別的不同。如果不喜歡空標記句法或者閱讀起來感
到困難,就不要使用它。
XML 實用大全
第 100 頁
5.4 XSL
如圖5-1 所示,屬性在文檔的XML 源視圖中是可見的。但是一旦把CSS 樣式單施加其上,屬性就會消失。圖5-3 顯示了清單
5-1 使用前面章節中棒球統計樣式單后的樣子。它看起來是一個空白文檔,因為CSS 樣式單僅適用于元素內容,而不適用于
屬性。在使用CSS 時,希望顯示給讀者的任何數據應當是元素內容的一部分,而不是它的屬性。
圖5-3 當CSS 施加于一個元素中不含任何字符數據的XML 文檔時顯示的空白文檔
但是,仍然有一種可選擇的樣式單語言能夠訪問并顯示屬性數據。這就是Extensible Style Language (XSL);Internet
Explorer 5.0 至少部分支持它。XSL 分為兩部分:變換部分和格式化部分。
XSL 替換部分能夠將一個標記替換為另一個標記。通過定義替換規則,使用標準的HTML 標記代替XML 標記或者使用HTML 標
記與CSS 屬性來替換XML 標記。同時還可以在文檔中重新安排元素和在XML 文檔中添加沒有出現過的附加內容。
XSL 格式化部分把功能強大的文檔視圖定義為頁面。XSL 格式化功能能夠指定頁面的外觀和編排,包括多個專欄、圍繞主題
的字數、行間距、相配的字體屬性等等。它的功能非常強大,足可以為網絡和打印自動處理來自于相同源文檔的編排任務。
例如,XSL 格式化允許包含有show times(在線播放)和廣告的XML 文檔生成本地報紙上電視節目單的打印及在線版本。但
是IE 5.0 和大多數其他工具還不支持XSL 格式化。因此,本節重點介紹XSL 變換。
XSL 格式化將在第15 章XSL 格式化對象中討論。
5.4.1 XSL 樣式單模板
每個XSL 樣式單包括一些模板,XML 文檔中的數據會注入其中。例如,某一模板如下所示:
<HTML>
XML 實用大全
第 101 頁
<HEAD>
<TITLE>
XSL Instructions to get the title
</TITLE>
</HEAD>
<H1>XSL Instructions to get the title </H1>
<BODY>
XSL Instructions to get the statistics
</BODY>
</HTML>
斜體部分將由特定的XSL 元素取代,這些元素把基本的XML 文檔中的數據復制到該模板中。該模板可用于許多不同的數據集。
例如,模板設計用于處理棒球示例,那么相同的樣式單能夠顯示不同賽季的統計。
這令人想起了用于HTML 的某種服務器端嵌入方案。事實上,這與服務器端嵌入方案極其類似。但是,XML 源文檔與XSL 樣
式單的實際變換發生在客戶端,而不是服務器端。而且輸出的文檔可以是任何一種結構完整的XML 文檔,不必是HTML 文檔。
XSL 指令能夠提取存儲于XML 文檔中的任何數據。包括元素內容、元素名稱和對我們的示例很重要的元素屬性。特定的元素
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(34)