第八章XSL转换_第1页
第八章XSL转换_第2页
第八章XSL转换_第3页
第八章XSL转换_第4页
第八章XSL转换_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-5-161 XSL转换转换2022-5-162XSL转换转换o理解理解XSLXSL的一些基本概念的一些基本概念o明白明白XSLXSL的结构的结构o了解了解XPathXPath在在XSLTXSLT中所起的用途中所起的用途o掌握掌握XSLTXSLT转换语言的基础知识转换语言的基础知识o熟悉熟悉XSLTXSLT所使用的元素、模板、函数等所使用的元素、模板、函数等o通过具体实例的学习,学会综合运用通过具体实例的学习,学会综合运用XSLTXSLT编写转换模板编写转换模板 2022-5-163o 可扩展的样式表语言(可扩展的样式表语言(eXtensible Stylesheet Language

2、,XSLeXtensible Stylesheet Language,XSL)它定义了如何转换和表示它定义了如何转换和表示XMLXML文档。比文档。比CSSCSS功能要强大的多。功能要强大的多。XLSXLS能够象输出文件里添加新的元素或者移动元素,也能够重新排能够象输出文件里添加新的元素或者移动元素,也能够重新排列或者索引数据,它可以检测并决定哪些元素被显示,显示多列或者索引数据,它可以检测并决定哪些元素被显示,显示多少等。少等。它使用它使用XPathXPath匹配节点匹配节点,把一个,把一个XMLXML文档转换为另一个不文档转换为另一个不同的文档。得到的文档可以是同的文档。得到的文档可以是X

3、MLXML、HTMLHTML、无格式文档或任何其、无格式文档或任何其他基于文本的文档。他基于文本的文档。XSL概述oXSLXSL的第二部分是的第二部分是XSLXSL格式化对象。格式化对象提供了另一种方格式化对象。格式化对象提供了另一种方式,来格式化显示式,来格式化显示XMLXML文档,以及把样式应用到文档,以及把样式应用到XMLXML文档中。文档中。2022-5-164XSL概述oXSLXSL的意义的意义n将数据和表示形式分离将数据和表示形式分离n在不同的应用之间传输数据在不同的应用之间传输数据oXSLTXSLT和和CSSCSS的比较的比较 nCSSCSS不能重新排序文档中的元素;不能重新排序

4、文档中的元素;nCSSCSS不能判断和控制哪个元素被显示,哪个不被显示;不能判断和控制哪个元素被显示,哪个不被显示;nCSSCSS不能统计计算元素中的数据;不能统计计算元素中的数据; 2022-5-165o浏览器对浏览器对XSLXSL的支持的支持n为了用为了用XSLXSL来处理一个来处理一个XMLXML文档,需要一个带有文档,需要一个带有XSLXSL引擎的引擎的XMLXML处理器。处理器。n包含原始数据的包含原始数据的XMLXML文档和用来转换该文档的文档和用来转换该文档的XSLTXSLT文档文档nIE5.0IE5.0或以上更高版本中支持或以上更高版本中支持 2022-5-166 XSL基础o

5、 XSLXSL的组成的组成n第一部分是第一部分是XSLTXSLT(XSL TransformationXSL Transformation)可以把)可以把XMLXML文档从一个格文档从一个格式转换为另一种格式。它使用式转换为另一种格式。它使用XPathXPath匹配节点,把一个匹配节点,把一个XMLXML文档转换文档转换为另一个不同的文档。可以是为另一个不同的文档。可以是XMLXML、HTML HTML 、无格式文本或任何其他、无格式文本或任何其他基于文本的文档。基于文本的文档。n第二部分是第二部分是XSLXSL格式化对象(格式化对象(Formatting ObjectFormatting O

6、bject)。格式化对)。格式化对象提供了象提供了CSSCSS的另一种方式,来格式化的另一种方式,来格式化XMLXML文档以及把样式应用到文档以及把样式应用到XMLXML文档上。文档上。XSLXSL在转换在转换XMLXML文档时首先转换文档结构,其次将文文档时首先转换文档结构,其次将文档格式化输出。档格式化输出。2022-5-167oXSLTXSLT简介简介nXSLTXSLT提供一套规则,用于将一组元素描述的提供一套规则,用于将一组元素描述的XMLXML数据转换为另一组数据转换为另一组元素描述的文档,或者是将该数据转换为一种自定义的文本格式元素描述的文档,或者是将该数据转换为一种自定义的文本格

