2010-06-09 33 views
18

您在應用程序中如何將XML數據轉換爲其他數據類型?爲什麼?用於轉換數據的XQuery vs XSLT

+1

好問題:+1。看到我的答案,以獲得明智的意見。 – 2010-06-09 13:00:07

回答

13

儘管XQuery 可以使用進行簡單的轉換,但它缺乏XSLT的強大功能和特性(尤其是模板和指令)。

XSLT是一種專門用於處理樹結構的語言。這樣做仍然是最好的。

在訪問XML數據庫的情況下,使用XQuery的效率(效率)來提取必要的XML節點,然後從XSLT開始執行轉換是一個很好的決定。甚至現在,一些XSLT 2.x/XQuery處理器也允許這樣做(通過擴展)。下一波XSLT 2.x/XQuery 1.x規範很可能使這種互操作性成爲這些語言的官方功能。

-4

這取決於您需要什麼類型的「轉換」,XQuery允許您對XML數據執行查詢,有點像SQL。

XSLT允許您將樣式應用於XML,就像CSS使用HTML一樣。

+8

我完全不同意這樣一句話:「XSLT允許您在XML上應用樣式,就像CSS使用HTML一樣」。 XSLT並不是XML到CSS的HTML。 CSS告訴處理器如何顯示HTML。 XSLT用於將數據轉換爲其他內容。您可以使用XSLT將XML轉換爲HTML,以便處理器知道應該如何顯示數據,但處理器如何顯示結果HTML與XSLT無關。 – 2010-06-11 01:42:17

+0

XSLT比CSS複雜得多。藉助XSLT,您可以在輸出文件中添加/刪除元素和屬性。您還可以重新整理和排序元素,執行測試並決定要隱藏和顯示哪些元素等等。 – Premraj 2015-05-20 12:10:44

0

如果你看看Wikipedia Entry他們有一個比較兩個部分。

在我看來,我將XSLT看作是數據的可編程表示層。