我正在尝试使用 xmltask for ant 来修改子目录中的文件:
project/path/to/file.xml
该文件引用这样的 DTD:
<!DOCTYPE data SYSTEM "mydtd.dtd">
我没有更改这些文件的灵活性。
此 DTD 存储在同一个子目录中,它一直运行良好:
project/path/to/mydtd.dtd
不幸的是,xmltask 试图在我的项目的顶级目录中找到 dtd,这是我的构建文件所在的位置,也是我运行的位置:
[xmltask] java.io.FileNotFoundException: /home/me/project/mydtd.dtd(系统找不到指定的文件)
我在 xmltask 文档中看到,我可以使用xmlcatalog元素更正此问题,以告诉它在哪里查找文件。但是我需要使用一个dtd元素,而且我只能找到这个元素的示例,而不是文档;这些示例仅显示了一个 publicId,如果我正确理解 XML,则此文档没有。无论如何,我不应该指定这个,对吧,因为我的文档已经说我的 DTD 存储在本地并显示它在哪里?
为什么 xmltask 不能正确找到 DTD?纠正或解决这种情况的最佳方法是什么?