元素意味着一个HTML表格,一件家具,或是别的什么东西-浏览器不清楚如何显示它。XSL可描述如何来显示XML文档!
XSL-不仅仅是样式表语言
XSL包括三部分:
XSLT
一种用于转换XML文档的语言。
XPath
一种用于在XML文档中导航的语言。
XSL-FO
一种用于格式化XML文档的语言。
本教程的主要内容是XSLT
本教程的其余部分是XSLT-用来转换XML文档的语言。
你也可以学习我们的《XPath教程》和《XSL-FO教程》。
XSLT简介
∙PreviousPage
∙NextPage
XSLT是一种用于将XML文档转换为XHTML文档或其他XML文档的语言。
XPath是一种用于在XML文档中进行导航的语言。
学习之前,您需要具备的基础知识:
在您继续学习之前,需要对以下知识有基本的了解:
∙HTML/XHTML
∙XML/XML命名空间
∙XPath
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
什么是XSLT?
∙XSLT指XSL转换(XSLTransformations)。
∙XSLT是XSL中最重要的部分。
∙XSLT可将一种XML文档转换为另外一种XML文档。
∙XSLT使用XPath在XML文档中进行导航。
∙XPath是一个W3C标准。
XSLT=XSL转换
XSLT是XSL中最重要的部分。
XSLT用于将一种XML文档转换为另外一种XML文档,或者可被浏览器识别的其他类型的文档,比如HTML和XHTML。
通常,XSLT是通过把每个XML元素转换为(X)HTML元素来完成这项工作的。
通过XSLT,您可以向或者从输出文件添加或移除元素和属性。
您也可重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。
描述转化过程的一种通常的说法是,XSLT把XML源树转换为XML结果树。
XSLT使用XPath
XSLT使用XPath在XML文档中查找信息。
XPath被用来通过元素和属性在XML文档中进行导航。
如果您希望首先学习XPath,请访问我们的 XPath教程。
它如何工作?
在转换过程中,XSLT使用XPath来定义源文档中可匹配一个或多个预定义模板的部分。
一旦匹配被找到,XSLT就会把源文档的匹配部分转换为结果文档。
XSLT是W3C标准
XSLT在1999年11月16日被确立为W3C标准。
如需更多有关W3C的XSLT活动的信息,请访问我们的 W3C教程。
XSLT浏览器
∙PreviousPage
∙NextPage
几乎所有主要的浏览器均支持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标准。
XSLT-转换
∙PreviousPage
∙NextPage
实例研究:
如何使用XSLT将XML转换为XHTML。
我们会在下一节对本例的细节进行解释。
正确的样式表声明
把文档声明为XSL样式表的根元素是stylesheet>或transform>。
注释:
stylesheet>和transform>是完全同义的,均可被使用!
根据W3C的XSLT标准,声明XSL样式表的正确方法是:
stylesheetversion="1.0"xmlns:
xsl="http:
//www.w3.org/1999/XSL/Transform">
或者:
transformversion="1.0"xmlns:
xsl="http:
//www.w3.org/1999/XSL/Transform">
如需访问XSLT的元素、属性以及特性,我们必须在文档顶端声明XSLT命名空间。
xmlns:
xsl="http:
//www.w3.org/1999/XSL/Transform"指向了官方的W3CXSLT命名空间。
如果您使用此命名空间,就必须包含属性version="1.0"。
从一个原始的XML文档开始
我们现在要把下面这个XML文档("cdcatalog.xml")转换为XHTML:
xmlversion="1.0"encoding="ISO-8859-1"?
>
EmpireBurlesque
BobDylan
USA
Columbia
10.90
1985
.
.
.
在InternetExplorer和Firefox中查看XML文件:
打开XML文件(通常通过点击某个链接)-XML文档会以颜色化的代码方式来显示根元素及子元素。
点击元素左侧的加号或减号可展开或收缩元素的结构。
如需查看原始的XML源文件(不带有加号和减号),请在浏览器菜单中选择“查看页面源代码”。
在Netscape6中查看XML文件:
打开XML文件,然后在XML文件中右击,并选择“查看页面源代码”。
XML文档会以颜色化的代码方式来显示根元素及子元素。
在Opera7中查看XML文件:
打开XML文件,然后在XML文件中右击,选择“框架”/“查看源代码”。
XML文档将显示为纯文本。
查看"cdcatalog.xml"。
创建XSL样式表
然后创建一个带有转换模板的XSL样式表("cdcatalog.xsl"):
xmlversion="1.0"encoding="ISO-8859-1"?
>
stylesheetversion="1.0"xmlns:
xsl="http:
//www.w3.org/1999/XSL/Transform">
templatematch="/">
MyCDCollection
Title
Artist
for-eachselect="catalog/cd">
value-ofselect="title"/> | value-ofselect="artist"/> |
for-each>
.
.
.