新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国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:message terminate="yes">...</xsl:message>用了不起作用....... 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3859 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]<xsl:message terminate="yes">...</xsl:message>用了不起作用....... 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     wangyongshan 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:39
      积分:184
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyongshan发送一个短消息 把wangyongshan加入好友 查看wangyongshan的个人资料 搜索wangyongshan在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyongshan的博客楼主
    发贴心情 [求助]<xsl:message terminate="yes">...</xsl:message>用了不起作用.......

    大家好,
          我现在有这样一个需求:判断一个元素的属性值,如果值不等于规定的一个值,那么整个转换工作终止。。。。
          我使用了 <xsl:message terminate="yes">...</xsl:message>标签
          下面是 我的使用方法:
           ............................................
         <xsl:choose>
              <xsl:when test="@id='1001' ">
                 ................
               </xsl:when>
              <xsl:otherwise>
                    <xsl:message terminate="yes">                    
                           出现属性值非法,终止转换!
                    </xsl:message>
              </xsl:otherwise>
         </xsl:choose>
        ...............................
       当我的属性@id 值不等于 1001 时,应该执行<xsl:otherwise>中的命令,但是却不起任何作用,就连“出现属性值非法,终止转换!”这句话都没有输出,其余的转换工作照样进行。。。。。。。。
      大家帮我看看,到底是哪里错了。。。。。。。

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/23 9:02:00
     
     孤独 帅哥哟,离线,有人找我吗?
      
      
      威望:7
      等级:大三(面向对象是个好东东!)(版主)
      文章:826
      积分:4220
      门派:XML.ORG.CN
      注册:2004/1/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给孤独发送一个短消息 把孤独加入好友 查看孤独的个人资料 搜索孤独在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看孤独的博客2
    发贴心情 
    <xsl:text>                    
    出现属性值非法,终止转换!
    </xsl:text>
    如果是在网页里面的话这样就可以吧

    ----------------------------------------------
    <?xml version="1.0" encoding="gb2312"?>
    <个人签名>
      <Website>[url=http://www.mahaobo.cn]
    MaHaobo.cn[/url]
    </Website>
    <Email>aloning(at)gmail.com</Email>
      <Qq >32113739</Qq>
    </个人签名>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/23 20:48:00
     
     enyaxp 帅哥哟,离线,有人找我吗?巨蟹座1984-7-4
      
      
      威望:2
      等级:计算机学士学位(版主)
      文章:350
      积分:2433
      门派:XML.ORG.CN
      注册:2007/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给enyaxp发送一个短消息 把enyaxp加入好友 查看enyaxp的个人资料 搜索enyaxp在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 点击这里发送电邮给enyaxp  引用回复这个贴子 回复这个贴子 查看enyaxp的博客3
    发贴心情 
    你在什么环境下用的?

    一般情况下肯定是好用的,可以的话看看你的完整代码行吗?

    ----------------------------------------------

    I'M BACK, NEVER GO AWAY.

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyongshan发送一个短消息 把wangyongshan加入好友 查看wangyongshan的个人资料 搜索wangyongshan在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyongshan的博客4
    发贴心情 
    我用的是XMLSpy2006开发的,我用里面自带的XSL转换器转换,结果<xsl:message terminate="yes">...</xsl:message>不起作用,
    但是我用 javax.xml.transformer.....类库写程序进行转换,结果<xsl:message terminate="yes">...</xsl:message>起作用了:打印了错误信息并抛出异常,转换也终止了。
    我很是纳闷。。。。。
    enyaxp 大哥,代码是公司的机密,我不能贴出来。。。请原谅。。。。
    我给个完整的例子吧:

    <?xml version='1.0'?>
    <?xml-stylesheet type="text/xsl" href="message.xsl" ?>
    <records>
       <record>
          <name>David Perry</name>
          <address>222 Cherry</address>
          <phone>555-797-79797</phone>
       </record>
       <record>
          <name></name>
          <address>312 Elm</address>
          <phone>555-797-79797</phone>
       </record>
    </records>

    message.xsl

    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
        <xsl:output method="xml" media_type="text/xml" indent="yes" encoding="utf-8" version="1.0"/>
      <xsl:template match="/">
         <xsl:apply-templates select="*"/>
         <xsl:copy-of select="."/>
      </xsl:template>

      <xsl:template match="*">
         <xsl:apply-templates select="//record"/>
      </xsl:template>

      <xsl:template match="record">
         <xsl:if test="name=''">
             <xsl:message terminate="yes">
                  记录名字出现空值,终止转换。。。。
             </xsl:message>
         </xsl:if>
      </xsl:template>

    </xsl:stylesheet>


    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/1/24 8:52:00
     
     enyaxp 帅哥哟,离线,有人找我吗?巨蟹座1984-7-4
      
      
      威望:2
      等级:计算机学士学位(版主)
      文章:350
      积分:2433
      门派:XML.ORG.CN
      注册:2007/12/11

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

    <?xml version='1.0'?>
    <?xml-stylesheet type="text/xsl" href="message.xsl" ?>
    <records>
        <record>
           <name>David Perry</name>
           <address>222 Cherry</address>
           <phone>555-797-79797</phone>
        </record>
        <record>
           <name></name>
           <address>312 Elm</address>
           <phone>555-797-79797</phone>
        </record>
    </records>

    message.xsl

    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
         <xsl:output method="xml" media_type="text/xml" indent="yes" encoding="utf-8" version="1.0"/>
       <xsl:template match="/">
          <xsl:apply-templates select="*"/>
          <xsl:copy-of select="."/>
       </xsl:template>

       <xsl:template match="*">
          <xsl:apply-templates select="//record"/>
       </xsl:template>

       <xsl:template match="record">
          <xsl:if test="name=''">
              <xsl:message terminate="yes">
                   记录名字出现空值,终止转换。。。。
              </xsl:message>
          </xsl:if>
       </xsl:template>

    </xsl:stylesheet>


    注意加亮的那一行:

    关键的问题:encoding="utf-8",编码采用utf-8,而xsl输出为中文字符,这是不行的会导致乱码,改为encoding="gb2312"或用英文表达错误信息就行了。


    [此贴子已经被作者于2008-1-27 16:22:36编辑过]

    ----------------------------------------------

    I'M BACK, NEVER GO AWAY.

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

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

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