今天我们学习XSL的各种运算符,满足编写更大灵活性的XSL样式的要求。 表一、运算符与特殊字符
表二、逻辑运算符
表三、关系运算符
示例一: 从个人简历中寻找具有具有“WEB开发”技能的人的姓名与E-Mail。假设文档结构如下所示: > document < > resume < > name /name < > sex /sex < > birthday /birthday < > skill /skill < > skill /skill2 < … > skill n> /skill < > /resume < > resume < … > /resume < … > /document < 为从以上结构的个人简历中寻找出所有具有“WEB开发”技能的人的姓名与E-Mail的XSL文档结构如下: > TABLE border="1" cellspacing="0" < > TH <姓名> /TH <> TH /TH < > xsl:for-each select="resume [ $any$ skill='WEB开发' ]" < > TR <> TD <> xsl:value-of select="name"/ <> /TD < > TD <> xsl: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 <姓名> /TH <> TH <技能> /TH <> TH /TH < > xsl:for-each select="resume [ birthday $lt$ '1977/1/1' ]" < > TR < > TD <> xsl: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 < > TD <> xsl: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(),也许大家还不完全明了其中的含义吧?敬请关注下一课。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=3467
2665

被折叠的 条评论
为什么被折叠?



