选择模式 - XSL教程 - 2

什么是选择模式
选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法,这几个标记都有一个select属性,选取XML中特定的结点名的数据
 注意,每个xsl文件都需要导入xsl的命名空间,http://www.w3.org/TR/WD-xsl,例如在xml头声明之后加入:<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">

1、<xsl:for-each>
  这个语句是逐个(select)选择某条件,应用条件。例如,有如下数据库的用户列表:
<?xml version="1.0" encoding="GB2312"?>
<Users>
    <User>
        <Name>5do8</Name>
        <ID>1</ID>
        <Professional>.NET,PHP Design</Professional>
    </User>
    <User>
        <Name>cjjer</Name>
        <ID>2</ID>
        <Professional>DataBase Manage</Professional>
    </User>
</Users>

需要只输出全部的Name列,这里有两个问题:
  1:需要把每个User节点下面的数据都选择,就是需要定位到User节点,我们使用for-each下面的select。
  2:需要选择Name节点,我们使用value-of下面的select。
  建立xsl文件:
  <?xml version="1.0" encoding="GB2312"?>
<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:for-each select="Users">
<BODY>
<xsl:for-each select="User">
<xsl:value-of select="Name" /><hr />
</xsl:for-each>
</BODY>
</xsl:for-each></p>
  保存为UserList_for-each.xsl.在xml文件第二行增加:
<?xml:stylesheet type="text/xsl" href="UserList_for-each.xsl"?>
  在IE5+以上的浏览器中效果可见。
  for-each还支持排序,order-by语句,它的语法是以分号(;)分隔、作为排序标准的列表。在列表元素前添加加号(+)表示按此标记的内容以升序排序,添加减号(-)表示逆序排序。作为一种简化的表示就是,排序标准列表就是由select规定的标记的子标记的序列,每个标记之间以(;)分隔。

2、<xsl:value-of>
value-of是选择当前节点的值
  例如如上的例子中选择了<xsl:value-of select="Name" />就是选择Name节点的值。
xsl:sort排序处理
对于用xsl:for-each或xsl:apply-templates匹配的节点,可使用xsl:sort将所选节点内容进行排序
按大小写排序 
<xsl:sort case-order="upper-first" select="@id"/> 以id为关键字按大写优先排序 
<xsl:sort case-order="lower-first" select="@id"/> 以id为关键字按小写优先排序 
按字母顺序排序 
<xsl:sort order="ascending" select="@id "/> 以id为关键字按字母升序排序 
<xsl:sort order="descending" select="@id "/> 以id为关键字按字母降序排序 
按数据类型排序 
<xsl:sort data-type="text" select="@id"/> 以id为关键字按文本类型排序,如对于一组id数据101,2,44,305 来说,排序结果是101,2,305,44 
<xsl:sort data-type="number" select="@id"/> 以id为关键字按数据类型排序,上面一组数据的排序结果是2,44,101,305 
另外,还有一种指定排序的方法,就是在前面学生花名册例中所使用的order-by: <xsl:for-each select="student" order-by="name"> 也可使得输出学生时按名字排序。

3、<xsl:xsl:apply-templates>
xsl:apply-templates是应用已经定义的模板
  例如:<xsl:apply-template select="Users/User">……</xsl:apply-template>

如上三者,都有共同的使用方法,就是必须要Select语句选择,关于Select语句的语法,就是XPath,关于XPath的使用规范,将在下一讲中详细描述。

(0)

