Полнота валидации, проверка существования объектов по внутренним ссылкам

13 views
Skip to first unread message

black...@yandex.ru

unread,
Mar 13, 2014, 2:38:37 AM3/13/14
to ru-fb...@googlegroups.com
Пока размышляю над вопросами: ошибка ли это, насколько ошибка и чья?

Есть некоторый fb2-файл (сформированный OOoFBTools, но совсем не мной, и с учётом моего отношения к вызивиг анализировать эту нить… желания никакого).

При проверке оного файла встроенным валидатором OOoFBTools (кстати, большое спасибо за реализацию этой фичи, ещё бы возможность подключения в конфиге пользовательских стилей — и была бы вообще сказка) получаю сообщение о том, что всё в порядке.

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

По-хорошему аналогичная проверка нужна и для сносок/комментариев, но тут ситуация несколько сложнее.
Во-первых, потому что их может быть много (тысячи), почти также много (сотни-тысячи) может быть и сообщений об ошибках (для картинок в fb2 сотни полагаю чем-то невероятным).
Ответа на вопрос о читаемом представлении такого результата в парадигме графического интерфейса у меня нет.
И во-вторых, потому что в случае сносок и особенно комментариев (строго говоря, и для декоративных каринок, хотя им, ИМХО, не место в fb2) реальна ситуация, когда на один объект указывает несколько ссылок.

Последний объект, в котором наблюдался данный повод, весит 116 килобайт. Могу приложить его, можно сделать специальный пример, для иллюстрации проблемы. Должен уложиться в единицы килобайт.
И стоит ли оформить этот вопрос в качестве bug'а?

Zrt Qrt Zrt

unread,
Mar 13, 2014, 6:31:28 AM3/13/14
to ru-fb...@googlegroups.com
ЧЕТАЙ HELP.PDF
Чтобы картинки присобачились, нужно после всех сделанных изменений
ЗАКРЫТЬ Офис, выгрузить его из трея(если он ещё и в трее крутиЦЦа), а
уж потом снова открыть файл Writer'ом Офиса и только после ентава
конвертить в fb2. Давний глюк Open Офиса, передавшийся по наследству и
в Libre. Подробно описан в документации Help.pdf


13.03.14, black...@yandex.ru<black...@yandex.ru> написал(а):
> --
> Вы получили это сообщение, поскольку подписаны на группу FBTools.org
> (Russian).
>
> Чтобы отказаться от подписки на эту группу и перестать получать из нее
> сообщения, отправьте электронное письмо на адрес
> ru-fbtools+...@googlegroups.com.
> Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу
> ru-fb...@googlegroups.com.
> Перейдите в группу по ссылке http://groups.google.com/group/ru-fbtools.
> Настройки подписки и доставки писем: https://groups.google.com/d/optout.
>

DikBSD

unread,
Mar 13, 2014, 12:43:58 PM3/13/14
to ru-fb...@googlegroups.com
Насчет пустых ссылок на картинки без бинарных объектов уже другой пользователь написал... Я так и не смог обойти жту проблему офиса. А в ПОСЛЕДНЕЙ версии Либре еще больше поломали ядро языка программирования... Я просто за голову хватаюсь...

По поводу валидации - пришли мне пожалуйста на эмэйл odt файлы, чтобы я мог проконвертировпть и запустить валидацию - надо посмотреть...

А что касается самой валидации... Мне удалось сделать ее для ВСЕХ основновных платформ, используя только xml валидаторы жтих платформ. Если они пропустят ошибку - моя утилита ничего не сможет сделать. Написать свои валидаторы, боюсь, у меня мозгов не зватит :-).
Поэтому мне и нужны твои файлы, чтобы проверить, а вдруг это все де мой косяк, а не утилит валидации. Будь добр, вышли их мне.

Лучше всего писать мне на мой основной ящик: dik...@gmail.com
Ящик разработчика dik...@mail.ru опять посыпался, какие-то глюки на Mail.ru - то могу войти, то - нет. Лучше на мой Гугловский ящик.

