Содержимое файла .fodg вдруг резко изменилось

Автор ru, 14 июня 2022, 12:06

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

ru

Здравствуйте!

Я написал программу для парсинга .fodg файлов.
Вдруг ни с того ни с сего после сохранения новых файлов .fodg в них пропали тэги draw:id и xml:id!
Что случилось, не понятно. Моя программа перестала работать с новыми файлами.
Пожалуйста, подскажите, что случилось и что делать дальше.
Заранее благодарю.

Искренне,
  ру

mikekaganski

Здравствуйте.

Пожалуйста, опишите проблему подробнее.
1. Приложите пример файла с указанными тегами.
2. Опишите, какой версией ЛО Вы пользуетесь (то, что это ЛО, понятно потому, что другие форки OOo не умеют сохранять в этот формат); скопируйте полностью текст из справки - о программе.
3. Укажите операционную систему.
4. Что такое "сохранение новых файлов" - они созданы в Draw? я имею ввиду: файлы генерируются ЛО или извне? сохранение существующих "нормальных" (с тегами) файлов в ЛО уничтожает теги или нет?
5. Постарайтесь всё же уточнить, что такое "вдруг" и "ни с того ни с сего". Обновление системы? версии ЛО? изменение настроек (скажем, версии сохранения ODF)? хотя бы укажите что-то вроде "просто после очередного запуска через две минуты после нормального в новом файле ожидаемые теги пропали".
С уважением,
Михаил Каганский

ru

Цитата: mikekaganski от 14 июня 2022, 12:45
Здравствуйте.

Пожалуйста, опишите проблему подробнее.
1. Приложите пример файла с указанными тегами.
Раньше:
..
    <draw:custom-shape draw:style-name="gr4" draw:text-style-name="P5" xml:id="id3" draw:id="id3" draw:layer="layout" svg:width="6.985cm" svg:height="2.286cm" svg:x="7.008cm" svg:y="2.017cm">
     <text:p text:style-name="P5">Start</text:p>
     <text:p text:style-name="P6">Быстрый поиск</text:p>
     <draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:glue-points="10800 0 3163 3163 0 10800 3163 18437 10800 21600 18437 18437 21600 10800 18437 3163" draw:text-areas="3163 3163 18437 18437" draw:type="ellipse" draw:enhanced-path="U 10800 10800 10800 10800 0 360 Z N"/>
    </draw:custom-shape>
..
Теперь:
..
   <draw:page draw:name="page1" draw:style-name="dp2" draw:master-page-name="Default">
    <draw:custom-shape draw:style-name="gr1" draw:text-style-name="P1" draw:layer="layout" svg:width="11.557cm" svg:height="8.763cm" svg:x="6.08cm" svg:y="7.858cm">
     <text:p text:style-name="P1">Test</text:p>
     <text:p text:style-name="P1">2</text:p>
     <draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
    </draw:custom-shape>
..


2. Опишите, какой версией ЛО Вы пользуетесь (то, что это ЛО, понятно потому, что другие форки OOo не умеют сохранять в этот формат); скопируйте полностью текст из справки - о программе.
6.4.7.2
3. Укажите операционную систему.
Linux Mint 20.3
4. Что такое "сохранение новых файлов" - они созданы в Draw? я имею ввиду: файлы генерируются ЛО или извне? сохранение существующих "нормальных" (с тегами) файлов в ЛО уничтожает теги или нет?
Созданы в Draw
5. Постарайтесь всё же уточнить, что такое "вдруг" и "ни с того ни с сего". Обновление системы? версии ЛО? изменение настроек (скажем, версии сохранения ODF)? хотя бы укажите что-то вроде "просто после очередного запуска через две минуты после нормального в новом файле ожидаемые теги пропали".
Вчера все было ОК.
Сегодня стал создавать файлы в Draw (чертить схемы) и сохранять файлы в GUI ЛО Draw. Моя программа на Python-e  стала рушится на каждом файле .fodg. Стал смотреть файлы текстовым редактором и обнаружил потерю тэгов.

ru

Version: 6.4.7.2
Build ID: 1:6.4.7-0ubuntu0.20.04.4
CPU threads: 6; OS: Linux 5.4; UI render: default; VCL: gtk3;
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded

mikekaganski

Пожалуйста, приложите тестовый файл. XML, который Вы показали, это не FODG, и чтобы открыть в Draw и потестировать, нужно "воссоздавать" сам документ.
С уважением,
Михаил Каганский

ru


mikekaganski

Цитата: mikekaganski от 14 июня 2022, 12:451. Приложите пример файла с указанными тегами.
В файле t2.fodg, к сожалению, указанные теги отсутствуют.
С уважением,
Михаил Каганский

ru

Вот и я тоже сожалею :)
А вчера они присутствовали, см. файл Task2.fodg :(

mikekaganski

Они и будут присутствовать во "вчерашнем" документе, поскольку эти идентификаторы нужны там для линий-коннекторов. Добавьте коннектор от объекта в файле t2.fodg, и идентификаторы появятся.

Похоже, проблема в том, что Вы ожидаете присутствия там идентификаторов всегда, в то время как они пишутся только тогда, когда в файле требуется указать связи между разными объектами (и идентификаторы описывают эту связь).
С уважением,
Михаил Каганский

ru

Понял и проверил!
Большое спасибо за квалифицированный и быстрый ответ.
Искренне,
  Ру