XSL XSLT XPath 是什麼

來源:互聯網
上載者:User
XSL

XSL 之於 XML ,就像 CSS 之於 HTML。它是指可延伸樣式表語言 (XSL) (EXtensible Stylesheet Language)。這是一種用於以可讀格式呈現 XML 資料的語言。XSL 實際上包含兩個部分:

* XSLT – 用於轉換 XML 文檔的語言

* XPath – 用於在 XML 文檔中導航的語言

XSLT 是指 XSL 轉換 (XSL Transformation),它是 XSL 最重要的部分。

XSLT 可以將 XML 文檔轉換為其它 XML 文檔、XHTML 輸出或簡單的文本。這通常是通過將每個 XML 元素轉換為 HTML 元素來完成的。由於 XML 標籤是使用者定義的,瀏覽器不知道如何解釋或呈現每個標籤,因此必須使用 XSL。XML 標籤的意義是為了方便使用者(而不是電腦)理解。

XSLT 還可以對 XML 樹進行下列操作:

* 添加和刪除元素

* 添加和刪除屬性

* 對元素進行重新排列或排序

* 隱藏或顯示某些元素

* 尋找或選擇特定元素

XSL 文法

您可能還記得 XML 概述文章中提到過,所有 XML 文檔都是以 XML 聲明開頭。XSL 樣式表也是一樣。任何 XSL 文檔的第一行實際上都是 XML 聲明:

<?xml version="1.0" encoding="ISO-8859-1"?>

XSL 是否與 XML 相同?

既是又不是。說是,是因為它們遵循相同的文法規則(只有少許差異,下面我將會講到)。說不是,是因為它們的用途不同:XML 用於承載資料,而 XSL 則用於設定資料的格式。

在 XML 聲明之後,就是 XSL 聲明,例如:

<xsl:stylesheet>

<xsl:transform>

但是,在大多數實際情況下,XSL 聲明看起來要稍微複雜一些:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

這是因為,根據 W3C 同盟建議,它還包含命名空間和 XSL 規範的版本。

XSL 聲明與 XML 聲明的不同之處在於,XML 聲明唯寫一行,而且沒有結束標籤,而 XSL 聲明必須包含結束標籤,該標籤表示 XSL 樣式表結束:

</xsl:stylesheet>

請注意,這並不與 XML 文法規則衝突:XSL 樣式表是完全有效 XML 文檔,因為它有一個根項目,由 <xsl:stylesheet> 標籤指定。

在什麼情況下應該使用 XSL?

XSL 在設計時有幾個目標用途,這些用途使它成為某些開發情況下的完美解決方案,而對另一些開發情況則毫無用處。

XSL 專門用於處理 XML 文檔,並且遵循 XML 文法。因此,它只能在支援 XML 的應用程式中與 XML 結合使用。最合適使用 XML 和 XSL 的情況是:入口網站、新聞彙總器、社區網站或其它任何需要向各種裝置及大量用戶端提供資訊的 Web 應用程式。

XSLT 是一種基於模式比對的語言。它會尋找匹配特定條件的節點,然後應用相應的規則。因此,它不具備大多數程式設計語言的計算能力。例如,XSL 無法在運行時更改變數的值。它不應該用於從使用複雜公式的動態資料源(例如線上商店)來計算值。Web 程式設計語言更適於此用途。

XSL 不能代替或補充 CSS。它不應(也不能)用於設定 HTML 的樣式。但是,您可以將其用於需要頻繁重新設計視覺效果、頻繁更換布局以及以靈活格式處理資料的網站。

XSL 不是內容管理工具。它不應(也不能)用於更改 XML 文檔的內容或者編輯資訊。但是,您可以將 XML 和 XSL 用於需要處理幾種不同格式文檔的內容管理系統。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.