Ant xmltask ‹attr› создает пустое значение атрибута xmlns

У меня есть файл XML следующим образом:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<CustomObject>
</CustomObjects>

Я применяю атрибут XMLTask следующим образом:

<attr path="/CustomObject" attr="xmlns" value="test"/>

Я ожидаю, что файл XML теперь будет включать атрибут xmlns со значением «тест».

Фактический вывод выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<CustomObject xmlns="">
</CustomObjects>

Кто-нибудь сталкивался с этой проблемой раньше? или есть какие-то указания, в чем может быть проблема?


person user3556152    schedule 16.11.2016    source источник


Ответы (1)


Похоже, xmltask не может создавать атрибуты с именем xmlns. Похоже, это известная ошибка: #8 attr name="xmlns" не работает на Mac. .

В XML xmlns — это зарезервированное имя атрибута. Это относится к пространству имен по умолчанию. Дополнительные сведения о пространствах имен по умолчанию см. в разделе Пространства имен по умолчанию в Пространствах имен в XML 1.0 Рекомендация W3C.

В качестве альтернативного решения рассмотрите возможность использования XSLT для добавления пространства имен к корневому элементу.

person Chad Nouis    schedule 17.11.2016