`
xinklabi
  • 浏览: 1591360 次
  • 性别: 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>

分享到:
评论

相关推荐

    简单的xml与xsl实例

    XML(Extensible Markup Language)和XSL(eXtensible Stylesheet Language)是Web开发中的两种重要技术,它们主要用于数据的存储和呈现。XML是一种标记语言,用于结构化地描述数据,而XSL则用于转换XML文档的结构,...

    xml与xsl的小实例

    XML(Extensible Markup Language)和XSL(eXtensible Stylesheet Language)是Web开发中的两种重要技术,它们主要用于数据的结构化表示和格式化显示。在这个“xml与xsl的小实例”中,我们将探讨这两种语言的基础...

    XML+XSL/FO生成PDF文件Demo

    总之,XML+XSL/FO+FOP技术栈提供了一种强大的方法,将结构化的XML数据转换为专业品质的PDF文档,适合于各种业务场景,如自动化报表生成、电子出版物制作等。熟悉这一流程对于IT从业者,尤其是从事数据处理、文档管理...

    xml+xsl

    标题中的“xml+xsl”指的是XML(可扩展标记语言)与XSL(可扩展样式表语言)的结合使用。XML是一种用于标记数据的语言,而XSL则是一种用于转换和呈现XML文档的语言。这两种技术在处理结构化数据和网页布局方面扮演着...

    xml和xsl的练习例子

    1. **理解XML语法**:学习如何正确地编写XML文档,包括元素、属性、命名空间和实体引用等基本概念。 2. **掌握XPath**:学会使用XPath表达式来选取XML文档中的特定节点,这对于XSLT的模板匹配至关重要。 3. **编写...

    XML与CSS、XML与XSL及在页面中直接调用XML的数据

    为了处理XML,我们需要XML解析器,它可以验证XML文档的语法,并将其转换为数据结构供程序使用。解析器分为两种类型:DOM(文档对象模型)和SAX(简单API for XML)。DOM一次性加载整个XML文档到内存,适合小规模...

    xml xsl网页生成

    XML(可扩展标记语言)和XSL(可扩展样式表语言)是Web开发中的核心技术,它们主要用于数据的结构化表示和格式化展示。XML是一种标记语言,它允许开发者定义自己的标签来描述数据,使得数据更加结构化,易于解析和...

    XSL.rar_ XML-JSP_.CHM_XML chm_xml xsl_xsl

    《XSL语法详解——XML与JSP的交互实践》 XSL(Extensible Stylesheet Language)是一种用于转换XML文档的样式表语言,它为XML数据提供了强大的格式化和转换能力。XSL的主要任务是将XML数据转换成其他形式,如HTML、...

    study_XML.rar_xml_xml xsl_xsl_xslt

    "系统说明.txt"可能是关于XML和XSLT学习系统的介绍或指南,"www.pudn.com.txt"可能包含了有关XML和XSLT的学习资源链接或示例代码,而"XML 初学进阶"可能是一个教程文档,详细介绍了XML的基本概念和进阶技术,包括...

    XML DTD XSL XLD DOM

    "XSL文档.rar"可能包含了XSLT的基本语法、模板匹配和变量使用的实例。 XLD(XML链接定义)并不是一个广泛接受的标准,可能是某个特定环境或应用下的术语。通常,XLink(XML链接)用于XML文档中创建复杂的链接结构,...

    xml+css+xsl个人简历

    XML(可扩展标记语言)是用于存储和传输结构化数据的标准格式,它的设计目标是简化数据的共享和...通过这个项目,你可以深入了解XML的语法规则,CSS的样式设计,以及XSLT的转换逻辑,进一步提升自己的前端开发技能。

    Xslt语法参考手册.pdf

    ### XSLT语法参考手册概览 ...XSLT的强大之处在于它的灵活性和功能性,它不仅支持基本的XML数据处理,还提供了一系列高级特性,如条件判断、循环、变量定义等,使得开发人员能够轻松地完成各种复杂的XML数据处理任务。

    XML学习 练习XSL

    1. **XML基础**:理解XML的基本结构,包括元素、属性、文本内容、注释、处理指令等。学习如何编写有效的XML文档,遵循XML的命名规则和语法规则。 2. **DTD(Document Type Definition)或XML Schema**:了解如何...

    xsl、xml编程电子书和网页

    1. **XML语法**:包括如何定义元素、属性、命名空间等,以及XML文档的基本结构。 2. **XPath**:XML路径语言,用于在XML文档中查找信息。它允许选取节点,或者节点集合,也可以用于评估表达式。 3. **XSLT模板**:...

    XML HTML CSS XSL Web编程实作教程

    XML(可扩展标记语言,eXtensible Markup Language)、HTML(超文本标记语言,HyperText Markup Language)、CSS(层叠样式表,Cascading Style Sheets)以及XSL(可扩展样式表语言,eXtensible Stylesheet Language...

    XML HTML CSS XSL Web编程实作

    学习这些技术需要理解它们的基本概念、语法以及如何在实际项目中应用。XML用于数据的组织和交换,HTML5和CSS3负责页面的结构和样式,XSLT则提供了一种将XML数据转化为用户友好格式的方法。掌握这些技能对于现代Web...

    CSS、XSL显示XML实验报告 报告+实验代码+截图+心得

    - **掌握XSL的基本语法及其在转换和显示XML数据时的应用方法**。 - **能够对比分析CSS与XSL在处理相同XML文件时的效果差异**。 #### 二、实验内容 ##### XML文件内容解析 实验中使用的XML文件包含了六本书的信息...

    XML的使用方式示列(xsl、xsd、dtd等)

    1. **XML基本结构** XML文档由一系列元素构成,每个元素通过标签括起来,例如 `&lt;element&gt;` 和 `&lt;/element&gt;`。元素可以包含其他元素、文本、属性以及引用资源。XML文档必须遵循严格的语法,如所有元素都需关闭,属性...

Global site tag (gtag.js) - Google Analytics