7、式 最简单的最简单的XSLTXSLT应用情况首先涉及到两个文档:包含原始数据的应用情况首先涉及到两个文档:包含原始数据的XMLXML文档和用来转换该文档的文档和用来转换该文档的XSLTXSLT转换文档。转换文档。2022-5-168nXSLTXSLT的一些可能的应用包括:的一些可能的应用包括:o 以查看为目的添加元素以查看为目的添加元素o 从现在内容创建新的内容从现在内容创建新的内容o 从从XMLXML文档中提取信息文档中提取信息o 在不同的在不同的XMLXML字典或模型之间进行转换字典或模型之间进行转换o 将将XMLXML文档转换为文档转换为HTMLHTML2022-5-169o XPath

8、XPath简介简介n一种专门用来在一种专门用来在XMLXML文档中查找信息的语言文档中查找信息的语言 。如果将。如果将XMLXML文档看为文档看为一个数据库,那么一个数据库,那么XPathXPath就是就是SQLSQL查询语句;如果把查询语句;如果把XMLXML文档看为文档看为DOSDOS目录结构,那么目录结构,那么XPathXPath就是就是cdcd、dirdir等目录操作命令的集合。等目录操作命令的集合。nXPathXPath表达式返回表达式返回4 4种类型值:节点集合(种类型值:节点集合(node-setnode-set)、布尔值)、布尔值(BooleanBoolean)、数字和字符串。

9、)、数字和字符串。 n基本上基本上XSLTXSLT的最常规用法是返回节点集合或者字符串的最常规用法是返回节点集合或者字符串 2022-5-1610n1.1.节点导航节点导航XPathXPath导航的外观和行为完全与文件系统导航一摸一样。导航的外观和行为完全与文件系统导航一摸一样。o 斜线分隔父子节点:斜线分隔父子节点:chapter/title.chapter/title.代表只在当前上下文的代表只在当前上下文的chapterchapter节点内直接检索节点内直接检索titletitle节点。节点。o 双斜线(双斜线(/)是节点的通配路径)是节点的通配路径 o 在路径的末尾加一个星号会返回所有

10、当前路径下所有的节点在路径的末尾加一个星号会返回所有当前路径下所有的节点2.2.访问数据访问数据 符号指节点的标签属性符号指节点的标签属性 。假设。假设chapterchapter有有typetype属性,按属性,按“typetype”的方式就可访问。如果为了可以从文档的任何地方的方式就可访问。如果为了可以从文档的任何地方访问它,访问路径应该写成访问它,访问路径应该写成“book/chapter/typebook/chapter/type”方括号从一个集合中选出一个节点方括号从一个集合中选出一个节点 , ,很像是传统编程中的数很像是传统编程中的数组。为了选出第二个组。为了选出第二个chapte

11、r,chapter,可以用可以用“book/chapter2book/chapter2”2022-5-1611表表 XSL XSL匹配中使用的特殊字符匹配中使用的特殊字符特殊特殊符号符号含含 义义范范 例例说说 明明/ /子节点操作符子节点操作符item/itemNameitem/itemName匹配匹配节点下的节点下的子节点子节点/循环下降。符号后余下部分可能与文档循环下降。符号后余下部分可能与文档中的任何节点相匹配中的任何节点相匹配item/itemNameitem/itemName匹配匹配节点下,只要有节点下,只要有子节点子节点* *选择任何元素的通配符选择任何元素的通配符book/bo

