使用< xslt>在ant中的任务,如何将输出生成到stdout?
我的XSLT通过xsl:result-document生成多个文件,正常输出只是我想用普通Ant输出显示的状态信息。 Ant似乎迫使我提供destdir =或out =参数。
Ant 1.8.2 with Saxon 9
答案 0 :(得分:1)
是的蚂蚁这样做。但是,XSLT具有可用于在stdout上输出的元素:)
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="types" match="a" use="text()"/>
<xsl:template match="/">
<result>
<xsl:message terminate="no">I am a message from xslt!</xsl:message>
</result>
</xsl:template>
</xsl:stylesheet>
输出:
build:
[xslt] Processing C:\Users\Stefanos\Documents\Visual Studio 2010\Projects\stackOverflow\stackOverflow\test.xml to C:\Users\Stefanos\Documents\Vis
ual Studio 2010\Projects\stackOverflow\stackOverflow\out.xml
[xslt] Loading stylesheet C:\Users\Stefanos\Documents\Visual Studio 2010\Projects\stackOverflow\stackOverflow\test.xslt
[xslt] I am a message from xslt!
BUILD SUCCESSFUL
Total time: 0 seconds
希望它有所帮助!
答案 1 :(得分:0)
我最近遇到了类似的情况;带有XSLT任务的Ant脚本,其中样式表转换使用<xsl:result-document>
生成多个文件。由于Ant XSLT任务需要destdir
属性(除非已指定out
属性),因此我使用已知的临时文件作为out
目标,然后实现了“清理”删除临时文件的任务。
<target name="removeTemporaryFiles" description="remove temporary files">
<delete file="${workspace}/temp.xhtml"></delete>
…
</target>