新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     >>W3CHINA.ORG讨论区<<     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLXML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → [求助]就是XSL中有没有表达式实现多个值的组合功能,大家进来看下,不好表达。。。? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5325 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]就是XSL中有没有表达式实现多个值的组合功能,大家进来看下,不好表达。。。? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     wangyongshan 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:39
      积分:184
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyongshan发送一个短消息 把wangyongshan加入好友 查看wangyongshan的个人资料 搜索wangyongshan在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyongshan的博客楼主
    发贴心情 [求助]就是XSL中有没有表达式实现多个值的组合功能,大家进来看下,不好表达。。。?

    请问大家一个问题:
    我有这样一个节点: <clue_im type="QQ,MSN,TM,SPKEY" />
    type属性值是“QQ,MSN,TM,SPKEY”这4种的任意组合(每个值以,号分隔:比如:type="QQ"、type="QQ,TM"、type="QQ,MSN,TM"等);
    现在我要根据其type的属性值进行转换,条件是:只要type的值为“QQ,MSN,TM”3种的一个或多个(也是type的值为QQ,MSN,TM的组合中的一种),就进行转换。
    我是这样写的:

      <xsl:if test="@type='QQ' or @type='MSN' or @type='TM' or @type='QQ,MSN' or @type='QQ,TM' or @type='MSN,TM' or @type='QQ,MSN,TM'">
      ..............
    </xsl:if>


    但是当属性值类型出现很多种时,想这样的枚举是不现实的,请问大家,在XSL中有没有什么表达式可以实现上述的属性值枚举功能?????
    项目中出现这种情况,急需要大家的帮助。。。。。。

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/30 9:37:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    contains(string, string)

    如果第一个字符串参数包含第二个字符串参数,contains 函数返回真,否则,返回假。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/31 15:58:00
     
     wangyongshan 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:39
      积分:184
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyongshan发送一个短消息 把wangyongshan加入好友 查看wangyongshan的个人资料 搜索wangyongshan在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyongshan的博客3
    发贴心情 
    Qr大哥,contains函数这个功能我不太清楚,你能不能把下面的这个判断条件用contains写出来啊:
    <xsl:if test="@type='QQ' or @type='MSN' or @type='TM' or @type='QQ,MSN' or @type='QQ,TM' or @type='MSN,TM' or @type='QQ,MSN,TM'">
      ..............
    </xsl:if>
    谢谢Qr大哥!项目比较急啊。我身边也没有这方面详细的资料或书籍看。。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/31 22:41:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客4
    发贴心情 
    <xsl:if test="contains('QQ,MSN,TM,SPKEY',@type )">如果type包含在被测试字符串,则结果为真,否则为假</xsl:if>

    但也有缺陷,如果type="QQ,TM",则结果为假,因为contains要求第二参数必须在第一参数中连续匹配。
    解决办法,可以通过XPath是的string 函数来截取type中的各逗号间的字符来匹配。

    具体有:
    starts-with(string, string)
    如果第一个字符串参数以第二个字符串参数起头,starts-with 函数返回真,否则,返回假。

    substring-before(string, string)
    substring-before 函数返回第一个字符串参数在第二个参数首次出现之前的子字符串,或者,如果第一个字符串参数不包含第二个字符串参数则返回空字符串。例如,substring-before("1999/04/01","/") 返回 1999。

    substring-after(string, string)
    substring-after 函数返回第一个字符串参数在第二个参数首次出现之后的子字符串,或者,如果第一个字符串参数不包含第二个字符串参数则返回空字符串。例如, substring-after("1999/04/01","/") 返回 04/01,而 substring-after("1999/04/01","19") 返回 99/04/01。

    substring( string , number , number? )
    substring 函数返回第一个字符串参数从第二个参数所指定的位置开始,以第三个参数为长度的子字符串。例如, substring("12345",2,3) 返回 "234"。如果没有第三个参数,则返回从第二个参数所指定的位置开始直到结束。例如, substring("12345",2) 返回"2345"。

    string-length( string? )
    string-length 返回字符串中字符的个数。如果参数省略,则缺省为一个上下文节点再转换成字符串,也就是上下文节点的 字串值。


    本站也有不少相关资料和贴子,可以下载和翻阅、参考。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/1 12:17:00
     
     wangyongshan 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:39
      积分:184
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyongshan发送一个短消息 把wangyongshan加入好友 查看wangyongshan的个人资料 搜索wangyongshan在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyongshan的博客5
    发贴心情 
    谢谢Qr大哥!哈哈。。。。。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/1 19:18:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/19 20:40:58

    本主题贴数5,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms