2013-05-07 60 views
0

經過一段時間的研究XSLT後,我可以想象,與其他任何技術一樣,它可以很好地完成某些事情,但在其他情況下不適用。但是我一直無法找到太多突出的應用程序。什麼是XSLT的優勢和應用程序?

Why choose an XSL-transformation?似乎在某些領域有很多關於一般優點和缺點的文章,但問題更多集中在爲前端製作HTML。 XSLT的其他一些應用程序是什麼?它在過人之處XSLT的最好的應用程序。(A使用XSLT可能不自然明顯也將是一個加號)

XSLT 的一些明顯的優勢似乎是(和糾正我,如果我錯了它是一個強度):

  • 轉換XML文檔轉換成PDF文檔
  • 更改一個XML文檔的結構在飛行,以便它的另一個
  • 處理的視圖許多不同的模板結構相匹配在不同的設備上
  • 轉換XML文檔到導入文件數據庫
+0

在我最後的位置他們大量使用XSLT將XML轉換爲HTML。這項工作在10年前很有用,現在如果你有一個ASP.net MVC平臺,沒有理由這樣做。 – cgatian 2013-05-07 17:15:07

+0

使用XSL將XML轉換爲其他XML,尤其是混合內容XML或輸入和輸出類似的地方。對於其他任何東西都可能有更好的工具。 – 2013-05-07 17:16:56

+0

[XSLT Web框架的不錯選擇?]的可能重複(http://stackoverflow.com/questions/2854583/xslt-good-choice-for-web-framework) – newtover 2013-05-07 17:21:25

回答

2

這些是導致我使用我寫的大多數程序XSLT的優勢;你的情況可能有所不同

1 XML的更舒適的操控

因爲XSLT是從地上爬起來用於處理XML數據而設計,有些人發現它有XML比大多數傳統編程語言中的低阻抗失配;這對於XQuery也是如此。給定一個設計合理的XML輸入,通常(有些人會說幾乎總是)使用XSLT比使用其他語言更容易處理它(無論用途如何)。我懷疑,XML的許多認真用戶會以這種精神推廣XSLT的優勢列表,並且只要輸入數據是XML格式,就更喜歡XSLT(或XQuery)。在XSLT中生成XML也很容易,而許多使用其他語言編寫的程序員似乎發現生成格式良好的XML的過程容易出錯。

2聲明,函數式語言

XSLT是一種聲明,功能性語言,有着許多的語言在該類的強項。一些面向程序語言的程序員發現很難精確地挖掘它,因爲它是聲明性的和功能性的;非程序員發現XSLT比來自C或Java的程序員更容易學習的情況並不少見。 (一些程序員似乎覺得這是一個危險的經歷,這也許可以解釋一些他們展示給XSLT和XML的敵意的。)

3 XML語法

因爲XSLT樣式表是用XML編寫,很容易讓任何良好的現成XML編輯器提供出色的語法指導;我的經驗(值得一提的是)在使用XSLT寫作時,我幾乎沒有發生語法錯誤 - 與我在其他語言中的經歷形成鮮明對比 - ,並且當我犯一個錯字時,它立即顯而易見並且可以立即糾正。

當然,有些人一般喜歡XSLT,但是明確地指出其不喜歡的XML語法;它需要所有種類來創造一個世界。

4模板和控制

技術上的數據驅動的流動,XSLT的特徵在於其使用的模板和圖案上的輸入匹配,以控制執行的流程。這使編寫XSLT程序變得更加容易,這些XSLT程序在出現意外輸入或輸入格式演變時表現穩健,並且(與XSLT用於計算頂級樣式表和導入樣式表之間的模板優先級的規則相結合)更容易編寫添加的新程序少量的功能到現有的程序。

XSLT 1.0不太適合處理非XML數據;在XSLT 2.0中,這樣做更容易。

1

我喜歡XSLT有以下幾個原因:

  • 這是一個非常自然語言處理XML
  • 它的功能特性使它非常安全的語言來操作XML
  • 硬件加速的產品,如DataPower的化妝它是操縱XML的最快語言
  • 它確實是一種開源語言
相關問題