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