XSL 中的小写转换 [英] Lowercase conversion in XSL

查看:19
本文介绍了XSL 中的小写转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类似的 XML

I have an XML like

<emps>
<emp id='3432'>
 <fname>Jack</fname>
 <lname>Dawson</lname>
<emp>
<emp id='1122'>
 <fname>Jack</fname>
 <lname>Thompson</lname>
<emp>
<emps>

我正在开发一个 Web 应用程序,它根据输入的名字搜索此 xml 并生成一个结果页面.为了实现这一点,我编写了一个 xslt,根据作为名为 srchStr 的变量传递的输入搜索字符串将 XML 转换为 HTML.

I am developing a web application which searches this xml based on the first name entered and comes up with a resultant page. To achieve this I have written an xslt to transform the XML to HTML based on the input search string which is passed as a variable named srchStr.

<xsl:template match="employees">
  <xsl:for-each select="emp[fname=$srchStr]">
<tr>
   <xsl:variable name="id">
    <xsl:value-of select="@id" />
   </xsl:variable>
   <td>
    <a href='detailSearch.do?id={$id}'>
     <xsl:value-of select="fname" />
     ,
     <xsl:value-of select="lname" />
    </a>
   </td>

  </tr>
</xsl:for-each
</xsl:template>

但是用户可以输入大写或小写的名称.那么如何将xml标签fname里面的名字转换成小写进行比较呢?

But the user may enter the name either in upper case or lower case. So how to convert the first name inside the xml tag fname to lower case and do the comparison?

有人可以将代码片段放在我的 xsl 中以使用 fn:lower-case.

Can some one put a code snippet to use fn:lower-case inside my xsl.

推荐答案

要将字符串转换为小写或大写,您可以使用 XPath 1.0 函数 translate:

To convert a string to lower case or uppercase you can use the XPath 1.0 function translate:

首先定义小写和大写字母的字母表.注意每对字符的位置需要相同:

First define your alphabets for lower case and upper case letters. Note that the position of each pair of characters needs to be the same:

<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>

然后你可以转换为大写:

Then you can convert to upper case:

<xsl:value-of select="translate($toconvert,$lcletters,$ucletters)"/>

或小写

<xsl:value-of select="translate($toconvert,$ucletters,$lcletters)"/>

这篇关于XSL 中的小写转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