网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XSL转换XML

XML程序设计 昆明学院 2009-2-28 第六章 XSL转换XML 使用模板规范XML格式文件 昆明学院-计算机系 本章内容概述 简 单 示 例 1 模 板 规 则 3 模 板 设 计 4 2 XSL 样 式 昆明学院-计算机系 6.1 简单示例 目前,有很多的CMS系统采用的基本技术,就是使用XSL转换XML,来实现系统数据的通用性和模板的易管理性。 XML XSL XSL XSL XSL CSS CSS CSS CSS CSS CSS CSS CSS 各种 个性化 的 页面 昆明学院-计算机系 6.1 简单示例 XSL文件是一个标准的XML文件,必须符合XML文件的结构良好性和有效性。 XML+XSL+CSS可构成结构优良,速度快,易管理的页面文件。 提示:XMLSpy对CSS文件支持不够好,建议使用Dreamweaver。 昆明学院-计算机系 6.1 简单示例 我们来看例子,【ch6.1.xml】、【ch6.2.xsl】、【main.css】 注意,一般来说,XML、XSL文件应该是多个,而CSS文件应该只有一个,对应不同的class或者是id。 昆明学院-计算机系 6.1 简单示例 几个值得注意的问题: 名称空间不能没有 xsl:template match=“/”表示的选择XML文件的根元素 link rel=“stylesheet” type=“text/css” href=“main.css” /必须放在HTML中的head和/head之间 不能有不关闭的HTML标记,如br、img、p等 xsl:for-each select=“/goods/shirt”和/xsl:for-each表示对根元素“goods”下的“shirt”元素做不做限制的循环 昆明学院-计算机系 6.2 XSL样式 如何选择确定的某元素下级元素? 例【ch6.3.xml】、【ch6.4.xsl】 这就是后继元素的选择方法。 昆明学院-计算机系 6.2 XSL样式 并行模板:并行模板其实就是模板的一种嵌套。 我们来看示例【ch6.5.xml】、【ch6.6.xsl】 更新上面两例为【ch6.7.xml】、【ch6.8.xsl】,我们可以看到,使用 xsl:number value=“posistion()” format=“1”/ Format属性后尝试改为:A、(1)、I等 这样的形式可以将记录数做计数,注意这个并不等于XML文件中的记录数。 类似的使用,请上机实验的时候调试书上的例子【例6.10】,这个例子更多的使用了我们上述的并行模板,但没有任何内容超出上面的讨论。 昆明学院-计算机系 6.2 XSL样式 属性可用类似 xsl:value-of select=“@isbn”/ 这样的形式显示出来,具体显示的格式还是使用模板+CSS形式。 昆明学院-计算机系 6.3 模板规则 每行之间背景色不同 xsl:if test=position() mod 2=0 xsl:attribute name=bgcoloryellow/xsl:attribute /xsl:if 例子【ch6.9.xml】、【ch6.10.xsl】。 其实重要的并不是能将背景进行变色,而是可以通过XSL进行判断。 昆明学院-计算机系 6.4 模板设计 先看示例【ch6.11.xml】和【ch6.12.xsl】 现在我们根据上例,要求求出各科平均分和个人总分,【ch6.13.xml】、【ch6.14.xsl】 再根据要求,将平均分小数点后约去,将平均分大于75的同学用红色背景标注出来,打开注释,进行对计算机成绩降序排列,并且按人计算平均分,【ch6.15.xml】、【ch6.16.xml】 再根据要求,需要把不及格的分数单元格背景设置为红色,60~70设置为黄色,70~80设置为绿色,80~90设置为蓝色,90以上设置为白色,【ch6.17.xml】、【ch6.18.xsl】 昆明学院-计算机系 6.4 模板设计 其实我们通过以上例子看到一个情况,就是XSL实际上由两种语言组成,细分来说,分为了“转换语言”和“格式化语言”。 其实XSL不仅仅能转换为类似IE这样的浏览器可显示的格式(如HTML格式),XSL可根据实际情况,在不同的解释器中自定义显示。 昆明学院-计算机系 6.4 模板设计 深入研究: 先来看【ch6.19.xml】、【ch6.20.xsl】 大家推测查看的结果应该是什么? 如果把注释的语句打开后又是什么结果? 没有匹配模板的结果将如何? 昆明学院-计算机系 6.4 模板设计 过程: 将根节点与样式表中所有模板进行比较,根节点匹配第一个模板,也就是: xsl:template match=/ html xsl:apply-tem

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档