跟我学XSL(6)XSL的运算符

2016-02-19 17:50 1 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享跟我学XSL(6)XSL的运算符的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

表一、运算符与特殊字符  运算符描述

  /

选择子元素,返回左侧元素的直接子元素;如果"/"位于最左侧表示选择根结点的直接子元素

  //

递归下降,不论深度,搜索指定的元素;如果位于最左侧表示从根结点出发递归下降搜索指定元素

  .

表示当前元素

  *

通配符,选择任意元素,不考虑名字

  @

  取得属性值,作为属性名的前缀

  @*

  通配符,选择任意属性,不考虑名字

  :

名字作用范围分隔符,将名字作用范围前缀与元素或属性名分隔开来

  !*

在相关节点上应用指定方法

  ()*

分组,明确指定优先顺序

  []

应用过滤样式

  []*

下标运算符,用于在集合中指示元素

  表二、逻辑运算符

 可选方式描述

  and $and$ 或 &&

逻辑与

  or $or$ 或 ||

逻辑或

  not() $not$

逻辑非

  表三、关系运算符

 可选方式描述

  = 或 $eq$

相等

  = 或 $ieq$

相等(不区分大小写)

  != 或 $ne$

不等

  $ine$

不等(不区分大小写)

   或 $lt$

小于

  $ilt$

小于(不区分大小写)

  = 或 $le$

小于等于

  $ile$

小于等于(不区分大小写)

   或 $gt$

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)大于

  $igt$

大于(不区分大小写)

  = 或 $ge$

大于等于

  $ige$

大于等于(不区分大小写)

  $all$

集合运算符,如果集合中所有项目均满足条件则返回"真"

  $any$

集合运算符,如果集合中任意项目满足条件则返回"真"

  |

集合运算符,返回两个集合的联合

  示例一:

  从个人简历中寻找具有具有"WEB开发"技能的人的姓名与E-Mail。假设文档结构如下所示:

  document
resume
namename/name
sexsex/sex
birthdaybirthday/birthday
skillskill1/skill
skillskill2/skill2

skillskilln/skill
/resume
resume

/resume

/document

  为从以上结构的个人简历中寻找出所有具有WEB开发"技能的人的姓名与E-Mail的XSL文档结构如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  TABLE border="1" cellspacing="0"
TH姓名/THTHE-Mail/TH
xsl:for-each select="resume [$any$skill="WEB开发"]"
TRTDxsl:value-of select="name"//TD
TDxsl:value-of select="E-Mail"//TD
/TR
/xsl:for-each
/TABLE

  说明:

  1.[ ] ── 表示选择条件,只有满足条件的个人简历才被显示。

  2.$any$ ── 由于每个人有多种技能,故加$any$作为前缀,以使每个人所有技能都能被比较。

  3.skill='WEB开发' ── 筛选条件。

  示例二、

  仍上面的XML文档为例,如果欲选择1977/1/1之前出生的人的姓名、技能与E-Mail,相应的XSL文档结构如下(假定生日格式为yyyy/mm/dd):

  TABLE border="1" cellspacing="0"
TH姓名/THTH技能/THTHE-Mail/TH
xsl:for-each select="resume[birthday$lt$"1977/1/1"]"
TR
TDxsl:value-of select="name"//TD
TD
xsl:value-of select="skill[0]"/
xsl:for-each select="skill[index()0]"、
xsl:value-of select="."/
/xsl:for-each
/TD
TDxsl:value-of select="E-Mail"//TD
/TR
/xsl:for-each
/TABLE

  说明:

  1.birthday $lt$ '1977/1/1' ── 搜索条件,在此处使用" "会错误,故使用"$lt$"表示小于。

  2.skill [0] ── 表示选择skill的第一项。

  3.skill [index()0] ── 表示选择skill的第二项以后(包括第二项)的项目。

  4.xsl:value-of select="." ── 表示选择当前标记的值。

  相信大家应该注意到,在前面以及本次的例子中出现了一些函数,如index()、formatIndex()、childNumber(),也许大家还不完全明了其中的含义吧?敬请关注下一课。

来源:https://www.tulaoshi.com/n/20160219/1616192.html

延伸阅读
标签: Web开发
随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。HTML将数据内容与表现融为一体,可修改性、数据可检索性差,而XML借鉴了HTML与数据库、程序语言的优点,将内容与表现分开,不仅使检索更为方便,更主要的是用户之间数据的交换更加方便,可重用性更...
自定义类的赋值运算符重载函数的作用与内置赋值运算符的作用类似,但是要要注重的是,它与拷贝构造函数与析构函数一样,要注重深拷贝浅拷贝的问题,在没有深拷贝浅拷贝的情况下,假如没有指定默认的赋值运算符重载函数, !-- frame contents -- !-- /frame contents -- 那么系统将会自动提供一个赋值运算符重载函数。 ...
为什么需要转换运算符? 大家知道对于内置类型的数据我们可以通过强制转换符的使用来转换数据,例如(int)2.1f;自定义类也是类型,那么自定义类的对象在很多情况下也需要支持此操作,C++提供了转换运算符重载函数,它使得自定义类对象的强转换成为可能。 转换运算符的生命方式比较非凡,方法如下: operator 类名(); ...
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft...
(六)串行数据类型 SQL的数据类型决定了一个字段的内容在数据库中会被如何处理、存储和显示。SQL92定义了标准的数据类型,目的是给数据库制造商建立自己的数据类型提供蓝图。在前面的文章中,我们介绍了一些常用的数据类型,这些数据类型分为四大类: 串行 数值 日期时间 区间型 本文将向你概述这些数据类型...

经验教程

485

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部