black...@yandex.ru

unread,
Mar 17, 2014, 3:28:09 AM3/17/14
to ru-fb...@googlegroups.com
Спасибо, мил человек.
Ты только ответь на один вопрос: на основании чего ты делаешь вывод, что речь идёт о конвертируемом мной файле?
Или, может быть, ты хочешь поработать на ниве предварительного и достаточно полного изучения документации (не только прочтение, но понимание и навыки примерения) документации всеми пользователями OOoFBTools?

Фича конвертера интереснее как раз для проверки но создаваемых OOoFBTools файлов, а добытых из иных источников.

black...@yandex.ru

unread,
Mar 17, 2014, 3:30:37 AM3/17/14
to ru-fb...@googlegroups.com
Блин, конечно же валидатора.

black...@yandex.ru

unread,
Mar 17, 2014, 3:49:22 AM3/17/14
to ru-fb...@googlegroups.com


On Thursday, March 13, 2014 8:43:58 PM UTC+4, DikBSD wrote:
Насчет пустых ссылок на картинки без бинарных объектов уже другой пользователь написал... Я так и не смог обойти жту проблему офиса. А в ПОСЛЕДНЕЙ версии Либре еще больше поломали ядро языка программирования... Я просто за голову хватаюсь...

По поводу валидации - пришли мне пожалуйста на эмэйл odt файлы, чтобы я мог проконвертировпть и запустить валидацию - надо посмотреть...

Полагаю хватит одного. Добыл, сейчас пришлю.
Согласно заговлоку fb2 использовался OOoFBTools-2.25 (ExportToFB21), точнее сказать не могу, ибо речь идёт не о моём файле.
Если для целей отладки этой информации недостаточно, стоит пересмотреть формат заполнения поля.
 

А что касается самой валидации... Мне удалось сделать ее для ВСЕХ основновных платформ, используя только xml валидаторы жтих платформ. Если они пропустят ошибку - моя утилита ничего не сможет сделать. Написать свои валидаторы, боюсь, у меня мозгов не зватит :-).

Не соглашусь с таким подходом.
Первичным должен быть список проверок.
Реализуется встроенными средствами — замечательно!
Не реализуется — надо думать как добрать недостающее.
Характерный пример — валидатор из ныне почившего пакета fb2utils.

=dev-libs/libxml2-2.9.1-r1 целостность ссылок хотя бы на уровне квантора существования объектов не проверяет.
 

Поэтому мне и нужны твои файлы, чтобы проверить, а вдруг это все де мой косяк, а не утилит валидации. Будь добр, вышли их мне.

Файлы не мои. Но исходники (odt) доступны. Ща вышлю.
Хотя с учётом сказанного — косяк как минимум взаимный: в базовых утилитах проверка опущена (хотя в надстройках типа валидатора из fb2-utils оно было реализовано), но и ты не позаботился о явной проверке очевидного и необходимого.

black...@yandex.ru

unread,
Mar 18, 2014, 1:54:13 AM3/18/14
to ru-fb...@googlegroups.com


On Thursday, March 13, 2014 8:43:58 PM UTC+4, DikBSD wrote:
А что касается самой валидации... Мне удалось сделать ее для ВСЕХ основновных платформ, используя только xml валидаторы жтих платформ. Если они пропустят ошибку - моя утилита ничего не сможет сделать. Написать свои валидаторы, боюсь, у меня мозгов не зватит :-).

Кстати, не то, чтобы безусловно правильное решение.
Требует внимания к… особенностям реализации "родных" инструментов этих самых основных платформ.
ИМХО правильнее было бы ориентироваться на кросс-платформенные решения.
В лице (наиболее вероятный кандидат) dev-libs/libxml2 (используемой в том числе доныне стандартным валидатором, работающим на платформе самой распространённой ОС).
Reply all
Reply to author
Forward
0 new messages