沒有接觸XSLT之前感覺到其很神秘,不過今天早上短短的一千字的一篇關於以XSLT的簡介讓我以XSLT有了新的認識。並且對我之前所確定的一條經驗總結有了一個新的例證,那就是:技術的發展趨勢是越來越簡單,並且這種發展大多是對在已有技術的拓展和繼承。
我對XSLT的認識就是只要你瞭解ASP,JSP那麼上手(不是高手)XSLT只是幾小時之內的事。而有些編程經驗則更是如此。
XSLT和XSL的關係就是:XSLT是XSL的功能子集。何謂功能子集?即XSL是多個功能的集合,而XSLT是這個XSL功能集的一個部分。
XSL的功能集包括:XML資料表達(XPath),XML數學式表達(據說這個難於手寫,一般也是通過軟體轉換來完成的,),XML資料格式轉換(XSLT)。
學習XSLT時需要注意以下問題:
1 並不是所有的網路瀏覽器都能很好支援XSLT這取決於此瀏覽器是否支援解析XSLT。
2 MS 的 IE 從版本6開始才比較完整的支援XSLT。IE5雖然支援,但它並不完全相容標準的XSLT。別的非IE核心瀏覽器我不常用不便給出結論。
3 在使用XSLT進行資料轉換時可以通過服務端,也可以通過用戶端。(後面我抄兩段例子貼上)
4 XSLT可以完成 XML->XHTML,XML->XML等的格式轉換。在轉換的過程中可以對來源資料變更,剪裁,添加。
5 XSLT支援的函數允許你在轉換的過程中以更簡單的方式實現預想的格式和功能。
程式碼片段:
1<%
2 'Load the XML
3 set xml = Server.CreateObject("Microsoft.XMLDOM")
4 xml.async = false
5 xml.load(Server.MapPath("cd_catalog.xml"))
6 'Load the XSL
7 set xsl = Server.CreateObject("Microsoft.XMLDOM")
8 xsl.async = false
9 xsl.load(Server.MapPath("cd_catalog.xsl"))
10 'Transform the file
11 Response.Write(xml.transformNode(xsl))
12 %>
13
通過伺服器端使用用XSLT轉換
1<html>
2 <body>
3 <script language="javascript">
4 // Load XML
5 var xml = new ActiveXObject("Microsoft.XMLDOM")
6 xml.async = false
7 xml.load("cd_catalog.xml")
8 // Load the XSL
9 var xsl = new ActiveXObject("Microsoft.XMLDOM")
10 xsl.async = false
11 xsl.load("cd_catalog.xsl")
12 // Transform
13 document.write(xml.transformNode(xsl))
14 </script>
15 </body>
16</html>
17
通過客戶瀏覽器端使用用XSLT轉換
*程式碼片段引自 http://xslt.org.cn/html/books/20070804/XSLjichujiaocheng_er__12.html