12、ok/* *节点下的所有子节点节点下的所有子节点 可以在其内指定元素或属性,也可加上可以在其内指定元素或属性,也可加上额外的测试条件额外的测试条件bookisbnbookisbn节点下有属性节点下有属性isbnisbn的节点的节点 | |与多个节点匹配与多个节点匹配book|titlebook|title与与或或匹配匹配. .当前节点当前节点. .取得当前节点取得当前节点.父节点父节点./itemName./itemName父节点下的父节点下的itemNameitemName节点节点2022-5-1612oXPointerXPointer、XLinkXLink和和XQueryXQuerynXP

13、ointerXPointer是在是在XPathXPath表达式基础上构建的,但在数据库模型和所支表达式基础上构建的,但在数据库模型和所支持的函数中进行了扩展。支持对持的函数中进行了扩展。支持对XMLXML的内部结构部分的定位的内部结构部分的定位 。nXLinkXLink是描述在资源间进行链接的语言。它提供了类似于是描述在资源间进行链接的语言。它提供了类似于HTMLHTML的的元素那样的链接功能。元素那样的链接功能。 nXQueryXQuery提供了一种更为程序化、更清楚直接的方法。提供方便用户提供了一种更为程序化、更清楚直接的方法。提供方便用户进行查询进行查询XMLXML文档输入,抓取相关数据

14、和操作结果以创建不同格式文档输入,抓取相关数据和操作结果以创建不同格式的输出形式的方法的输出形式的方法2022-5-1613例:一个例:一个XML格式的问候文档格式的问候文档ooxsl:stylesheet version=2.0 xsl:stylesheet version=2.0 xmlns:xsl=/1999/XSL/Transfoxmlns:xsl=/1999/XSL/Transform rm xmlns:fo=/1999/XSL/Format xmlns:fo=http:/www.w3.o

15、rg/1999/XSL/Format xmlns:xs=/2001/XMLSchema xmlns:xs=/2001/XMLSchema xmlns:fn=/2005/xpath-xmlns:fn=/2005/xpath-functionsfunctionso ooFrist XSLT Frist XSLT exampleexampleoo o o ooo o必须有,必须有,xsl:stylesheet xsl:stylesheet 是是XSLXSL文件的根元素,在根

16、元素中文件的根元素,在根元素中包含了所有的排版样式,样式表包含了所有的排版样式,样式表就是由这些排版样式组合成的。就是由这些排版样式组合成的。 用这条语句找到一些结点集合用这条语句找到一些结点集合以后,就要从这个集合中找以后,就要从这个集合中找到特定的元素或者元素属性到特定的元素或者元素属性的值。的值。表示定位表示定位XMLXML文档中的名称元素文档中的名称元素的内容的内容XSLT转换语言Code8_2.xslCode8_2.xsl2022-5-1614XSLT转换语言xslxsl欢迎学习欢迎学习 XML!XML!Code8_1.xml2022-5-1615 XSLT转换语言o应用应用XSLT

17、XSLTn建立建立XSLTXSLT文档与文档与XMLXML文档之间的链接,应在文档之间的链接,应在books.xmlbooks.xml中加入:中加入:o oStylesheetStylesheet元素元素n是任何是任何XSLTXSLT风格表单的最外层元素,并要为文档指定版本和一个或风格表单的最外层元素,并要为文档指定版本和一个或者多个命名空间者多个命名空间 o o .o 2022-5-1616oXSLTXSLT语法语法n模板就是要应用的规则模板就是要应用的规则 n元素定义了用于进行转换了的节点内容,其语法如元素定义了用于进行转换了的节点内容,其语法如下所示:下所示:o n匹配属性(匹配属性(m

18、atchmatch)则用)则用XPathXPath表达式标识出源文档中的节点,交由表达式标识出源文档中的节点,交由模板处理模板处理 2022-5-1617o模板体模板体n使用使用XPathXPath从从XMLXML文档中选取出要进行操作的节点集,接着就需要使文档中选取出要进行操作的节点集,接着就需要使用用XSLXSL定义的元素来转换这些节点。定义的元素来转换这些节点。 n1. 1. 排序排序o sortsort属性用于将元素的显示按一定的顺序排列,属性用于将元素的显示按一定的顺序排列, 2022-5-1618n2. xsl:for-each 2. xsl:for-each o xsl:for-

19、eachxsl:for-each语法允许循环处理被选择的节点语法允许循环处理被选择的节点o 由由selectselect属性决定什么样的节点符合条件,然后循环处理这个属性决定什么样的节点符合条件,然后循环处理这个节点集合,节点集合,n n !- - n n3. xsl:value-of3. xsl:value-ofoxsl:value-ofxsl:value-of则是用来选择源文档中元素的值写入输出文档则是用来选择源文档中元素的值写入输出文档 nxsl:value-of selectname2022-5-1619例子:见例子:见code8_3.xml2022-5-1620 网站购物网站购物 .

20、titlefont-size:15pt;font-weight:bold;color:blue .namecolor:red Shopping Cart Contents 编号编号书名书名价格价格出版社出版社 Code8_4.xsl2022-5-1621o 完整的样式表例子完整的样式表例子code8_6.xmlcode8_6.xmlo一个完整的网站购物车的一个完整的网站购物车的XMLXML文档文档n编写一个样式表文件,将其转换为编写一个样式表文件,将其转换为HTMLHTML 2022-5-1622 赵子龙赵子龙 J361021 1003 三国演义三国演义 30.0 文艺出版社文艺出版社 1002 红楼梦红楼梦 120.0 文艺出版社文艺出版社 Code8_6.xml2022-5-1623 书籍订单书籍订单-E-shop .titlefont-size:15pt;font-weight:bold;color:blue .namecolor:white 编号编号书名书名价格价格出版社出版社 Code8_7.xsl2022-5-1624o5. xsl:if5. xsl:if、xsl:elemen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论