zoukankan      html  css  js  c++  java
  • XSLT模糊查询函数contains不区分大小写,for-each排序

    代码如下:

    <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。(参考)

  • 相关阅读:
    Catalan数
    完全背包
    日期问题
    01背包
    NOJ2076
    858. Prim算法求最小生成树
    839. 模拟堆
    850. Dijkstra求最短路 II
    849. Dijkstra求最短路 I
    859. Kruskal算法求最小生成树
  • 原文地址:https://www.cnblogs.com/xuezhizhang/p/3300873.html
Copyright © 2011-2022 走看看