运算符、关系与逻辑运算符,特殊字符等
今天我们学习XSL的各种运算符,满足编写更大灵活性的XSL样式的要求。
1、运算符与特殊字符
/选择子元素,返回左侧元素的直接子元素;如果“/”位于最左侧表示选择根结点的直接子元素
//递归下降,不论深度,搜索指定的元素;如果位于最左侧表示从根结点出发递归下降搜索指定元素
.表示当前元素
*通配符,选择任意元素,不考虑名字
@取得属性值,作为属性名的前缀
@*通配符,选择任意属性,不考虑名字
:名字作用范围分隔符,将名字作用范围前缀与元素或属性名分隔开来
!*在相关节点上应用指定方法
()*分组,明确指定优先顺序
[]应用过滤样式
[]*下标运算符,用于在集合中指示元素
2、逻辑运算符(比较运算符)
比较运算符可选样式描述
and$and$或&&逻辑与
or$or$或||逻辑或
not()$not$逻辑非
3、关系运算符
=$eq$相等
=$ieq$相等(不区分大小写)
!=$ne$不等
$ine$不等(不区分大小写)
<$lt$小于
$ilt$小于(不区分大小写)
<=$le$小于等于
$ile$小于等于(不区分大小写)
>$gt$大于
$igt$大于(不区分大小写)
>=$ge$大于等于
$ige$大于等于(不区分大小写)
$all$集合运算符,如果集合中所有项目均满足条件则返回“真”
$any$集合运算符,如果集合中任意项目满足条件则返回“真”
|集合运算符,返回两个集合的联合
示例一:
从个人简历中寻找具有具有“爱好交友”爱好的美眉的资料。假设文档结构如下所示[lizi6.xml]:
<?xmlversion="1.0"encoding="GB2312"?>
<?xml:stylesheettype="text/xsl"href="lizi6.xsl"?>
<document>
<resume>
<name>美眉A</name>
<sex>女</sex>
<birthday>2000.1.1</birthday>
<skill>爱好交友</skill>
</resume>
<resume>
<name>美眉B</name>
<sex>女</sex>
<birthday>2000.1.2</birthday>
<skill>爱好上网</skill>
</resume>
</document>
为从以上结构的个人简历中寻找出所有具有“爱好交友”爱好的美眉的资料的XSL文档结构如下[lizi6.xsl]:
<?xmlversion="1.0"encoding="GB2312"?>
<HTMLxmlns:xsl="http://www.w3.org/TR/WD-xsl">
<HEAD>
<TITLE>XML技术@【孟宪会之精彩世界】</TITLE>
</HEAD>
<BODYBGCOLOR="#00CC66">
<xsl:for-eachselect="document">
<xsl:for-eachselect="resume[$any$skill='爱好交友']">
<TABLEborder="2"cellspacing="1"bordercolor="#6666FF"align="center">
<CAPTIONstyle="font-size:150%;font-weight:bold">网上美眉简历</CAPTION>
<TR>
<TH>姓名</TH><TD><xsl:value-ofselect="name"/></TD>
<TH>性别</TH><TD><xsl:value-ofselect="sex"/></TD>
<TH>生日</TH><TD><xsl:value-ofselect="birthday"/></TD>
</TR>
<TR>
<TH>技能</TH><TDcolspan="5"><xsl:value-ofselect="skill"/></TD>
</TR>
<TR>
<TH>照片</TH><TDcolspan="5"><imgsrc="http://elove.heha.net/javabk1.jpg"/></TD>
</TR>
</TABLE>
</xsl:for-each>
</xsl:for-each>
<divalign="center">
<form><inputtype="button"value="关闭本页"onclick="javascript:window.close()"/>
</form></div>
</BODY>
</HTML>
说明:
1.[]───表示选择条件,只有满足条件的个人简历才被显示;
2.$any$──由于每个人有多种技能,故加$any$作为前缀,以使每个人所有技能都能被比较;
3.skill='爱好交友'──筛选条件
[UseMoney=2][/UseMoney]
(转载自http://bbs.xml.org.cn)
相关推荐
一本非常好的XSL入门教程, 分成以下几大单元 1.第一个XML文档 2.XSL入门 3.XSL模板与...运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与XSL的结合及应用 9.XSL函数之二(DOM中对象的方法)
**二、逻辑运算符** 1. `and` 或 `$and$` - 逻辑与,当两边的表达式都为真时结果为真。 2. `or` 或 `$or$` - 逻辑或,只要有一边的表达式为真,结果就为真。 3. `not()` - 逻辑非,反转表达式的布尔值。 **三、...
此外,XPath还提供了比较运算符、逻辑运算符以及函数,如 `count()` 计算节点数量,`contains()` 检查字符串是否包含特定子串。 **XSL知识速查**: 对于初学者或经验丰富的开发者来说,拥有一个XSL知识速查工具非常...
一本非常好的XSL入门教程, 分成以下几大单元 1.第一个XML文档 2.XSL入门 3.XSL模板与匹配模式 ...6.运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与XSL的结合及应用 9.XSL函数之二(DOM中对象的方法)
### XSL速查手册知识点...以上内容总结了XSL速查手册中的关键知识点,包括XPath的基础概念、路径表达式的构成、XPath表达式、XPath函数库等方面的内容。这些知识点对于理解和使用XSL进行XML文档的转换具有重要意义。
=、<、>、、>=)、逻辑运算符(and、or)、算术运算符(+、-、*、/、div、mod)等。函数则涵盖字符串、数字、节点集和布尔值的处理,如concat()用于连接字符串,number()用于转换节点为数字,contains()检测字符串...
在XSLT中,测试一个字符串是否以特定字符序列结尾可以通过多种方式实现。例如,可以使用`substring`函数结合字符串长度进行比较。假设我们要检查字符串`s`是否以子串`suffix`结尾: ```xslt <xsl:variable name=...
在本教程中,你将深入探索XML的世界,理解它的基本结构、语法规则以及它如何与其他技术相互作用,如XSL、XPath和XLink。 一、XML基础 1. XML元素:XML文档由元素构成,每个元素都有开始标签和结束标签,如 `...
25. Access提供的查询准则运算符包括关系运算符、逻辑运算符和特殊运算符,所以正确答案是D.以上都是。 26. 计算机的主要应用领域包括科学计算、数据处理、自动控制、计算机辅助设计、办公自动化和人工智能,这一...
=`, `, `>`, `, `>=`)和逻辑运算符(`and`, `or`)。 XPathTutorial.chm文件可能包含了关于这些概念的详细解释,以及示例和练习,帮助初学者理解XPath的工作原理和实际应用。同时,`xpath`文件可能是与教程配套的...
逻辑运算符不包括`$gt$`,它是比较运算符。XML的处理指令(Processing Instruction, PI)的例子是`<?xml-stylesheet ...>`,用于关联CSS样式表。XSL语言不负责定义XML模式,但可以转换XML为HTML,格式化输出,并链接...
- **知识点**: 字符串比较使用`$`符号(这里假设为字符串比较运算符),逻辑运算符包括`AND`、`OR`、`NOT`等。 **解析**: 在本例中,选项D `NOT(MN)` 的含义为 `NOT(M > N)`,由于`M`和`N`均为数字字符串,比较的...
- 在BI Publisher中,数据源的灵活性非常高,可以从各种不同的数据存储中提取数据,包括关系数据库、XML文件、Web服务等。 - 数据源的选择对于报告的准确性和性能至关重要。登录到BI Publisher并选择正确的数据源表...
8. MySQL的逻辑运算符包括AND(&&)、OR、NOT,而1并不是逻辑运算符。 9. ListIterator是Iterator的子类,它可以双向遍历集合,包括向前和向后。 10. Date、Calendar和DateFormat类在java.util包中,但DateFormat...
**描述**:题目考察逻辑运算符及其在表达式中的应用。 **答案**:选项D中的表达式`!((x)&&!z||1)`的值为0,因为无论`x是否为真,`!z||1`总是为真,导致整个表达式的值为0。 ### 知识点13:文件系统与数据库...
XPath 在实际应用中广泛用于 XSLT(XSL 转换)中,用来从源 XML 文档中选取要转换的数据。它还可以与 XQuery 结合,创建复杂的 XML 数据查询。在 Web 开发中,XPath 常常用于网页抓取和数据提取,因为它能方便地定位...
4. 关系数据库:在关系数据库中,每一横行称为一个元组,是数据库中的一个记录。选项A正确。 5. 定义变量的关键字:在VBScript等编程语言中,`Dim`、`Public`和`Private`可以用来定义变量,而`Declare`通常用于声明...
4. **算术运算符优先级**:在编程中,算术运算符的优先级决定了计算的顺序。在给定的语句中,`a+=a-=a*a`首先执行`a*a`,然后是`a-=`,最后是`a+=`,导致`a`的值为-24。 5. **字符串操作**:`substring()`方法用于...
1. 表达式计算:在某些编程语言中,如VBScript,运算符的优先级是:括号 > 乘除 > 按位运算 > 加减。所以表达式 `4+5 \ 6* 7 / 8 Mod 9` 的值是5(D)。 2. SQL查询条件:在SQL或类似的查询语言中,使用`LIKE`...