第6章 可扩展样式语言XSL_第1页
第6章 可扩展样式语言XSL_第2页
第6章 可扩展样式语言XSL_第3页
第6章 可扩展样式语言XSL_第4页
第6章 可扩展样式语言XSL_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第6章可扩展样式语言XSL

本章学习要点学习链接XSL到XML文档的方法掌握模板的定义和应用熟练掌握节点的选择方式理解如何访问单个节点和多个节点本章学习要点学会使用函数选择节点熟练掌握如何对输出结果进行排序掌握如何选择输出节点学习XSL中的运算符和表达式链接XSL到XMLXML文档XSL文档链接<?xml:stylesheettype=”text/xsl”href=”URL”?>处理指令名样式表类型样式表地址xsl:stylesheet元素xsl:stylesheet元素是XSL文件的根元素,就像XML文件要求的那样,在XSL文件中只能有一个根元素。<xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:stylesheet>xsl:transform元素在一个XSL文件中xsl:stylesheet元素和xsl:transform元素只能出现一个,其用法和xsl:stylesheet元素基本相同。<xsl:transformversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:transform>联合样式表xsl:import元素通过使用xsl:import元素,可以将一个样式表导入到另一个样式表中。xsl:include元素可以使用xsl:include元素包含其他的样式表。定义模板元素xsl:template

模板的定义由xsl:template元素来实现。在一个XSL文件中可能会定义多个模板,每个模板都是一组规则,这组规则将特定的输出与特定的输入相关联,实现数据显示的转换。XSL模板自定义XML样式表主要组件模板üüü模板规则XSLT输出控制

模板规则模式动作xsl:template应用模板元素xsl:apply-templates在XSL中模板定义不可以嵌套。就像在C语言中函数的定义不可以嵌套一样。这时就需要将多个模板并列定义。若想在根节点模板中使用其他元素模板,可以使用应用模板元素xsl:apply-templates。该元素可以有一个select属性,用来指定要处理的节点集。访问节点访问单个节点xsl:value-of访问多个节点xsl:for-each节点的选择方式为模板选择多个元素为选择的元素添加条件使用函数选择节点访问单个节点xsl:value-ofxsl:value-of元素用于将节点的内容复制到输出结果中,指令的select属性用于选择被提取值的节点。<xsl:templatematch="职工">…… <xsl:value-ofselect="职工编号"/>……</xsl:template>访问多个节点xsl:for-each<xsl:templatematch="职工列表"> …… <xsl:for-eachselect="职工"> …… <xsl:value-ofselect="职工编号"/> …… </xsl:for-each> ……</xsl:template>节点的选择方式直接使用元素名使用通配符使用路径选择元素使用通配符匹配任意节点匹配任意节点使用“*|/”,即匹配当前节点及所有子节点和根节点。点号匹配符点号“.”用于匹配当前节点,包括当前节点下的所有子节点。星号匹配符星号“*”用于匹配当前节点,当星号“*”用在根节点的内部时能够访问根节点下的所有子节点。使用路径选择元素使用绝对路径使用相对路径在路径中使用星号“*”在路径中使用“//”为模板选择多个元素在前面的介绍中,一个模板都是应用某一个选定的节点,XSL允许一次选择多个节点。一次选择多个节点使用“|”。<xsl:templatematch="职工编号|姓名|性别"> <xsl:value-ofselect="."/></xsl:template>为选择的元素添加条件在XSL中可以为选择的元素添加限制条件,如可以限制元素必须有给定的子元素、必须有给定的属性、必须有某个元素的值、必须有某个属性的值,甚至可以限制某个元素的值必须为给定的字符串。为选择的元素添加限制条件需要使用符号“[]”。为选择的元素添加条件限制元素必须有子元素添加多个限制条件在条件中使用星号限制元素必须带有给定属性限制元素内容为给定字符串限制元素属性为给定字符串使用函数选择节点选择指令函数:processing-instruction()选择注释函数:comment()选择文本函数:text()选择任意节点函数:node()对输出结果排序在IE5.0中可以使用“xsl:for-each”元素和“xsl:apply-templates”元素的“order-by”属性来控制输出结果的显示顺序。<xsl:templatematch="职工列表"> <xsl:apply-templatesselect="职工"order-by="+联系电话"/></xsl:template>对输出结果排序order属性:设置排序次序,属性值为“ascending”时代表升序,属性值为“descending”时代表降序。select属性:设置排序的关键字。data-type属性:设置排序标准,属性值为“text”时代表按照文字顺序排序,属性值为“number”时代表按照数字顺序排序。使用“xsl:sort”元素运算符和表达式加法:+减法:-乘法:*除法:div关系运算符和关系表达式大于号:>大于等于号:>=小于号:<小于等于号:<=等于号:=不等于号:!=对输出节点的选择“xsl:if”元素“xsl:choose”元素“xsl:if”元素“xsl:if”元素提供了根据输入文档内容来改变输出文档的简单途径,类似于C语言中的if语句(不含else语句)。“xsl:if”元素的“test”属性可以是一个关系表达式,用来计算布尔值。如果此表达式为true,即输出“xsl:if”元素的内容;否则,不输出“xsl:if”元素的内容。“xsl:if”元素<xsl:if>元素test属性:条件表达式,如果为真,则输出<xsl:if>的内容,否则不输出<xsl:if>的内容。“xsl:choose”元素在XSL中不存在“xsl:else”元素与“xsl:if”相对应,但是“xsl:choose”元素可以提供这一功能。根据几个可能的条件,“xsl:choose”元素从中选择一个。“xsl:when”子元素提供各种条件和相关的输出模板。在“xsl:when”子元素中“test”属性的设置方法与“xsl:if”元素的“test”属性设置方法相同。即哪一个“xsl:when”元素中“test”属性为真,就显示哪一个“xsl:when”元素中的模板内容。如果有多个为真,则显示为真的第一个模板内容。如果都不为真,则显示“xsl:otherwise”子元素模板的内容。“xsl:choose”元素<xsl:choose>元素用法<xsl:choose> <xsl:whentest=条件表达式> </xsl:when> …… <xsl:otherwise> </xsl:otherwise></xsl:choose>“xsl:choose”元素<td> <xsl:choose> <xsl:whentest="price1<='1000'"> <xsl:attributename="style"> border:1pxsolid#0000FF; </xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attributename="style"> border:2pxinset#6699FF;

温馨提示

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

评论

0/150

提交评论