新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国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:copy的中英文标识问题[求助] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 21970 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 请教xsl:copy的中英文标识问题[求助] 举报  打印  推荐  IE收藏夹 
       本主题类别: 样式表技术(XSL, XSLT, XSL-FO, CSS)    
     wuqq.xml 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:10
      积分:91
      门派:XML.ORG.CN
      注册:2009/2/15

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

    谢了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:36: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的博客12
    发贴心情 
    呵呵,打击你了吗,也可以说是激励
    第一,你的文档逻辑相当混乱,你的文档换一个结构,转换出来的都差不多,这就出现了逻辑的二义性,第二,大量使用//,不但性能低下,而且一旦出现重名,那必然出现转换错误,你的文档很简单,但在当今的应用系统中,为了系统结构性和维护性,一个转换都是有几十个文档的超空间文档组来完成,所以~~~
    在这里还是有必要解释一下XSL的逻辑,这个是很多新人很难入手的门槛,XSL的逻辑不是赋值,而是匹配,入口是文档,而非根节点,从文档出发,遍历其所有子节点(节点并不是元素,而包括元素,属性,批注,PI,文本...),然后从XSL文档自下而上的寻找第一个匹配的模版进行转换,在模版中可以直接输出内容,也可以在此执行一个匹配,也就是(apply-templates),过程会再一次自下而上的寻找第一个匹配的模版进行转换,以此类推,如果没有匹配的模版,系统会调用默认模版(默认模版是通过顶部隐藏模版实现的),你的文档除了/模版以外,其他模版都极易被误匹配,
    我仔细的看了一下,至于你问题,还是错在<xsl:copy/>,这样写才对
    <xsl:template match="固话|邮件|QQ|手机号">
    <th><!--这里QQ的标记可以匹配到,但无法在浏览器中显示-->
      <xsl:value-of select="name()"/>
    </th>
    <td>
    <font size="4">
        <xsl:value-of select="." />
    </font>
    </td>
    </xsl:template>
    <xsl:copy/>输出的是<qq><qq/>而并非是QQ这个标签名,至于中文为什么能输出,这本身是IE的一个BUG,或者说是让步,在标准的解析器里,连中文都显示不出来,比如firefox
    我建议你以后这么些这样的模版
    <xsl:template match="个人简历表">
        <!--...-->
        <table border="1">
          <xsl:apply-templates select="联系方式"/>
        </table>
        <!--...-->
      </xsl:template>
      <xsl:template match="联系方式">
        <!--...-->
        <tr>
          <xsl:apply-templates/>
        </tr>
        <!--...-->
      </xsl:template>
      <xsl:template match="//固话|邮件|QQ|手机号">
        <th>
          <xsl:value-of select="name()"/>
        </th>
        <td>
          <font size="4">
            <xsl:value-of select="." />
          </font>
        </td>
      </xsl:template>
    也许我说话打击了你,不好意思,有时候没时间细细看每个帖子,所以大致给个评论,不过还是希望你日后学习工作不要以最基本的实现为目标,而要着眼于标准(包括你输出的HTML,很不标准),这样你才有竞争力,这才是我们论坛的目标和宗旨--标准!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:39: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的博客13
    发贴心情 
    以下是引用Qr在2009-4-28 21:55:00的发言:
    以下用法,都是正确的:
    <xsl:copy/>

    <xsl:copy-of select="node()"/>

    <xsl:copy>
    <xsl:apply-templates/>
    </xsl:copy>

    但是,<xsl:copy/>这种应用必须比较熟悉XSL和XPath的应用,否则哪出错了都不懂。

    至于你的代码,<xsl:copy>的用法正确与否,我没有进行测试,不过有一点可以确定:
    以上三种方法,返回格式类似<b><QQ>12345678</QQ></b>这种包含非HTML标签代码,在HTML中,都无法直接显示,不信你把它复制到HTML页面试试,可以看到粗体的12345678,但同样无法看到<QQ>标记,包含中文就可以,这就是你问题的关键。

    另,XML论坛各位上各位版主都是比较热情和有责任心的,hexun831012的话也没错,只是他的个性比较直接而已。



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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客14
    发贴心情 
    所以说,学精XSL还是有相当难度的,另外还有XPath,掌握了它,写XSL就会更得心应手。

    IE很“宽容”,但是这种“宽容”却非常容易偏离标准,后果是可想而知的,所以,学好用好标准,才是根本。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:53:00
     
     wuqq.xml 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:10
      积分:91
      门派:XML.ORG.CN
      注册:2009/2/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wuqq.xml发送一个短消息 把wuqq.xml加入好友 查看wuqq.xml的个人资料 搜索wuqq.xml在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wuqq.xml的博客15
    发贴心情 
    谢了。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:54: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的博客16
    发贴心情 
    所以还是那句话,学术的时候请用标准+Firefox,工作的时候请用标准+兼容
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:57:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客17
    发贴心情 
    以下是引用hexun831012在2009-4-28 22:45:00的发言:
    直接,这个措词,哈哈哈


    晕,原打“耿直”,因为输入法的问题,输出“耿直接”,然后又删错了“耿”字,看来是该睡觉了。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 22:59: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的博客18
    发贴心情 
    5月12号我就出发去澳洲了,以后基本看不懂中文啦,活活
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 23:01:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客19
    发贴心情 
    以下是引用hexun831012在2009-4-28 23:01:00的发言:
    5月12号我就出发去澳洲了,以后基本看不懂中文啦,活活


    陆克文上任,澳洲人开始学习中文;你刚准备去澳洲,就忘了中文,是不是有点……

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/28 23:27: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/5/1 5:25:00

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

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