詞語解釋
XSL 之于 XML ,就像 CSS 之于 HTML。它是指可擴展樣式表語言 (EXtensible Style Language)。這是一種用于以可讀格式呈現(xiàn) XML 數(shù)據(jù)的語言。XSL 實際上包含兩個部分:
* XSLT – 用于轉(zhuǎn)換 XML 文檔的語言
* XPath – 用于在 XML 文檔中導(dǎo)航的語言
XSLT 是指 XSL 轉(zhuǎn)換 (XSL Transformation),它是 XSL 最重要的部分。
XSLT 可以將 XML 文檔轉(zhuǎn)換為其它 XML 文檔、XHTML 輸出或簡單的文本。這通常是通過將每個 XML 元素轉(zhuǎn)換為 HTML 元素來完成的。由于 XML 標(biāo)簽是用戶定義的,瀏覽器不知道如何解釋或呈現(xiàn)每個標(biāo)簽,因此必須使用 XSL。XML 標(biāo)簽的意義是為了方便用戶(而不是計算機)理解。
XSLT 還可以對 XML 樹進行下列操作:
* 添加和刪除元素
* 添加和刪除屬性
* 對元素進行重新排列或排序
* 隱藏或顯示某些元素
* 查找或選擇特定元素
XSL 語法
您可能還記得 XML 概述文章中提到過,所有 XML 文檔都是以 XML 聲明開頭。XSL 樣式表也是一樣。任何 XSL 文檔的第一行實際上都是 XML 聲明:
XSL 是否與 XML 相同?
既是又不是。說是,是因為它們遵循相同的語法規(guī)則(只有少許差異,下面我將會講到)。說不是,是因為它們的用途不同:XML 用于承載數(shù)據(jù),而 XSL 則用于設(shè)置數(shù)據(jù)的格式。
在 XML 聲明之后,就是 XSL 聲明,例如:
或
但是,在大多數(shù)實際情況下,XSL 聲明看起來要稍微復(fù)雜一些:
這是因為,根據(jù) W3C 聯(lián)盟的建議,它還包含命名空間和 XSL 規(guī)范的版本。
XSL 聲明與 XML 聲明的不同之處在于,XML 聲明只寫一行,而且沒有結(jié)束標(biāo)簽,而 XSL 聲明必須包含結(jié)束標(biāo)簽,該標(biāo)簽表示 XSL 樣式表結(jié)束:
請注意,這并不與 XML 語法規(guī)則沖突:XSL 樣式表是完全有效的 XML 文檔,因為它有一個根元素,由
在什么情況下應(yīng)該使用 XSL?
XSL 在設(shè)計時有幾個目標(biāo)用途,這些用途使它成為某些開發(fā)情況下的完美解決方案,而對另一些開發(fā)情況則毫無用處。
XSL 專門用于處理 XML 文檔,并且遵循 XML 語法。因此,它只能在支持 XML 的應(yīng)用程序中與 XML 結(jié)合使用。最合適使用 XML 和 XSL 的情況是:Web 門戶、新聞聚合器、社區(qū)網(wǎng)站或其它任何需要向各種設(shè)備及大量客戶端提供信息的 Web 應(yīng)用程序。
XSLT 是一種基于模式匹配的語言。它會查找匹配特定條件的節(jié)點,然后應(yīng)用相應(yīng)的規(guī)則。因此,它不具備大多數(shù)編程語言的計算能力。例如,XSL 無法在運行時更改變量的值。它不應(yīng)該用于從使用復(fù)雜公式的動態(tài)數(shù)據(jù)源(例如在線商店)來計算值。Web 編程語言更適于此用途。
XSL 不能代替或補充 CSS。它不應(yīng)(也不能)用于設(shè)置 HTML 的樣式。但是,您可以將其用于需要頻繁重新設(shè)計可視化效果、頻繁更換布局以及以靈活格式處理數(shù)據(jù)的網(wǎng)站。
XSL 不是內(nèi)容管理工具。它不應(yīng)(也不能)用于更改 XML 文檔的內(nèi)容或者編輯信息。但是,您可以將 XML 和 XSL 用于需要處理幾種不同格式文檔的內(nèi)容管理系統(tǒng)。
掃碼付費即可復(fù)制
X統(tǒng)一通訊 | RCCP | 系統(tǒng)識別 | 線速 | H.235 | ATM適配層2 | RBOC | 亞音頻 | 項立剛 | 光纜設(shè)備 | 目標(biāo)數(shù)據(jù)庫 | lte?/a> |