如何防止XSLT消息函数发出"警告!"?

时间:2016-11-29 16:15:09

标签: xslt ant

我正在使用ant的xslt-task以及合适的XSLT脚本从我们正在生成的XML文档中删除某些节点。为了在处理过程中获得一些反馈,我在脚本中添加了一些消息语句。这些工作都很好,除了所有发出的消息都有一个":警告!"字首。由于消息只提供信息,我希望/需要摆脱这些警告前缀,以防止提醒用户可能会认为某些事情不正常。 我怎么能避免这个前缀? XSLT消息函数似乎没有其他选项,而不是' terminate =" yes" |" no"。可以以某种方式控制该消息前缀吗?如果是这样的话:怎么样?

我正在使用内置于ant的默认xslt任务,即我的目标是:

    <xslt in="${source.xml}" out="${output.xml}" style="${stylesheet.xsl}" processor="trax">
</xslt>

与misc。属性设置为指向适当的位置。我发现其他堆栈溢出中的命令附加。

我的蚂蚁版本上写着:

C:\Users\mmo>ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010

1 个答案:

答案 0 :(得分:1)

我认为您可能正在使用默认的Xalan处理器,我担心我无法建议您是否/如何定制xsl:message处理。

如果你转而使用Saxon,你不仅可以通过使用XSLT 2.0而不是1.0来获得双倍生产力的好处,而且还可以获得(a)用于自定义xsl:message输出的接口,以及(b) )活跃用户社区的成员资格,可以回答这样的问题。

(实际上,现在我想起来了,我似乎记得,使用Xalan,xsl:message输出被发送到已注册的ErrorListener的warning()方法,所以如果你不想切换你可以尝试编写ErrorListener。)