我一直在尝试使用apache xml解析器获取ant(9.6和9.7)来解析XML URI查找。我显然已经犯了一些我忽略的错误。如果有人能在这里看到我错误配置的内容,我将不胜感激。
ant在任何情况下似乎都不使用解析器。我错误配置了什么?
我有以下内容:
的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我可以看到verbosity属性已设置,因此使用目录的任何活动都应转储为标准错误。运行ant -debug
表明它根本没有尝试使用解析器(堆栈跟踪中没有它的迹象)。构建失败,并显示.../input.xml does not exist
消息。
我做错了什么(和/或被误解了)?
答案 0 :(得分:0)
自己回答这个问题以供将来参考。解析器仅在 xml验证和xslt任务中使用。所以......
<xslt
style="input.xsl"
in="input.xml"
out="output.xml">
…
</xslt>
会导致解析程序用于xsl:import
中的任何xsl:include
或input.xsl
语句,但ant不会使用解析程序查找style
或in
中引用的文档Messages
属性。