百科解釋
XSL 之于 XML ,就像 CSS 之于 HTML。它是指可擴(kuò)展樣式表語言 (EXtensible Style Language)。這是一種用于以可讀格式呈現(xiàn) XML 數(shù)據(jù)的語言。XSL 實(shí)際上包含兩個部分: * 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)簽的意義是為了方便用戶(而不是計算機(jī))理解。 XSLT 還可以對 XML 樹進(jìn)行下列操作: * 添加和刪除元素 * 添加和刪除屬性 * 對元素進(jìn)行重新排列或排序 * 隱藏或顯示某些元素 * 查找或選擇特定元素 XSL 語法 您可能還記得 XML 概述文章中提到過,所有 XML 文檔都是以 XML 聲明開頭。XSL 樣式表也是一樣。任何 XSL 文檔的第一行實(shí)際上都是 XML 聲明: <?xml version="1.0" encoding="ISO-8859-1"?> XSL 是否與 XML 相同? 既是又不是。說是,是因為它們遵循相同的語法規(guī)則(只有少許差異,下面我將會講到)。說不是,是因為它們的用途不同:XML 用于承載數(shù)據(jù),而 XSL 則用于設(shè)置數(shù)據(jù)的格式。 在 XML 聲明之后,就是 XSL 聲明,例如: <xsl:stylesheet> 或 <xsl:transform> 但是,在大多數(shù)實(shí)際情況下,XSL 聲明看起來要稍微復(fù)雜一些: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 這是因為,根據(jù) W3C 聯(lián)盟的建議,它還包含命名空間和 XSL 規(guī)范的版本。 XSL 聲明與 XML 聲明的不同之處在于,XML 聲明只寫一行,而且沒有結(jié)束標(biāo)簽,而 XSL 聲明必須包含結(jié)束標(biāo)簽,該標(biāo)簽表示 XSL 樣式表結(jié)束: </xsl:stylesheet> 請注意,這并不與 XML 語法規(guī)則沖突:XSL 樣式表是完全有效的 XML 文檔,因為它有一個根元素,由 <xsl:stylesheet> 標(biāo)簽指定。 在什么情況下應(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é)點(diǎn),然后應(yīng)用相應(yīng)的規(guī)則。因此,它不具備大多數(shù)編程語言的計算能力。例如,XSL 無法在運(yùn)行時更改變量的值。它不應(yīng)該用于從使用復(fù)雜公式的動態(tài)數(shù)據(jù)源(例如在線商店)來計算值。Web 編程語言更適于此用途。 XSL 不能代替或補(bǔ)充 CSS。它不應(yīng)(也不能)用于設(shè)置 HTML 的樣式。但是,您可以將其用于需要頻繁重新設(shè)計可視化效果、頻繁更換布局以及以靈活格式處理數(shù)據(jù)的網(wǎng)站。 XSL 不是內(nèi)容管理工具。它不應(yīng)(也不能)用于更改 XML 文檔的內(nèi)容或者編輯信息。但是,您可以將 XML 和 XSL 用于需要處理幾種不同格式文檔的內(nèi)容管理系統(tǒng)。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助