`
xinklabi
  • 浏览: 1564877 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

【XML技术】XSL的基本语法

    博客分类:
  • XML
 
阅读更多

⊙XSL模板
      模板是XSL中最重要的概念之一,XSL文件就是由一个一个的模板组成的,任何一个XSL文件至少包含一个模板.
    定义一个模板的基本语法是:
<xsl:template match="pattern">
       <!--输出模板-->
</xsl:template>
     属性match则控制模板的匹配模式,确定在什么情况下执行此模板.属性match的取值把模板规则与指定的元素或属性相比较,只有指定的节点才会被处理.其中最上层的模板即根节点必须将match的取值设定为"/".
     如果match的取值为"*",那么表示该规则适用于所有的未单独指定处理的元素节点.此外,还可以使用路径指定符来指定一些特殊位置的元素与模板相匹配. "//"代表任意深度位置,如<xsl:template match="//student">用来匹配文档中任何位置的<student>元素;而如果是<xsl:template match="student//name">则表明是匹配<student>元素的后继节点中所有<name>元素.另外一个路径指定符是"/",表示直接的父子节点关系.<xsl:template match="student/name">则是匹配的是<student>元素子节点中的<name>元素.
     模板定义完毕后,就可以在XSL中调用该模板了,调用一个模板的语法为:
   <xsl:apply-templates select="pattern"/>
    <xsl:apply-templates>用来说明哪一个节点被模板具体处理.select属性用来定义确切的节点名称.<xsl:apply-templates>总是包含在<xsl:template>元素中,像这样:
    <xsl:template match="/">
       <xsl:apply-templates select="roster"/>
    </xsl:template>
直接使用<xsl:templates>元素表示不加区分地对当前节点的所有子节点应用模板,而在select属性中书写

匹配式则能够限定作用对象.

⊙节点选择句<xsl:value-of>
     在许多场合,输出模板中需要使用节点的取值,此时需要使用<xsl:value-of select="pattern" />语句输出节点值,最直接的使用方式是使用空元素<xsl:values-of />,这样可以输出当前节点及其后继节点的取值.而如果仅仅是想输出指定节点的取值,可以利用select属性进行限定(select属性可以是任意合法的路径表达式).
     <xsl:value-of select="name" /> 匹配当前节点的所有子节点为<name>的元素.
     <xsl:value-of select="//student" /> 匹配当前节点中所有后继节点名为<student>的元素.
     在XSL样式表中必须有一个模板规则与根元素相匹配.

⊙循环判断语句<xsl:for-each>
     在XML文档中,如果存在两条以上的数据,必须使用<xsl:for-each>元素指定上层的节点元素,再用<xsl:value-of>设定要输出的内容,才能显示整个XML文档数据.
     标准语法格式为:
     <xsl:for-each select="pattern" order-by="patternlist">
        ......
     </xsl:for-each>
     属性order-by的内容为排序标准列表,在列表元素前面添加加号(+)表示按升序排序,添加减号(-)表示按降序排列.

⊙条件判断句<xsl:if>
     <xsl:if>语句是简单地对条件进行判断.它有三种用法:
     1.如果要用元素的名称作为匹配条件,语法: <xsl:if match="元素名称">
      下例对"name"元素的内容用红色来显示:
      <xsl:if match="name">
          <font color="red"></xsl:value-of /></font>
      </xsl:if>

     2. 如果用元素内容作为匹配条件,语法为: <xsl:if match="元素名称[.'元素内容']">
       下例对成绩超过100分的学生输出"满分"信息.
       <xsl:if match="score[.='100']">
         满分
       </xsl:if>

     3. 如果用元素的属性作为匹配条件,语法为: <xsl:if test=".[@属性名称='属性值']">
       下例是对ID号为105的学生输出"105号学生"信息:
        <xsl:if test=".[@ID='105']">
            105号学生
        </xsl:if>

⊙多条件判断语句<xsl:choose>
      与<xsl:when>和<xsl:otherwise>一起使用,可以进行多条条的分支判断.
      下列例子对成绩不到80分的学生输出"一般",对超过90分的学生输出"优秀",对介于其间的学生输出"良好"信息:
      <xsl:choose>
           <xsl:when match=".[score $lt$ 80]">一般</xsl:when>
           <xsl:when match=".[score $gt$ 90]">优秀</xsl:when>
           <xsl:otherwise>良好</xsl:otherwise>
      </xsl:choose>

⊙排序语句<xsl:sort>
      在XSL中可以对XML源文档的元素进行重新排序,排序的语法就是<xsl:sort>.下列代码就是将文档元素按name排序.
      <xsl:template match="student">
         <xsl:apply-templates select="student">
             <xsl:sort select="@name"/>
         <xsl:apply-templates>
      </xsl:template>

分享到:
评论

相关推荐

    XSL.rar_ XML-JSP_.CHM_XML chm_xml xsl_xsl

    XSL语法详细参考手册,XML设计者的理想教材

    精通XML——基础概念、核心技术与典型案例 光盘资源(源程序)

    第2章:XML语法 第3章:XML名称空间 第4章:XML数据结构 第5章:XML路径查询技术 第6章:应用:使用内存模型编程处理XML文档 第7章:应用:使用流式模型处理XML文档 第8章:应用:XML序列化 第9章:应用:XML与...

    XML原理及应用(XML设计)

    本书在讨论XML基本原理和结构的基础上,运用实例描述了DTD、XMLSchema、NameSpac、CSS、XSL、Xpath、XLink、Xpointer等相关协议内容及其规范的使用方法; 阐明 DOM 和 SAX 两类编程接口以及 XML 数据库访问技术。...

    XML官方指南中文版(CHM) 下载

    XML 指南 在我们这个XML指南里你将学到什么...XML技术重要的是理解和发展XML应用。 -------------------------------------------------------------------------------- XML实例 XML 例子 大量的XML例子!!

    xml基础教程

    《XML 基础教程》系统地阐述了XML的基本概念和语法规则,介绍了如何用DTD与XML Schema来确保XML文档的有效性,讲述了使用CSS与XSL样式表来显示和转换XML文档的各个步骤,探讨了使用DSO与DOM访问XML文档的各种方法。...

    XML宝典(第2版).pdf(保证是PDF格式)

    书中首先介绍了XML的基本概念和基本语法,接着讲解了如何利用文档类型定义(DTD)描述和验证XML文档,如何声明文档的各个组成部分以及在文档中嵌入非XML的数据。利用本书,读者能够掌握如何使用样式表(CSS和XSL)...

    用XML轻松开发WEB站点

    第三部分(XML的实践),内容包括:创建XML文档,创建属于自己的DTD,内容与形式的结合——XSL,XML DOM技术,同步多媒体合成语言SMIL,ASP与XML的联合开发; 第四部分(XML高阶),内容包括:XML在数据库中的...

    XML宝典(第二版)

    书中首先介绍了XML的基本概念和基本语法,接着讲解了如何利用文档类型定义(DTD)描述和验证XML文档,如何声明文档的各个组成部分以及在文档中嵌入非XML的数据。利用本书,读者能够掌握如何使用样式表(CSS和XSL)...

    XML_Validator_Buddy.rar

    完整的XML编辑器和验证器 XML Validator Buddy Desktop是一组易于使用的XML工具,可以编辑、验证、转换和管理甚至大量的... 具有XML相关增强功能的独特Explorer窗口使每个人都能以方便和高效的方式使用XML和JSON技术。

    C# XML入门经典

    主要内容包括:XML语法和格式良好的XML,XML命名空间,利用DTD和XML Schema进行XML验证,使用SOAP和Web服务,以及运用ADO.NET进行数据库访问等。本书还用两个案例分析来展示XML的具体应用。  本书适合于有一定的...

    《XML实用大全》.pdf

    1.3.2 语法分析程序和处理程序 1.3.3 浏览器和其他工具 1.3.4 处理过程总结 .4 相关技术 1.4.1 超文本标记语言(Hypertext Markup Lan 1.4.2 级联样式单(Cascading Style Sheets) 1.4.3 可扩展的样式语言...

    XML 讲解和分析

    XML ▪ XSL ▪ XSLT ▪ XSL-FO ▪ XPath ▪ XPointer ▪ XLink ▪ DTD ▪ XML Schema ▪ DOM ▪ XForms ▪ SOAP ▪ WSDL ▪ RDF ▪ RSS ▪ WAP ▪ Web Services Web脚本 JavaScript ▪ HTML DOM ▪ DHTML ▪ ...

    XML高级编程pdf

    1.4 XML基本特征 1.5 词汇表 1.5.1 科学词汇表 1.5.2 商业词汇表 1.5.3 法律词汇表 1.5.4 医学词汇表 1.5.5 计算机词汇表 1.6 XML技术的主要特性 1.6.1 格式正规的XML 1.6.2 文档类型定义 1.6.3 数据建模 ...

    XML初学入门教程(pdf)

    第一章:在学习XML之前你应该掌握什么 2 第二章:怎么使用XML 3 第三章:XML的语法 4 第四章:文档类型定义 DTD(Document Type Definition) 6 第五章:在NetScape和IE中的XML 8 第六章:微软的XML...

    XML基础教程-电子教案.rar

    XML基础教程-电子教案...XML基础教程、第2章 XML语法、第3章 使用DTD规范XML文档、第4章 使用CSS格式XML文档、第5章 使用XSL转换XML文档、第6章 使用DSO显示XML文档、第7章 使用DOM访问XML文档、第8章 XML网络应用实例

    XML高级编程学习笔记

    此文档是我当初学习《XML高级编程》 英文《PROFESSIONAL XML》 一书是做的一个电子...文中详细的介绍了 xml 语法,编辑器,css,xsl,xml模式、xstl、xpath、xquery、soap、java,c#,数据库厂商对其的支持,ws*的规范等。

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

     好了,通过第三章的学习,我们已经了解了一些XML和DTD的基本术语,但是我们还不知道怎样来写这些文件,需要遵循什么样的语法,在下一章,将重点介绍有关撰写XML和DTD文档的语法。 第四章 XML语法 七.DTD的语法...

    XML 高级编程(高清版)

    1.4 XML基本特征 1.5 词汇表 1.5.1 科学词汇表 1.5.2 商业词汇表 1.5.3 法律词汇表 1.5.4 医学词汇表 1.5.5 计算机词汇表 1.6 XML技术的主要特性 1.6.1 格式正规的XML 1.6.2 文档类型定义 1.6.3 数据建模 ...

    很经典的XML入门教程

    第三章:XML 的语法 第四章:文档类型定义 DTD(Document Type Definition) 第五章:在NetScape 和IE 中的XML 第六章:微软的XML 解释器 第七章:XML DOM 第八章:XSL - The Style Sheet Language of XML(XML 的样式...

Global site tag (gtag.js) - Google Analytics