XSL与XSLT
XSL consists of three parts:
XSLT - a language for transforming XML documents
XPath - a language for navigating in XML documents
XSL-FO - a language for formatting XML documents
XSLT stands for XSL Transformations
XSLT is the most important part of XSL
XSLT transforms an XML document into another XML document
XSLT uses XPath to navigate in XML documents
XSLT is a W3C Recommendation
XSLT is a language for transforming XML documents into XHTML documents or to other XML documents.
XPath is a language for navigating in XML documents.
以上是在W3C上的一些摘录,我的英文太差了,不敢翻译,但还是可以简单的意会的。
总之,XSL和XSLT在狭义上是一致的。
XSLT是XSL中最重要的一部分,
XSLT是一种用来转换XML文档结构的语言。
将XML转换为HTML,是目前XSLT最主要的功能。
CSS与XSLT
CSS同样可以格式化XML文档,但是它有严重的局限性,就是:
1. CSS不能重新排序文档中的元素;
2. CSS不能判断和控制哪个元素被显示,哪个不被显示;
3. CSS不能统计计算元素中的数据;
所以,CSS适合用于静态文档。而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。因此,我们常常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。可以减少响应时间。
实践
XSLT的主要用途就是数据转换应用。
具体实践一下XSLT是如何对XML进行样式转化的。
blog.xml
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
blog.xsl
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
用IE打开blog.xml,显示如下:
BLOGS LIST
BLOG NAME:久城的学习室
AUTHOR:久城
BLOG URL:http://www.blogjava.net/realsmy
BLOG NAME:BeanSoft's Java Blog
AUTHOR:BeanSoft
BLOG URL:http://www.blogjava.net/beansoft
关于XSLT的语法
参考:http://www.w3schools.com/xsl/default.asp
很好的教程。
后记
XML通过XSLT的转换,完全能够实现HTML的显示效果,同时又做到了数据与显示的分离。这让我想到了应用方面。
我能想到的,一方面是一些共同的数据可以直接通过在客户端访问XML文件,XML文件再通过不同的XSLT转换成不同的显示效果显示在页面上,无意中发现CSDN社区的每一个帖子就是一个XML文件,可以继续参考学习一下。
另一方面,由HTML页面通过脚本(Script)语言访问xml文件和xsl文件,在用脚本语言进行转换处理,输出在HTML页面上。如果脚本应用JavaScript脚本,那不就是JavaScript和XML的技术应用吗?难道就是传说中的AJAX?!从来没有应用过AJAX,只听说过用AJAX实现异步数据传递。
哈哈,突然有了冲动,下一个目标,学习一下AJAX。