代码如下:
<xsl:for-each select="//NewDataSet/map/area[contains(translate(@alt, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), translate($key, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))]"> <xsl:sort select="@alt"/> <tr height="32"> <td width="100%"> <a href="javascript:autoLocateMap({substring(@coords,6,4)},{substring(@coords,1,4)},escape($('#result_0001{position()}').text()))" h="{substring(@coords,6,4)}" w="{substring(@coords,1,4)}" id="result_0001{position()}" title="点击定位"> <xsl:value-of select="@alt"/> </a> </td> </tr> </xsl:for-each>
代码中的sort用来设置排序,花括号{}用于取指定XML的数据,相当于value-of。
XSLT方法中的@开头的代表XML属性,$开头的代表之前声明过的variable,与HTML中的javascript不冲突。
position函数输出当前正在处理的节点索引位置。
contains函数默认是区分大小写的,使用translate函数统一转换成小写就实现了不区分大小写的效果。
另外, translate函数还可以用来加密XML。(参考)
本文详细介绍了XSLT中的高级用法,包括如何利用sort进行排序、使用position函数获取节点索引位置以及通过translate函数实现不区分大小写的字符串匹配。此外还展示了如何将XSLT与HTML中的JavaScript相结合来增强网页功能。
814

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



