XSL 語言
它起始於 XSL,結束於 XSLT、XPath以及XSL-FO。
起始於 XSL
全球資訊網聯盟(W3C)開始發展 XSL 的原因是:存在著對於基於 XML 的樣式表語言的需求。
CSS = HTML 樣式表
HTML使用預先定義的標籤,每個標籤的意義 很容易被理解。
HTML 中的
清楚如何顯示它向 HTML 元素添加樣式是很容易的。通過 CSS,很容易告知瀏覽器用特定的字型或顏色顯示一個元素。
XSL = XML 樣式表
XML 不使用預先定義的標籤(我們可以使用任何喜歡的標籤名),並且每個標籤的意義 並不都那么容易被理解。
不清楚如何顯示它XSL 可描述如何來顯示 XML 文檔!
XSL - 不僅僅是樣式表語言
XSL 包括三部分:
• XSLT - 一種用於轉換 XML 文檔的語言。
• XPath - 一種用於在 XML 文檔中導航的語言。
• XSL-FO - 一種用於格式化 XML 文檔的語言。
簡介
XSL 之於XML,就像CSS之於HTML。它是指可擴展樣式表語言 (EXtensible Stylesheet Language)。這是一種用於以可讀格式呈現 XML 數據的語言。
XSL是一種標記語言,表示如何將XML文檔的內容轉換成另一種形式的文檔。
通過為XML寫XSL來使得XML顯示成不同的格式。例如,在為保險公司描述一輛或更多汽車特徵的XML頁上,一套開關標記可能含有汽車製造商的名字。使用XSL,可告知網路瀏覽器應該顯示汽車製造商的名字以及在網頁何處以粗體顯示。XSL基於並擴展了文檔風格語義和規範語言(DSSSL)以及層疊樣式表版本1(CSS1)標準。 XML頁類似於HTML頁,但是它的識別域包含數據而不是文本和圖像。XSL向開發者提供一個工具,用於精確描述XML檔案中需要顯示的數據域以及在何處如何顯示。與其它樣式表語言一樣,XSL可用於為XML檔案創建樣式定義或者被許多其它XML檔案重新利用。
XSL由網際網路聯盟(W3C)贊助開發,正處於工作草案階段。
XSL 實際上包含兩個部分:
• XSLT – 用於轉換 XML 文檔的語言
• XPath – 用於在 XML 文檔中導航的語言
XSLT 是指 XSL 轉換 (XSL Transformation),它是 XSL 最重要的部分。
XSLT 可以將 XML 文檔轉換為其它 XML 文檔、XHTML 輸出或簡單的文本。這通常是通過將每個 XML元素轉換為 HTML 元素來完成的。由於 XML 標籤是用戶定義的,瀏覽器不知道如何解釋或呈現每個標籤,因此必須使用 XSL。XML 標籤的意義是為了方便用戶(而不是計算機)理解。
XSLT 還可以對 XML 樹進行下列操作:
• 添加和刪除元素
• 添加和刪除屬性
• 對元素進行重新排列或排序
• 隱藏或顯示某些元素
• 查找或選擇特定元素
語法
您可能還記得 XML 概述文章中提到過,所有 XML 文檔都是以 XML 聲明開頭。XSL 樣式表也是一樣。任何 XSL 文檔的第一行實際上都是 XML 聲明:
XSL 是否與 XML 相同
既是又不是。說是,是因為它們遵循相同的語法規則(只有少許差異,下面我將會講到)。說不是,是因為它們的用途不同:XML 用於承載數據,而 XSL 則用於設定數據的格式。
在 XML 聲明之後,就是 XSL 聲明,例如:
或
但是,在大多數實際情況下,XSL 聲明看起來要稍微複雜一些: