1、,使用XSLT,2,回顾,DOM是用于XML文档的与平台和语言无关的编程接口DOM定义如何操作和访问XML文档要通过DOM访问XML文档,则需要XML解析器和DOM实现DOM创建的节点树是XML文件的内容的逻辑表示,3,目标,定义XSL样式表理解XSL样式表的结构和语法使用XSLT将XML文档转换为HTML文档,4,XSL简介2-1,XSL是W3C的一个规范XSL是一系列语言,允许描述如何格式化或转换使用XML标准编码的文件,5,XSL简介2-2,XSLT是W3C的一个规范XSL转换推荐描述了使用转换引擎和XSL转换XML文档的过程,XML文档,XML样式表,6,样式表是格式良好的XML文档。
2、样式表的顶层元素如下所示:要使XML文档与XSLT规范相容,则需要将以下元素添加到XML文档中:,XSL样式表的结构,样式表的根元素,指明XSL样式表的位置,7,什么是XSLT,XSLT是一个可以将XML文档转换为其他XML文档或其他格式的XML应用程序,是XSL的一部分,有独立的命名空间要执行XSLT转换,则需要以下组件:XML文档XSL样式表XSLT处理器XSLT处理器是一个将XSLT样式表连接到XML文档的应用程序,8,自定义,XSL模板8-1,主要组件,控制,9,XSL模板8-2,模式的内置模板规则:,元素节点和根节点的内置模板规则:,10,XSL模板8-3,文本节点和属性节点的内置模
3、板规则:,注释节点和处理指令节点的内置模板规则:,命名空间节点的内置模板规则:,11,XSL模板8-4,XSL样式表:,定义要在item-name元素之前显示的quantity元素,指定要应用于item-info元素的模板,12,XSL模板8-5,XML文档:,0001计算器520元记事本205元钢笔2015元,item-name出现在quantity元素之前,13,XSL模板8-6,14,XSL模板8-7,XSL样式表:,XSL模板,指定只选择item-info元素,定义quantity元素在item-name元素之前显示,15,XSL模板8-8,16,样式表,匹配模式和XPath表达式4-
4、1,XSLT处理器,XML文档,17,匹配模式和XPath表达式4-2,XPath定位XML文档的各个部分:元素节点属性节点文本节点在XPath中,斜杠(“/”)表示XML文档中的根元素匹配模式的语法如下:,18,匹配模式和XPath表达式4-3,按照名称匹配元素:按照父子元素关系匹配元素:,19,匹配模式和XPath表达式4-4,按照属性匹配元素:按照子元素匹配元素:通配符匹配规则:,20,将XML转换为HTML文档2-1,21,将XML转换为HTML文档2-2,22,将样式表链接到XML文档3-1,XSL样式表:,使用XSLT订单号:.该商品的价格为:,23,将样式表链接到XML文档3-2
5、,XMLDocument:文档:,0001计算器205记事本5200002钢笔520铅笔235,24,将样式表链接到XML文档3-3,25,实例演示,XML文件student.xmlXSL样式表文件student.xsl,26,编写自己的XSLT转换器,在实际的系统中,经常需要应用自己的XSLT转换器来处理XML文件,而不是依靠IE浏览器。那么,我们如何来编写自己的XSLT转换器呢?下面是一个用java程序编写的实例。MyTransformer.java注意:在运行MyTransformer之前,一定要先删除xml文件中的xml:stylesheet命令行运行:javaMyTransformerstudent.xmlstudent.xslstudent.html生成student.html文件,27,总结2-1,转换引擎也称为XSLT处理器将XML文档和XSL样式表作为输入提供给XSLT处理器XSLT处理器是一个可以将XML文档转换为其他XML文档或其他格式的XML应用程序,28,总结2-2,模板规则定义将XML元素节点转换为XSL元素节点的方法XSLT使用XPath标识匹配节点可以使用XSL元素创建XSL样式表可以编写自己的XSLT转换器,