第6章 XSL问题和总结.docx

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

一、基础篇XSL(eXtensibleStylesheet Language,可扩展样式语言)是为XML文件定义的一种标识语言。它将提供远远超过CSS的强大功能,如将元素再排序等。其包括XSLT、XPath和XML格式对象(XSL-FO)三部分。使用XSL定义XML文档显示方式的基本思想是:通过定义转换模板,将XML源文档转换为带样式信息的可浏览文档。案例XSL文档?xml version=1.0 encoding=GB2312?xsl:stylesheetversion=2.0 xmlns:xsl=/1999/XSL/Transformxsl:template match=/!--match 属性用于关联 XML 元素和模板。match 属性的值是 XPath 表达式(举例,match=/ 定义整个文档)--htmlbodyh2 学生信息 /h2table border=1trbgcolor=#00B2EEth align=centernumber/thth align=centername/thth align=centerage/thth align=centerphone/thth align=centeremail/th/tr!--select 属性的值是一个 XPath 表达式。此表达式的工作方式类似于定位某个文件系统,在其中正斜杠可选择子目录--xsl:for-each select=class/studentxsl:sort select=number/!--select 属性指示需要排序的 XML 元素--xsl:if test=age gt; 20!--test 属性的值包含了需要求值的表达式--trtdxsl:value-of select=number//tdtdxsl:value-of select=name//tdtdxsl:value-of select=age//tdtdxsl:value-of select=phone//tdtdxsl:value-of select=email//td/tr/xsl:if/xsl:for-each/table/body/html /xsl:template/xsl:stylesheet注意:我们需要在解析的xml文档中添加一行对xsl文档的引用,如?xml-stylesheet type=text/xsl href=学生信息.xsl?XSL语法XSL作为一种样式语言,大致可分为三种模式 :选择模式(xsl:value-of、xsl:for-each、xsl:apply-templates)、测试模式(xsl:if、xsl:choose、xsl:when、xsl:otherwise)、匹配模式(xsl:template语句)。(一)匹配模式 xsl:template match=node-context language=language-name mode=name/ xsl:template “match”属性指示该模板所匹配的节点“mode”是该模板的一个别名,与某个“xsl:apply-templates”语句中的“mode”属性的值一致。language属性确定在此模板中执行什么脚本语言,其取值与HTML中的script标记的language属性的取值相同xsl:iftest=表达式 expr=script-expression language=language-name!-- 内容 --/xsl:ifxsl:choosexsl:whentest=条件1内容1/xsl:whenxsl:whentest=条件2内容2/xsl:whenxsl:otherwise内容3/xsl:otherwise/xsl:choosexsl:when和xsl:if一样也有language和expr属性,这两个属性都是可选的(二)测试模式(三)选择模式xsl:for-each select=student order-by=age!-- 其他语句--/xsl:for-eachxsl:apply-templates select=nodePath mode=name/xsl:apply-templatesXSL模板将XSL的设计细化成一个个模板(块),最后再将这些模板(块)组合成一个完整的XSL,“xsl:apply-templates”就是起到组合模板的功能。相关问题在写xsl的过程中,似乎只对IE支持,也许是我自己的程序没有写好的缘故,有些问题需要理解的深刻点。用xsl将xml转换为xhtml,需要在xml中包含xsl样式表,在无法识别XSLT的浏览器这种方法就无法奏效。二、提升篇1. 在浏览器中把 XML 转换为 XHTML(以下均无xml引用xsl文件)htmlb

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档