XML实用技术教程第17讲(XSLT转换)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2006。3计算机与电子系—顾兵XML实用教程第17讲2006。3计算机与电子系—计算机技术教研室上一讲主要内容数据岛基本概念数据岛的作用及其引入数据岛的分类数据绑定2006。3计算机与电子系—计算机技术教研室第8章:XML转换XSLT简介XSLT样式表XSLT主要元素2006。3计算机与电子系—计算机技术教研室XSLT目的XSLT称为可扩展样式单语言变换(ExtensibleStylesheetLanguageTransformations)XSLT帮助XSL将样式应用于XML文档其本质是在源文档上构建结果树基于XML的数据HTML/CSS或其它的表现形式XSL样式表XSL处理器2006。3计算机与电子系—计算机技术教研室为什么需要XSLTXML文档所具有的树型结构,并不总符合许多场合所需要的信息结构:所选择的结构不适于他人使用面向应用的结构不适于其他应用向不同用户呈现不同的重点2006。3计算机与电子系—计算机技术教研室XSLT特点XSLT不是一种完全的通用的编程语言XSLT应用灵活XSLT用途广泛2006。3计算机与电子系—计算机技术教研室XSLT转换机理XSLT将模式与模板相结合来实现转换XMLXMLXMLNonXMLFOFOXSL引擎源树样式单树(模板)结果树指令执行源文档样式表转换结果2006。3计算机与电子系—计算机技术教研室由XML转换到HTML简单应用实例doc01.Xml文档清单:?xmlversion=1.0encoding=gb2312??xml-stylesheettype=text/xslhref=doc01.xsl?doctitle文件标题/titlechaptertitle章节标题/titlesectiontitle小节标题/titlepara这是一个段落。/paranote这是一个注释。/note/sectionsectiontitle另一小节标题/titlepara这里是emph另一段/emph内容。/paranote这是另外一个注释。/note/section/chapter/doc2006。3计算机与电子系—计算机技术教研室样式表根模板?xmlversion=1.0?xsl:stylesheetversion=1.0xmlns:xsl==:strip-spaceelements=docchaptersection/xsl:outputmethod=htmlindent=yesencoding=GB2312/xsl:templatematch=dochtmlheadtitlexsl:value-ofselect=title//title/headbodyxsl:apply-templates//body/html/xsl:template2006。3计算机与电子系—计算机技术教研室各层title元素所要匹配的模板xsl:templatematch=doc/titleh1xsl:apply-templates//h1/xsl:templatexsl:templatematch=chapter/titleh2xsl:apply-templates//h2/xsl:templatexsl:templatematch=section/titleh3xsl:apply-templates//h3/xsl:template2006。3计算机与电子系—计算机技术教研室para、note元素所匹配的模板xsl:templatematch=parapxsl:apply-templates//p/xsl:templatexsl:templatematch=notepclass=notebNOTE:/bxsl:apply-templates//p/xsl:templatexsl:templatematch=emphemxsl:apply-templates//em/xsl:template/xsl:stylesheet2006。3计算机与电子系—计算机技术教研室应用转换处理器转换结果htmlxmlns=文件标题/title/headbodyh1文件标题/h1h2章节标题/h2h3小节标题/h3p这是一个段落。/ppclass=notebNOTE:/b这是一个注释。/ph3另一小节标题/h3p这里是em另一段/em内容。/ppclass=notebNOTE:/b这是另外一个注释。/p/body/html2006。3计算机与电子系—计算机技术教研室转换过程样式表的根元素为style-sheet样式表的元素中有两个部分:模板和模式在由源树转换为结果树时.将对整个树的节点进行遍历遇到一定匹配模式时,就根据模板规定样式进行转换这个过程称为实例化2006。3计算机与电子系—计算机技术教研室样式表元素顶层元素xsl:importxsl:includexsl:strip-spacexsl:preserve-spacexsl:outputxsl:keyxsl:decimal-formatxsl:namespace-aliasxsl:attribute-setxsl:variablexsl:paramxsl:template其它为非顶层元素2006。3计算机与电子系—计算机技术教研室什么是模式模式就是所规定节点处理的条件集合满足条件的节点匹配该模式,不满足则不匹配最普通的模式规定匹配元素类型的名称。模式含义doc配任何的doc元素*匹配任何元素chapter|section匹配任何的chapter元素和section元素section/title匹配上一代元素为section的title元素text()匹配任何文本节点Node()匹配任何非属性节点和非根节点*[position()=1andself::section]匹配任何第一个元素,其名为sesction2006。3计算机与电子系—计算机技术教研室定义模板规则模板规则由xsl:template元素来规定;模板规则应用时,节点被实例化;对定义的模板规则,由xsl:apply-template指令实现应用。2006。3计算机与电子系—计算机技术教研室生成元素、生成属性、输出应用xsl:element元素可以在结果树中生成元素。使用xsl:attribute指令在结果树中产生属性。xsl:output元素允许按照需要规定结果树的输出。其输出可为XML、HTML、TEXT等格式。2006。3计算机与电子系—计算机技术教研室添加元素和属性并转换XML文档的示例XML源文档如下:?xmlversion=1.0?investmenttypestock/typenameMicrosoft/namepricetype=high100/pricepricetype=low94/price/investment2006。3计算机与电子系—计算机技术教研室样式表清单:?xmlversion=1.0?xsl:stylesheetxmlns:xsl==1.0xsl:outputmethod=xmlindent=yes/xsl:templatematch=investmentxsl:elementname={type}xsl:attributename=namexsl:value-ofselect=name//xsl:attributexsl:for-eachselect=pricexsl:attributename={@type}xsl:value-ofselect=.//xsl:attribute/xsl:for-each/xsl:element/xsl:template/xsl:stylesheet2006。3计算机与电子系—计算机技术教研室转换产生的输出结果?xmlversion=1.0encoding=UTF-16?stockname=Microsofthigh=100low=94/stock2006。3计算机与电子系—计算机技术教研室第6、7、8章练习题创建一个学生成绩管理的XML文档:1.通过DOM接口遍历该文档,按普通文本方式在网页中显示文档中每位学生各科成绩。2.通过外嵌数据岛与HTML网页中的表格进行数据绑定的方法显示该文档内容。3.编写一个样式表将该文档转换为另外一种格式的XML文档,或转换为HTML文档。

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功