XML实用教程第5章.ppt





《XML实用教程第5章.ppt》由会员分享,可在线阅读,更多相关《XML实用教程第5章.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、XML实用教程实用教程第第5章章配合例子源代码一起使用例子源代码一起使用Power point 制作:耿祥义 张跃平XML与XSL 2022/12/211本章主要内容本章主要内容XSL样式表文件与样式表文件与XSL变换变换XSL样式表文件中的模板样式表文件中的模板标记与模板匹配标记与模板匹配模板调用模板调用常用常用XSL标记标记难点难点模板调用模板调用第5章章 导读导读2022/12/212概述概述XML关关心心的的是是数数据据的的结结构构,并并能能很很好好、方方便便地地描描述述数数据据。但但是是,数数据据的的显显示示外外观观也也是是很很重重要要的的一一个个方方面面,XML能能有有效效地地分分
2、离离数数据据结结构构和和数数据据显显示示,W3C为为XML数数据据显显示示发发布布了了两两个个建建议议规规范范CSS(层层迭迭样样式式表表)和和XSL(可可扩扩展展样样式式语语言言),上上章章重重点点讲讲述述怎怎样样用用CSS显显示示XML标标记记中中的的文文本本内内容容,本本章章讲讲述述XSL。XSL提提供供了了比比CSS更更强强大大的的显显示示数数据据的的能能力力,利利用用XSL可可以以为为XML提提供供像像HTML那那样样美美观观的数据显示。的数据显示。2022/12/2135.1.1初识初识XSL样式表文件样式表文件5.1XSL样式表文件与样式表文件与XSL变换变换 为为了了使使用用X
3、SL语语言言为为XML提提供供显显示示数数据据的的外外观观,其其关关键键点点是是编编写写一一个个称称作作XSL样样式式表表的的文文件件,简简称称XSL文件。文件。XSLXSL样样式式表表文文件件是是由由一一些些特特殊殊的的标标记记构构成成的的文文本本文文件件,浏浏览览器器通通过过处处理理这这些些特特殊殊的的标标记记来来显显示示XMLXML文文件件中数据。中数据。2022/12/2145.1.2XML关联关联XSL文件文件XML文件需使用使用操作指令:文件需使用使用操作指令:将将XML文件和文件和XSL样式表关联。样式表关联。例题例题5-1p852022/12/2155.1.3XSL变换与变换与
4、HTMLXSL处处理理器器把把XSL样样式式表表文文件件转转化化为为HTML文文件件的的过过程程称称做做XSL变变换换(XSLTranformation,XSLT)。)。IE5.5(以上版本)带有以上版本)带有XSL处理器。处理器。通通过过关关联联XSL样样式式表表,XML有有效效地地分分离离了了数数据据的结构和数据的显示的结构和数据的显示,步骤如下:步骤如下:1.首先针对首先针对XML文件编写文件编写XSL样式表文件。样式表文件。2.将将XML文件和文件和XSL样式表关联。样式表关联。3.将将XSL样式表转化为样式表转化为HTML文件文件(浏览器内置的浏览器内置的XSL转化器负责转化器负责)
5、。2022/12/2165.2XSLXSL样式表文件中的模板样式表文件中的模板 XSL样样式式表表是是扩扩展展名名为为“.xsl”的的文文本本文文件件,和和XML文文件件类类似似,XSL文文件件的的内内容容也也是是由由标标记记及及其其内内容容组组成成,只只不不过过按按着着W3C规规范范,这这些些标标记记都都有有着着特特殊殊的的意义意义.XSL样样式式表表的的目目的的是是为为和和其其关关联联的的XML文文件件提提供供数数据据显显示示的的外外观观,为为了了不不引引起起混混淆淆,我我们们将将XSL样样式式表表中中的的标标记记称称做做XSL标标记记、将将XML文文件件中中的的标标记记称称做做XML标记
6、标记。XSL样样式式表表文文件件也也必必须须有有XML声声明明,且且与与其其关关联联的的XML文文件件有有着着同同样样的的编码,编码,例如:例如:XSL样样式式表表文文件件的的根根标标记记的的名名称称必必须须是是stylesheet,如如果果准准备备让让浏浏览览器器的的XSL处理器来实现处理器来实现XSL变换,根标记必须有名称空间,变换,根标记必须有名称空间,例如:例如:根标记的内容根标记的内容.2022/12/2175.2.1模板模板 样样式式表表的的基基本本结结构构就就是是由由标标若若干干个个称称做做“模模板板”的的XSL标标记记组组成成,简简称称模模板板。模模板板都都是是根根标标记记的的
7、子子标标记记,模模板板标标记记的的名名称称都都是是“template”,例如:例如:模板内容模板内容一个模板的一个模板的“模板内容模板内容”是由是由HTML标记和嵌入其中的标记和嵌入其中的XSL标标记组成。记组成。模板必须有属性模板必须有属性match,该属性的值是一个特殊的字符串,称该属性的值是一个特殊的字符串,称做模板的做模板的“标记匹配模式标记匹配模式”。如果如果XML文件中的一个文件中的一个XML标记匹配于标记匹配于XSL样式表文件中的样式表文件中的某个模板的某个模板的“标记匹配模式标记匹配模式”,就称该模板是,就称该模板是XML标记匹配的标记匹配的模板或称模板或称XML标记与该模板相
8、匹配。标记与该模板相匹配。2022/12/2185.2.2主模板与主模板与XSLXSL处理器处理器_1 _1 1.主主模模板板:在在模模板板中中有有一一个个称称作作“主主模模板板”的的特特殊殊模模板板,该该模模板板中的中的match属性的值是属性的值是“/”,如下所示:,如下所示:主模板的内容主模板的内容 一个一个XSL样式表文件有且仅有样式表文件有且仅有一个主模板,所谓主模板就是与一个主模板,所谓主模板就是与XML文件中根标记匹配的模板。文件中根标记匹配的模板。例题例题5-2p882022/12/2195.2.2主模板与主模板与XSLXSL处理器处理器_2 _2 2.2.XSLXSL处理器处
9、理器:XSLXSL处理器处理器总是从主模板开始实施总是从主模板开始实施XSLXSL变换。主模板的内变换。主模板的内容中可以包括调用其它容中可以包括调用其它模板的模板的“模板调用模板调用”标记。标记。2022/12/21105.3标记与模板匹配标记与模板匹配 XSL样样式式表表文文件件中中的的模模板板的的格格式式中中涉涉及及到到“标标记记匹匹配配模式模式”,如下所示:,如下所示:模板内容模板内容 /xsl:template“标标记记匹匹配配模模式式”就就是是满满足足一一定定条条件件的的一一族族XML标标记记,其其中中的的每每个个XML标标记记都都称称做做与与“标标记记匹匹配配模模式式”相相匹匹配
10、配的的XML标标记记。如如果果XML文文件件中中的的一一个个XML标标记记是是模模板板的的“标标记记匹匹配配模模式式”的的一一个个实实例例,就就称称该该标标记记是是与与模模板板相相匹匹配配的的XML标标记记,或或称称模模板板匹匹配配于于该该XML标标记。记。XSLXSL处处理理器器在在工工作作中中经经常常要要处处理理“标标记记匹匹配配模模式式”。2022/12/21115.3.1XMLXML子标记匹配的模板子标记匹配的模板 XSL样样式式表表为为XML文文件件中中根根标标记记的的子子标标记记提提供供输输出出数数据据的的模模板板,这这类类模模板板中中的的“标标记记匹匹配配模模式式”可可以以是是子
11、子标标记记的的名名字字或或根根标标记的名字和子标记的名字用记的名字和子标记的名字用“/”分割。分割。假假如如XML文文件件的的根根标标记记的的名名字字是是student,它它有有name,sex和和birthday三三个个子子标记,那么下列三个模板分别是这三个子标记相匹配的模板:标记,那么下列三个模板分别是这三个子标记相匹配的模板:(1)xsl:template match=name (2 2)模板的内模板的内 容模板的内容容模板的内容 /xsl:template /xsl:template(3 3)模板的内容模板的内容/xsl:template而下列模板是与三个子标记:而下列模板是与三个子标
12、记:name,sex和和birthday都相匹配的模板:都相匹配的模板:xsl:template match=stdent/*模板的内容模板的内容 /xsl:template2022/12/21125.3.2任意级别任意级别XMLXML子标记匹配的模板子标记匹配的模板 通通过过使使用用统统配配符符“*”可可以以建建立立匹匹配配于于任任何何标标记记的的模模板板,无无论论该标记是根标记的第几级子标记该标记是根标记的第几级子标记。下列模板:下列模板:xsl:template match=student/*/*模板的内容模板的内容/xsl:template 是与根标记是与根标记studentstude
13、nt的所有的所有2 2级子标记级子标记(孙标记孙标记)相匹配的模板。相匹配的模板。更多的与各级标记相匹配的模板更多的与各级标记相匹配的模板举例如举例如9191页。页。XMLXML文文件件的的标标记记是是树树型型结结构构,使使用用“/”“/”分分割割符符必必须须从从根根标标记记出出发才能确定出一类标记。发才能确定出一类标记。例题例题5-3p92 2022/12/21135.3.3具有指定属性的具有指定属性的XMLXML子标记匹配的模板子标记匹配的模板 通通过过使使用用“标标记记属属性性”或或“标标记记属属性性=属属性性值值”可可以以建建立立与与具具有有指指定定属属性性的的标标记记相相匹匹配配模模
14、板板,这这样样,我我们们就就让让名名字字相相同同但但属属性性不不同同的的标标记记匹匹配配于于不同的模板。不同的模板。下列模板:下列模板:xsl:template match=/nameID 模板的内容模板的内容/xsl:template是是与与名名字字为为name且且具具有有属属性性ID的的标标记记相相匹匹配配的的模模板板,无无论论name标标记记是是根根标标记记的哪一级子标记。的哪一级子标记。例题例题5-4p942022/12/21145.3.4使用使用“”“”和和“|”“|”给出给出XMLXML标记匹配的模标记匹配的模板板 可以使用可以使用“”来给出一个标记需满足的条件,例如:来给出一个标
15、记需满足的条件,例如:xsl:template match=/bookprice 模板的内容模板的内容 /xsl:template是是与与名名字字为为book且且具具有有子子标标记记price的的标标记记相相匹匹配配的的模模板板,无无论论book标标记记是是根根标记的哪一级子标记。标记的哪一级子标记。可以使用可以使用“|”给出几个可以选择的标记,例如:给出几个可以选择的标记,例如:模板的内容模板的内容/xsl:template是是与与标标记记名名字字为为“单单价价”、“库库存存量量”或或“生生产产日日期期”等等标标记记相相匹匹配配的的模模板板,无论这些标记是根标记的哪一级子标记。无论这些标记是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 实用教程

限制150内