相关推荐

  • 选择模式 - XSL教程 - 2

    什么是选择模式 选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法,这几个标记都有一个select属性,选取XML中特定的结点名的数据  注意,每个xsl文件都需要导入xsl的命名空间,http://www.w3.org/TR/WD-xsl,例如在xml头声明之后加入:<p xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 1.<xsl:for-each>   这个语句是逐个(select)选择某条件,应用条件.例如,

  • 测试模式 - XSL教程 - 5

    xslt支持的测试模式语句,用于条件判断,主要有:<xsl:if> 和<xsl:choose>及其下的<xsl:when>和<xsl:otherwise>   还是在匹配模式中使用的用户列表数据源. 1:使用xsl:if <?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl=&

  • 匹配模式 - XSL教程 - 4

    <xsl:template> 元素定义了用于匹配节点的规则(match,其中"/"匹配整个文档),在apply-template使用    语法规则为: <xsl:template name="name" match="pattern" mode="mode" priority="number">   <!-- Content:(<xsl:param>*,templ

  • 关于XSL - XSL教程

    什么是XSL   全称Extensible Style Language,中文译作扩展样式语言,用于格式化XML文档,它由两部分组成.   1(XSLT ):XSL Transformation Language(XSLT),它可以把XML文档从一种格式转化为另一种格式.如转成html,文本或是基于文本的文档.   2( XPath):XSL格式化对象,格式化对象提供了CSS的另一方式 来格式化XML文档,以及应用样式到XML文档上! XML的使用   如下Html格式的数据:<HTML> &

  • Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程

    一.摘要 这篇文章将介绍Spring整合Mybatis 如何完成SqlSessionFactory的动态切换的.并且会简单的介绍下MyBatis整合Spring中的官方的相关代码. Spring整合MyBatis切换SqlSessionFactory有两种方法 第一. 继承SqlSessionDaoSupport,重写获取SqlSessionFactory的方法. 第二.继承SqlSessionTemplate 重写getSqlSessionFactory.getConfiguration和Sq

  • 详谈Android ListView的选择模式

    效果图: ListView 定义了choiceMode属性,描述是这样的: 用于为视图定义选择行为.默认情况下,列表时没有任何选择行为的.如果把choiceMode设置为singleChoice,列表允许有一个列表项处于被选状态.如果把choiceMode设置为multipleChoice,那么列表允许有任意数量的列表项处于被选状态 ListView以某种方式通过Checkable接口处理视图的选择状态,LIstView源码中有这么一段: if (mChoiceMode != CHOICE_MO

  • 详解WPF的InkCanvas选择模式

    InkCanvas是WPF中进行墨迹绘制的控件,本文介绍下InkCanvas控件是如何进行选择操作的.文中有误的地方希望大家进行批评指正. InkCanvas的选择效果 使用WPF可以轻松实现白板功能,只需要添加一个InkCanvas控件.修改InkCanvas的EditingMode属性可以控制InkCanvas的操作模式,如书写.选择.擦除等模式. 如下demo在窗口中添加一个InkCanvas,然后添加一个Button实现书写与选择模式的切换. // xaml <Grid> <In

  • XPath入门 - XSL教程 - 3

    什么是XPath   XPath(可扩展路径) 是给 XSL 转换[XSLT]和 XPointer [XPointer]的共享功能提供一个共用的句法及语义的结果.XPath的主要的目是用于对 XML 文档元件寻址.在支持这个主要目的的同时,它也为字符串,数字和布尔的操作提供了基本手段.XPath 使用简明的.非 XML 句法以便於在 URIs 和 XML 属性值以内使用 XPath,XPath 对 XML 文档的抽象的.逻辑的结构而非它的表面句法进行操作,XPath 的名字源于它在 URL 中用

  • Tomcat安装与配置Native APR模式的教程

    前言 众所周知APR 能大幅提高 tomcat 的性能,但我并没有做过性能比较测试.下面这篇文中主要介绍了在 CentOS 6.5 下为 tomcat 7 安装和配置 APR 模式的步骤和过程.在安装之前,先进行简单的介绍一下相关的内容,下面来一起学习学习吧. 技术准备 什么是APR?(以下是来自维基百科的内容) Apache可移植运行时( Apache Portable Runtime,简称APR)是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API.如果操作系统不支持

  • 彻底弄懂CSS盒子模式系列教程集合

    blueidea终于可以出点让人惊呀的东西了,一直对clear和position不太理解,没想到这次的系列教程全给提及到了,不错,赞一下. 彻底弄懂CSS盒子模式之一彻底弄懂CSS盒子模式之二彻底弄懂CSS盒子模式之三彻底弄懂CSS盒子模式之四彻底弄懂CSS盒子模式之五

随机推荐