|
今天我们学习xsl的各种运算符,满足编写更大灵活性的xsl样式的要求。 表一、运算符与特殊字符
表二、逻辑运算符
表三、关系运算符
示例一: 从个人简历中寻找具有具有“web开发”技能的人的姓名与e-mail。假设文档结构如下所示: < document > < resume > < name >name< /name > < sex >sex< /sex > < birthday >birthday< /birthday > < skill >skill1< /skill > < skill >skill2< /skill2 > … < skill >skilln< /skill > < /resume > < resume > … < /resume > … < /document > 为从以上结构的个人简历中寻找出所有具有“web开发”技能的人的姓名与e-mail的xsl文档结构如下: < table border="1" cellspacing="0" > < th >姓名< /th >< th >e-mail< /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 > < /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 >e-mail< /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(),也许大家还不完全明了其中的含义吧?敬请关注下一课。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||