Я пытаюсь использовать xmltask для 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? Каков наилучший способ исправить или обойти эту ситуацию?