选择模式 - XSL教程 - 2

栏目: 编程语言 · XML · 发布时间: 7年前

内容简介:选择模式 - 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的使用规范,将在下一讲中详细描述。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Computational Geometry

Computational Geometry

Mark de Berg、Otfried Cheong、Marc van Kreveld、Mark Overmars / Springer / 2008-4-16 / USD 49.95

This well-accepted introduction to computational geometry is a textbook for high-level undergraduate and low-level graduate courses. The focus is on algorithms and hence the book is well suited for st......一起来看看 《Computational Geometry》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具