以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- [求助]<xsl:message terminate="yes">...</xsl:message>用了不起作用....... (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=58371) |
-- 作者:wangyongshan -- 发布时间:1/23/2008 9:02:00 AM -- [求助]<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>中的命令,但是却不起任何作用,就连“出现属性值非法,终止转换!”这句话都没有输出,其余的转换工作照样进行。。。。。。。。 大家帮我看看,到底是哪里错了。。。。。。。
|
-- 作者:孤独 -- 发布时间:1/23/2008 8:48:00 PM -- <xsl:text> 出现属性值非法,终止转换! </xsl:text> 如果是在网页里面的话这样就可以吧 |
-- 作者:enyaxp -- 发布时间:1/24/2008 3:00:00 AM -- 你在什么环境下用的? 一般情况下肯定是好用的,可以的话看看你的完整代码行吗? |
-- 作者:wangyongshan -- 发布时间:1/24/2008 8:52:00 AM -- 我用的是XMLSpy2006开发的,我用里面自带的XSL转换器转换,结果<xsl:message terminate="yes">...</xsl:message>不起作用, 但是我用 javax.xml.transformer.....类库写程序进行转换,结果<xsl:message terminate="yes">...</xsl:message>起作用了:打印了错误信息并抛出异常,转换也终止了。 我很是纳闷。。。。。 enyaxp 大哥,代码是公司的机密,我不能贴出来。。。请原谅。。。。 我给个完整的例子吧:
|
-- 作者:enyaxp -- 发布时间:1/26/2008 1:13:00 AM --
注意加亮的那一行: 关键的问题:encoding="utf-8",编码采用utf-8,而xsl输出为中文字符,这是不行的会导致乱码,改为encoding="gb2312"或用英文表达错误信息就行了。
[此贴子已经被作者于2008-1-27 16:22:36编辑过]
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |