У меня есть XML-файл со следующим содержимым:
<root-tag>
<entry name="name1" value="/usr/bin" />
<entry name="full_path" value="${name2}" />
<entry name="name2" value="${name1}/dpkg" />
</root-tag>
Я хочу прочитать этот файл в Ant и поместить значение атрибута value
в узел <entry>
, значение name
которого равно "full_path", в свойство с Ant.
Я могу легко это сделать, например, используя <xmltask>
с элементом <copy>
:
<copy path="root-tag/entry[@name='full_path']/@value" property="outputProperty" />
Тем не менее, я получаю ${name2}
, что для меня бессмысленно. Мне нужно, чтобы значение ${name2}
было разрешено в ${name1}/dpkg
, а затем часть ${name1}
преобразована в /usr/bin
, в результате /usr/bin/dpkg
.
И я должен искать «full_path», потому что два других имени не могут быть предсказаны.
Поскольку это не ссылка на сущность, <xmltask>
не может автоматически ее развернуть.
Как мне достичь своей цели в файле сборки Ant?