Регистрация

XML remove-attribute

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

XML remove-attribute

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

Столкнулся с проблемой удаления атрибутов 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").

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

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

Re: XML remove-attribute

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

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

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


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

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

Re: XML remove-attribute

Сообщение udg » 20 янв 2015, 08:17

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

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

Re: XML remove-attribute

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

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

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

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

Re: XML remove-attribute

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

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

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

Re: XML remove-attribute

Сообщение Arelav » 22 янв 2015, 09:40

Ау! :-)

Не удержался, и задал вопрос в 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, 07:20

Re: XML remove-attribute

Сообщение udg » 22 янв 2015, 10:05

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

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

Re: XML remove-attribute

Сообщение Arelav » 23 янв 2015, 09:59

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

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

Re: XML remove-attribute

Сообщение iab » 27 янв 2015, 15:42

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

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

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

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

Re: XML remove-attribute

Сообщение Arelav » 27 янв 2015, 18:31

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

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


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

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

Re: XML remove-attribute

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

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

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

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

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