Как исправить XML в процессе открытия файла

Автор udaf2014, 30 мая 2020, 17:11

0 Пользователи и 1 гость просматривают эту тему.

udaf2014

  Есть программа которая выгружает файл в формате XML (расширение xls, xlsx), с недопустимой комбинацией символов &#10, соответственно парсер XML  прочитав  эту комбинацию возвращает ошибку,  открывается пустой документ.
  Я так понимаю что удалить в фильтре  XSLT данную последовательность  не получиться т.к. парсер  встретив недопустимую комбинацию символов сразу вываливается с ошибкой,  может кто подскажет как с помощью макросов и событий  удалить &#10 во время открытия файла, до начала работы фильтра импорта?

//файл прикрепил, если удалить  &#10 в блокноте и сохранить, то всё работает.
// Excel открывает без проблем
// открываю в LibreOffice 6.4

mikekaganski

#1
Никак. Исправляйте программу, "которая выгружает файл в формате XML". Или ставьте между выгрузкой и открытием в ЛО дополнительную обработку - скажем, sed. В ЛО нет никаких "событий до начала работы фильтра импорта".

Теоретически, конечно, можно этот промежуточный этап тоже сделать в ЛО - в отдельном макросе загружать файл как текст, точно так же корректировать (скажем, менять на 
) и сохранять, а потом открывать заново, уже с использованием автоопределения фильтра. Но это - стрельба из пушки по воробьям.
С уважением,
Михаил Каганский

udaf2014

а  Запуск приложения (OnStartApp:  Application has been started )?  в этом событии можно чего сделать?
https://wiki.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Document_Events

если кому интересно об XML-фильтрах OpenOffice   https://www.cyberforum.ru/blogs/557613/blog3570.html там 6 частей.