Регистрация

XML remove-attribute

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Старожил
Сообщения: 34
Зарегистрирован: Чт ноя 22, 2012 8:20 am

XML remove-attribute

Сообщение udg » Пн янв 19, 2015 10:17 am

Столкнулся с проблемой удаления атрибутов XML файла, если атрибут написан кириллицей (форматы налоговой там все нашим алфавитом). Для примера содержимое XML
Код: Выделить всё
<?xml version="1.0" encoding="windows-1251" ?>
<Файл gtVer="1" ВерсПрог="1С:ПРЕДПРИЯТИЕ 8.2 УПП 1.3.51.3;СБиС в.2" ВерсФорм="5.03" ИдФайл="" ПКПК="1" ПркЛ="2">
</Файл>

И код под NIXом
Код: Выделить всё
DEF VAR xDoc AS HANDLE NO-UNDO.
DEF VAR xNode AS HANDLE NO-UNDO.
CREATE X-DOCUMENT xDoc.
xDoc:LOAD("file","NO_NDS.XML",false).
CREATE x-noderef xNode.
xDoc:GET-DOCUMENT-ELEMENT(xNode).
xNode:REMOVE-ATTRIBUTE("ПКПК").
xDoc:SAVE("file","no_nds1.XML").

Если добавить новый атрибут с названием в кириллице то все нормально, но не удаляет, как исправить куда смотреть что почитать?

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Пн янв 19, 2015 6:23 pm

Какая версия OpenEdge?

udg писал(а): ... но не удаляет, ...


Просто "тихо" не удалает, или выдает какие-то ошибки?

Старожил
Сообщения: 34
Зарегистрирован: Чт ноя 22, 2012 8:20 am

Re: XML remove-attribute

Сообщение udg » Вт янв 20, 2015 9:17 am

OpenEdge 10.2B
Ошибок не выдает, процедура успешно отрабатывает, но в сохраненной XML все удаленные атрибуты на месте.

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Ср янв 21, 2015 12:02 pm

Проверил на 11.5. Поведение такое же, т.е. атрибут ПКПК молча не удаляется, а если его написать по ангельски PKPK, то всё ок.
Вероятно, XML-парсер просто "не видит" кирилицу.

Если это действительно имеет серьезное значение, то пожалуйста, напишите от имени компании на адрес support@progress-tech.ru, я возьму этот случай в официальную работу.

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Ср янв 21, 2015 12:08 pm

Единственно, я боюсь, что поскольку 10.2B уже устарела (SP08 - последний сервис пак), то если это поведение и признают дефектом, его исправление будет только для новой версии OpenEdge.
Поэтому в письме прошу указать степени влияния на бизнес - можно попробовать добиться получения индивидуального хотфикса.

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Чт янв 22, 2015 10:40 am

Ау! :-)

Не удержался, и задал вопрос в Progress Community

Я там предположил, что у вас CHUI-клиент, так?
В общем ответ такой:
Please contact TS to log a bug for this.

When I used -cpinternal UTF-8 -cpstream UTF-8 -cpcoll BASIC(and converting xml.p to UTF-8) , this worked for me. I was using Win32 with the latest 11.6 build to test. However, I do understand your concern that you are not able to use -cpinternal UTF-8 with CHUI clients.


Я правильно понимаю, что вариант с UTF-8 вас не устроит? Есть ли еще что добавить?

Старожил
Сообщения: 34
Зарегистрирован: Чт ноя 22, 2012 8:20 am

Re: XML remove-attribute

Сообщение udg » Чт янв 22, 2015 11:05 am

Да CHUI клиент. Да с UTF-8 не подойдет. Благодарю что задали вопрос им, я не предполагал что это особенность Progress, думал где-то я что-то не доделываю.
Ситуация возникла на важном этапе, формирование файла для налоговой. Произошли изменения в налоговом закон-ве и необходимо выгружать данные книги продаж и книги покупок в формате налоговой XML с такими наименованиями атрибутов, некоторые из них не обязательны и их необходимо удалить. Хотя всегда остается возможность обойти данное ограничение изменив логику формирования XML, так как дополнять файл XML атрибутами в кириллице можно. Однако хотелось бы ожидаемого отклика системы как к добавлению так и удалению атрибутов в кириллице и если будет хот фикс исправляющий, не нужно будет помнить об ограничении и корректировать логику процедур под него.

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Пт янв 23, 2015 10:59 am

База данных в какой кодировке?
Какая кодировка в startup.pf (-cpinternal, -cpstream )?

Новичок
Сообщения: 4
Зарегистрирован: Сб июн 09, 2012 12:20 pm

Re: XML remove-attribute

Сообщение iab » Вт янв 27, 2015 4:42 pm

Если это действительно имеет серьезное значение

1C по умолчанию только так и выгружает XML. У них всё кириллицей.

И от CHUI это не зависит. 10.2B Windows 32 GUI - у нас была та же картина.

Администратор
Аватара пользователя
Сообщения: 1873
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: XML remove-attribute

Сообщение Arelav » Вт янв 27, 2015 7:31 pm

iab писал(а):
Если это действительно имеет серьезное значение

1C по умолчанию только так и выгружает XML. У них всё кириллицей.


Я так понимаю, для вас это тоже важно.
Мне нужно письмо, как указал выше. От udg я его так и не дождался (

Старожил
Сообщения: 34
Зарегистрирован: Чт ноя 22, 2012 8:20 am

Re: XML remove-attribute

Сообщение udg » Пн фев 02, 2015 3:29 pm

Письмо отправил.

Вернуться в PROGRESS - 4GL - ПРОГРАММИРОВАНИЕ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8