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

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 在xsl中如何对rowset data field中的字符型变量进行操作? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 9367 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 在xsl中如何对rowset data field中的字符型变量进行操作? 举报  打印  推荐  IE收藏夹 
       本主题类别: 样式表技术(XSL, XSLT, XSL-FO, CSS)    
     whlxy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:60
      门派:XML.ORG.CN
      注册:2009/8/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给whlxy发送一个短消息 把whlxy加入好友 查看whlxy的个人资料 搜索whlxy在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看whlxy的博客楼主
    发贴心情 在xsl中如何对rowset data field中的字符型变量进行操作?

    我对xsl不是很熟悉.
    这个问题的引出是这样的
    microsoft sharepoint 中有两个列表,其中@userdetail是第一个列表的datafield ,包含了用户名以及用户的其他信息@username 是第二个列表的datafield,包含了用户名.
    sharepoint系统自动生成了诸如
    rs:data/z:row/[@userdetail=$parentrow/@username]" 这样的xslt表达式.意思是当两个列表的@userdetail和@username datafield的值相等时,则进行一些操作.
    我的问题是现在@userdetail中的值是诸如"好人张三科长"这样的,@username中的值是"张三"这样的,如果按照系统自动生成的rs:data/z:row/[@userdetail=$parentrow/[@username]"来计算,则xslt不能正常返回我需要的结果.

    现在我想通过某种方式的字符运算,把"好人张三科长",计算成"张三",然后再运行rs:data/z:row/[@userdetail=$parentrow/[@username]",这样就能返回我的结果了,

    请告诉我我该如何计算


       收藏   分享  
    顶(0)
      




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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    contains(@userdetail,@username)
    如果 @userdetail=好人张三科长,@username=张三,那么contains()返回true
    如果 @userdetail=好人张三科长,@username=李四,那么contains()返回false

    就是说,contains的第二个参数包含在第一个参数中,那么返回true否则返回false
    可以通过这个XPath函数来解决,当然,还有另外几个string函数也可以。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/19 13:21:00
     
     whlxy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:60
      门派:XML.ORG.CN
      注册:2009/8/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给whlxy发送一个短消息 把whlxy加入好友 查看whlxy的个人资料 搜索whlxy在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看whlxy的博客3
    发贴心情 
    以下是引用Qr在2009-8-19 13:21:00的发言:
    contains(@userdetail,@username)
    如果 @userdetail=好人张三科长,@username=张三,那么contains()返回true
    如果 @userdetail=好人张三科长,@username=李四,那么contains()返回false

    就是说,contains的第二个参数包含在第一个参数中,那么返回true否则返回false
    可以通过这个XPath函数来解决,当然,还有另外几个string函数也可以。


    问题的关键是是从xslt语法上来说,是不允许对@username这样的datafield直接进行contains sustring-befor after 这样的函数操作,操作之后是包错的,怪我没说清楚,请问如何解决??领导,可能是我说的不是很清楚.contains,sutstring-before,substringafter函数我都知道,"好人张三科长"只是我的一个例子,在实际的数据中,他还可能是"好人李四科长"
    在我的实际应用中,我的"好人张三科长"是一个200个字符的html字符串,但是这个字符串是有规律的,我可以通过substring-before 和substring-after来获得和@username一样的字符,从而达到我的目的.我实际是这样作的
    rs:data/z:row/[@userdetail=$parentrow/substring-before(@username,'&lt;/A')]",但是
    系统说这样的表达是错误的,我的意思是哪种表达方式系统不会报错.比如说在系统报错后,我又写成了<xsl:variable name="username">substing-before(@username,'&lt;/A')</xsl:variable>
    rs:data/z:row/[@userdetail=$parentrow/$username,]"
    系统也抱错.现在的主样问题是如何把我们的思想用准确的xsl语句表达出来,现在思想我已经有了,就是用substring-before 和after,但是应该如何表述呢?rs:data/z:row/[@userdetail=$parentrow/[@username]",系统是不报错的,我的substring-before 和after应该怎么表述呢?

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/19 14:00:00
     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hexun831012发送一个短消息 把hexun831012加入好友 查看hexun831012的个人资料 搜索hexun831012在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hexun831012的博客4
    发贴心情 
    rs:data/z:row/[@userdetail=$parentrow/substring-before(@username,'&lt;/A')]
    !!!
    rs:data/z:row/[@userdetail = substring-before($parentrow/@username, '&lt;/A')]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/19 15:32:00
     
     whlxy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:60
      门派:XML.ORG.CN
      注册:2009/8/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给whlxy发送一个短消息 把whlxy加入好友 查看whlxy的个人资料 搜索whlxy在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看whlxy的博客5
    发贴心情 
    以下是引用hexun831012在2009-8-19 15:32:00的发言:
    rs:data/z:row/[@userdetail=$parentrow/substring-before(@username,'&lt;/A')]
    !!!
    rs:data/z:row/[@userdetail = substring-before($parentrow/@username, '&lt;/A')]


    谢谢领导!通过了!!
    对你的仰慕如滔滔洪水!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/20 8:43:00
     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hexun831012发送一个短消息 把hexun831012加入好友 查看hexun831012的个人资料 搜索hexun831012在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hexun831012的博客6
    发贴心情 
    以下是引用whlxy在2009-8-20 8:43:00的发言:
    [quote]以下是引用hexun831012在2009-8-19 15:32:00的发言:
    rs:data/z:row/[@userdetail=$parentrow/substring-before(@username,'&lt;/A')]
      !!!
      rs:data/z:row/[@userdetail = substring-before($parentrow/@username, '&lt;/A')]
      
    [/quote]

    谢谢领导!通过了!!
    对你的仰慕如滔滔洪水!!!


    小菜,你还没习惯Xpath语法

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/20 17:29:00
     
     hjx_221 帅哥哟,离线,有人找我吗?
      
      
      威望:7
      等级:博士一年级
      文章:4607
      积分:24021
      门派:XML.ORG.CN
      注册:2004/8/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hjx_221发送一个短消息 把hjx_221加入好友 查看hjx_221的个人资料 搜索hjx_221在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hjx_221的博客7
    发贴心情 
    学习一下

    !!!!!!

    ----------------------------------------------
    初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒~ 
    http://hjx221.blogger.org.cn/

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/8/21 14:11:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/28 12:27:00

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

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