XSL教程:了解XSL的选择模式_XHTML/WEB_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

XSL教程:了解XSL的选择模式

作者:黑客防线网安XML教程基地 来源:黑客防线网安XML教程基地 浏览次数:0

本篇关键词:模式选择了解教程
黑客防线网安网讯:什么是选择模式选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法,这几个标记都有一个select属性,选取XML中特定的结点名的数据注意,每个xsl文件都需要导入xsl的命名空间,ht...

什么是选择模式

选择模式语句将数据从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的使用规范,将在下一讲中详细描述。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16119-1.html
网站维护教程更新时间:2012-04-06 01:08:17  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer