没有接触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支持的函数允许你在转换的过程中以更简单的方式实现预想的格式和功能。
代码段:
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转换
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