1、XSL 是干什么的
XSL 指扩展样式表语言(EXtensible Stylesheet Language)。学习XSL 的原因是:存在着对于基于 XML 的样式表语言的需求。CSS = HTML 样式表,XSL = XML 样式表。
XSL -- 不仅仅是样式表语言。
XSL 包括三部分:
XSLT
一种用于转换 XML 文档的语言。
XPath
一种用于在 XML 文档中导航的语言。
XSL-FO
一种用于格式化 XML 文档的语言。
学习之前,需要需要对以下知识有基本的了解:
HTML / XHTML
XML / XML 命名空间
XPath
XSLT是XSL三部分中最为重要的部分。首先解释一下:XSLT是指XSL转换(XSL Transactions),它可以将一种xml文档转换成另外一种xml文档,我们利用XPath 在xml文档中进行导航。
XSLT将xml文档转换成另外一种xml文档,基本上都是用作将其转换为浏览器可以识别的(x)html文档。通过xslt我们可以控制在转换后的html中添加或者移除那些html元素的属性,隐藏或者显示哪些xml元素,或者对其进行排序。其实XSLT就是把xml源树转化为xml结果树。
XPath 被用来通过元素和属性在 XML 文档中进行导航,其工作原理:在转换过程中,XSLT 使用 XPath 来定义源文档中可匹配一个或多个预定义模板的部分。一旦匹配被找到,XSLT 就会把源文档的匹配部分转换为结果文档。
2. 浏览器支持
几乎所有主要的浏览器均支持 XML 和 XSLT。
Mozilla Firefox
从 1.0.2 版本开始,Firefox 就已开始支持 XML 和 XSLT(以及 CSS)。
Mozilla
Mozilla 含有用于 XML 解析的 Expat,并支持 XML + CSS。Mozilla 同样支持命名空间。
Mozilla 可执行 XSLT。
Netscape
从版本 8 开始,Netscape 就开始使用 Mozilla 引擎,所以它对 XML / XSLT 的支持与Mozilla是相同的。
Opera
从版本 9 开始,Opera 已开始支持 XML 和 XSLT(以及 CSS)。版本 8 仅支持 XML + CSS。
Internet Explorer
从版本 6 开始,Internet Explorer 已开始 XML、命名空间、CSS、XSLT 以及 XPath。
版本 5 不兼容官方的 W3C XSL 标准。