开发者

Ant xslt task output to stdout

Using the <xslt> task in ant, how do I get the output to generate to stdout?

My XSLT is generating multiple files through xsl:result-document and the normal output is just sta开发者_开发百科tus information that I'd like to show up with normal Ant output. Ant seems to force me to supply a destdir= or an out= parameter.

Ant 1.8.2 with Saxon 9


Yes ant does this. However XSLT has the element which you can use to get output on the 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>

Output :

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

Hope it helps!


I recently had a similar scenario; an Ant script with an XSLT task where the style sheet transform generated multiple files using <xsl:result-document>. Since the Ant XSLT task requires the destdir attribute (unless the out attribute has been specified), I used known temp file(s) for the out destination and then implemented a “cleanup” task which deleted the temp file(s).

<target name="removeTemporaryFiles" description="remove temporary files">
    <delete file="${workspace}/temp.xhtml"></delete>
…
</target>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