我一直试图让ant (9.6和9.7)使用apache解析器来解析XML URI查找。我显然犯了一些我忽略了的错误。如果有人能看到我在这里配置的不正确,我将不胜感激。
蚂蚁似乎在任何情况下都不使用解析器。我配置错了什么?
我有以下几点:
build.xml
<project basedir="." name="testme">
<xslt
style="input.xsl"
in="input.xml"
out="output.xml">
<xmlcatalog>
<catalogpath>
<pathelement
location="${basedir}${file.separator}catalog.xml"/>
</catalogpath>
</xmlcatalog>
</xslt>
</project>catalog.xml
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer="public">
<uri name="input.xsl" uri="test-input.xsl"/>
<uri name="input.xml" uri="test-input.xml"/>
</catalog>当前目录包含test-input.xsl和test-input.xml。我的主目录中有一个.antrc文件,它只包含以下一行:
ANT_OPTS=-Dxml.catalog.verbosity=99
resolver.jar位于我的主目录的.ant/lib子目录中。我还尝试将它放在ant自己的lib目录中。
运行ant,我可以看到设置了详细的属性,所以使用目录的任何活动都应该转储为标准错误。运行ant -debug意味着它根本没有尝试使用解析器(堆栈跟踪中没有它的迹象)。生成失败的消息是.../input.xml does not exist。
我做错了什么(和/或误解)?
发布于 2016-08-19 11:52:44
我自己回答,供将来参考。解析器仅在xml验证和xslt任务中使用。所以…
<xslt
style="input.xsl"
in="input.xml"
out="output.xml">
…
</xslt>将导致解析器用于xsl:import或xsl:include语句中的input.xsl,但ant不会使用解析器来定位style或in属性中引用的文档。
https://stackoverflow.com/questions/38921290
复制相似问题