以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]大家好,请问xsl中有没有什么方法调用后可以终止转换的??  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=58301)


--  作者:wangyongshan
--  发布时间:1/21/2008 1:22:00 PM

--  [求助]大家好,请问xsl中有没有什么方法调用后可以终止转换的??
大家好,
     我在用xsl转换时有这样一个要求:
     比如:当我判断一个节点的属性值不符合我的要求时,终止所有的转换工作。
     xsl中有没有什么方法调用后可以终止转换的??
     我用了<xsl:message terminate="yes">.......</xsl:message>不行。
--  作者:enyaxp
--  发布时间:1/21/2008 10:03:00 PM

--  
怎么会不行呢?

你是和<xsl:if>或<xsl:choose><xsl:when>结合起来用的吗?


--  作者:wangyongshan
--  发布时间:1/22/2008 8:51:00 AM

--  
enyaxp 大哥,我是这样用的:
..........................<!-- 别的转换代码-->
<xsl:choose>
     <xsl:when test="@属性='....' ">
          ...............
     </xsl:when>
     <xsl:otherwise>
         <xsl:message terminate="yes">
              <xsl:text>属性为空,不支持转换,转换终止</xsl:text>
         </xsl:message>
    </xsl:otherwise>
</xsl:choose>
......................................................<!-- 别的转换代码 -->
当我那个属性值为空时,该
<xsl:message terminate="yes">
       <xsl:text>属性为空,不支持转换,转换终止</xsl:text>
</xsl:message>
段代码似乎没有执行,转换工作仍然进行,并没有终止转换工作。。
大哥,你帮我看看。。。
--  作者:孤独
--  发布时间:1/22/2008 9:01:00 AM

--  
属性为空,不支持转换,转换终止
有这句话输出么,是不是因为其他原因比如你的xpath写错了那个条件语句直接没执行呢
--  作者:wangyongshan
--  发布时间:1/22/2008 9:51:00 AM

--  
"属性为空,不支持转换,转换终止"这句话没有输出,我也在纳闷,它上面的<xsl:when>判断正确啊,但是到了<xsl:otherwise>就不行了。。。。
--  作者:孤独
--  发布时间:1/23/2008 8:45:00 PM

--  
你把代码都贴出来,要么给个简化的好了
--  作者:enyaxp
--  发布时间:1/24/2008 3:14:00 AM

--  

"段代码似乎没有执行,转换工作仍然进行,并没有终止转换工作"说明你choose中的when状态始终是满足的,也就是说或者你传入的元素节点@属性非空,或者那个属性为空的元素节点根本就没有传进来!

让我看看这段代码调用的前提条件部分代码吧。

以下是引用wangyongshan在2008-1-22 8:51:00的发言:
enyaxp 大哥,我是这样用的:
  ..........................<!-- 别的转换代码-->
<xsl:choose>
      <xsl:when test="@属性='....' ">
           ...............
      </xsl:when>
      <xsl:otherwise>
          <xsl:message terminate="yes">
               <xsl:text>属性为空,不支持转换,转换终止</xsl:text>
          </xsl:message>
     </xsl:otherwise>
</xsl:choose>
  ......................................................<!-- 别的转换代码 -->
当我那个属性值为空时,该
<xsl:message terminate="yes">
        <xsl:text>属性为空,不支持转换,转换终止</xsl:text>
  </xsl:message>
段代码似乎没有执行,转换工作仍然进行,并没有终止转换工作。。
大哥,你帮我看看。。。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
382.813ms