文档详情

第四节 XSL控制指令.doc

发布:2015-09-07约8.97千字共9页下载文档
文本预览下载声明
第四节 XSL控制指令 与CSS相比,XSL的功能更为强大,这是由于XSL能够对XML文档中的数据进行更为复杂的处理,例如对数据进行排序、过滤和计算等。 XSL用来处理数据的控制指令,如下所示: 单条件判断指令 多条件判断指令 循环处理指令 排序指令 1. 单条件判断指令 在XSL中,可以使用条件判断指令来决定是否显示指定的元素或属性,条件判断指令分为: 单条件判断指令:xsl:if 多条件判断指令:xsl:choose 单条件判断指定的语法格式如下: xsl:if test=codition . . 语句块 . /xsl:if 其中: test属性指定判断条件,如果判断条件满足,则执行if语句块中的内容;如果条件不满足,则忽略if语句块中的内容。 判断条件codition分为如下四种情况: 以元素值为条件 以属性值为条件 在判断条件中可以使用各种比较运算符和逻辑运算符,如下表所示: 运算符 含 义 示 例 = 等于 名称[. = ’牙膏’] 价格[. = 20] != 不等于 名称[. != ’牙膏’] 价格[. != 20] lt; 小于 价格[. lt; 20] 数量[. lt; 100] gt; 大于 价格[. gt; 20] 数量[. gt; 100] lt;= 小于等于 价格[. lt;= 20] 数量[. lt;= 100] gt;= 大于等于 价格[. gt;= 20] 数量[. gt;= 100] and 逻辑与 价格[. gt; 20 and . lt; 40] 数量[. gt;= 100 and . lt;= 200] or 逻辑或 名称[. = ’牙膏’ or . = ’牙刷’] 价格[. lt; 20 or . gt; 40] not 逻辑非 名称[not ( . = ’牙膏’ )] (1) 以元素值为条件 示例1:以描述产品信息的XML文档为例,仅显示名称为“牙膏”的产品信息,XSL文件如下所示: ?xml version=1.0 encoding=GB2312? xsl:stylesheet version=1.0 xmlns:xsl=/1999/XSL/Transform xsl:template match=/ xsl:apply-templates select=产品信息/ /xsl:template xsl:template match=产品信息 html body table border=1px align=center width=400px cellspacing=0px cellpadding=5px tr align=center th产品编号/th th产品名称/th th产品价格/th th产品数量/th /tr xsl:apply-templates select=产品/ /table /body /html /xsl:template xsl:template match=产品 xsl:if test=名称[. = 牙膏] tr align=center tdxsl:value-of select=@产品编号//td tdxsl:value-of select=名称//td tdxsl:value-of select=价格//td tdxsl:value-of select=数量//td /tr /xsl:if /xsl:template /xsl:stylesheet 示例2:以描述产品信息的XML文档为例,显示“价格小于等于4”的产品信息,XSL文件如下所示: ?xml version=1.0 encoding=GB2312? xsl:stylesheet version=1.0 xmlns:xsl=/1999/XSL/Transform xsl:template match=/ xsl:apply-templates select=产品信息/ /xsl:template xsl:template match=产品信息 html body table border=1px align=center width=400px cellspacing=0px cellpadding=5px tr align=center th产品编号/th th产品名称/th th产品价格/th th产品数量/th /tr
显示全部
相似文档