XML基础教程 教学课件 作者 范春梅 王新刚 张卫华 第5章 可扩展样式表语言转换.ppt

XML基础教程 教学课件 作者 范春梅 王新刚 张卫华 第5章 可扩展样式表语言转换.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 可扩展样式表语言转换(XSLT) 可扩展样式表语言转换(XSLT)是XML最重要的应用技术之一。他的主要作用是抽取XML文档中的信息并将其转换成其他格式的数据。引入XSL转换的目的,是为了提供将XML文档方便地转换成所需数据形式的途径。 5.1 什么是XSL XSL(eXtensible Style Languge)是描述XML文档样式信息的一种语言,由W3C于1999年制定。虽然使用DOM、SAX、XMLPULL等编程模型也可以处理XML文档,将其中的信息抽取出来并转换成其他格式的数据,但如果对每个任务都编制专门程序,将无疑是低效而枯燥的。XSL则提供了将XML文档方便地转换成所需数据形式的新方法。 5.1.1 XSL构成 XSL技术由3部分组成:XSL格式化对象(XSL Formatting Objects,XSL-FO,简称FO)、XSL转换(XSL Transformations,XSLT)和XML路径(XPath)。其各自的功能如下: 1.格式化对象(FO) 2.XSL转换(XSLT) 3.XPath技术 5.1.2 树形结构 树形结构是一种数据结构,是总线形的延伸,它是一个分层分支的结构。 树状结构是由连接起来的节点(node)组成的,这些节点起始于一个称为根节点(root)的单节点。 5.1.3 XSL样式单文档 XSL样式单文档是指使用XSL规则编写的文档,其作用是将一组元素描述的XML数据转换为另一组元素描述的文档,或者是将该数据转换为一种自定义的文本格式。 XSL把XML文档转换为完全不同的输出,这样可以把数据内容存储在XML文档中,然后通过各种媒体将其输出到各种介质中,如无线电、打印、语音等格式。当数据发生变化时,只需要修改源XML文档,不需要在多处重复相同的修改工作。 5.1.4 在何处进行XML变换 样式与内容相分离是XML最重要的特点,因此,要想以各种不同的样式显示XML文档的内容就必须对XML的内容进行变换。对XML进行变换其实质就是抽取XML文档所包含的“内容”,再转变为需要显示的“样式”。处理过程如图5.2所示。 5.2 创建一个XSL实例 使用XSL显示XML的基本思想是通过定义模板将XML源文件转换为带样式信息的可浏览文件,模板可以是HTML格式、带CSS的XML格式及FO格式。 5.2.1 源代码及显示效果 有了以上对XSL的认识,下面将创建一个简单的XSL实例来进行说明。 5.2.2 各部分详解 (1)XML部分 在XML中使用如下语句声明XSL样式单。 ?xml-stylesheet type=text/xsl href=2.xsl? 该语句表示使用的XSL样式单为“2.xsl”文件。 (2)XSL部分 首先注意到的是,XSL文件本身就是一份XML文档,因此在XSL文件的开头,一样有与XML文档相同的声明。W3C为XSL定义了很多标记(元素),XSL文件就是这些标记和HTML标记的组合。 5.3 XSL模板 模板是XSLT中非常重要的概念。模板以“template”元素声明,包含一系列XSL指令(Instruction),控制XSL转换流程并指定XSL转换的输出内容。XSLT模板有两种类型:一种作为模板规则(Template rule),匹配指定的XML节点;另一种作为具名模板(Named template),可被“call-template”元素显式调用。模板规则必须有“match”属性,该属性为XPath表达式,指定该模板可以匹配哪些XML节点。具名模板必须有“name”属性,以被“call-template”元素调用。 5.3.1 模板的简单应用 XSLT处理器在发现XSLT文档中的一个显式调用或者在源XML文档中发现匹配节点之后就会执行xsl:template。最常见的情况是当XSLT处理器扫描XML时遇到了匹配节点。匹配属性则用XPath表达式标识出源文档中的节点,交由模板处理。向匹配的元素输出模板需要的内容。这些内容可能由文本和非XSLT的标记所组成,并直接写入某个新建文档乃至更多的XSLT元素。XSLT元素只处理被模板激活的同类节点。多个模板可以匹配一个节点。在这种情况下,采用模式和优先级属性的复杂规则确定了应由哪个模板来处理节点。 5.3.2 xsl:apply-templates元素 xsl:apply-templates可以告诉格式化程序把与源元素匹配的每个子元素同样式单中的模板相比较,用于匹配节点的模板本身可能包含xsl:apply-templates元素,以便搜索与其子节点的匹配。当格式化引擎处理节点时,此节点是作为整个树形结构来看待的。图5.6 apply-templates元素输出效果 5.3.3 select特性 “a

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档