Проверка валидности fb2-файла при загрузке ???

Сложно ли добавить автоматическую проверку валидности книг перед их загрузкой на сайт и "не пропускать" невалидные файлы ???

Сложно ли вам, Ghost mail, указать в своем сообщении утилиту для "проверки валидности" fb2, которую вы предлагаете ???

rr3 написал:
Сложно ли вам, Ghost mail, указать в своем сообщении утилиту для "проверки валидности" fb2, которую вы предлагаете ???
Я лично использую : 1. FBE (http://www.fictionbook.org/forum/viewtopic.php?t=5433&start=540); 2. утилиту fb2fix (http://www.fictionbook.org/forum/viewtopic.php?t=5575&start=120); 3. Свою обработку, написанную на 1С 8.1 (для своих "внутренних" целей).
Однако, эти редакторы-утилиты для работы с командной строки, а нужна проверка на php, которая бы работала на веб-сервере перед загрузкой файла книги.

В-действительности, прежде всего этот вопрос нужно решить "политически" - нужно или не нужно 8-)
Мое личное мнение,- нужно. Лучше пусть будет немного меньше книг, но они будут "качественнее" (будут соответствовать стандарту FB2)

Предлагаете "прикрутить" FBE? Или fb2fix? :)

Идеально "валидных" fb2-файлов на сегодня не существует, как и программы, которая бы это определяла - и все благодаря "стандарту FB2". За работой скриптов приходится убирать вручную, валидность книги - определять "на глазок".

Цитата:
В-действительности, прежде всего этот вопрос нужно решить "политически" - нужно или не нужно 8-)

От "политического" решения ничего не изменится - кроме громких фраз: программа не появится, вычитка файлов не улучшится. Кроме того, найдя незакрытый тег в fb2-книге - гораздо легче его закрыть, чем брезгливо отбросить этот файл и отсканировать книгу по-новой.

И файл может быть невалидным, но содержать полный текст, и другого в библиотеке может не быть. Невалидность мы поправим.

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

А кто-нибудь более-менее формально описать процедуру валидации может?
Разобрать XML, проверить возможность тэгов и словарно-кодируемых полей?
Всё?

Если всё, я в свой скрипт могу это добавить (XML-разбор там уже есть)...
Он, правда, не на ПХП, а на Питоне, но не думаю, что это нынче проблема для большинства хостингов.

Формализовать процедуру "исправления" невалидного файла, чтобы он стал валидным, почти невозможно. Можно только пытаться проверять и исправлять набор часто встречаемых ошибок (как-то : неправильный порядок тегов 'title' и 'epigraph'; тег 'title' в середине текста; оформление стихов в тексте тегом 'epigraph' и так далее).
Однако задавая вопрос в теме топика я имел в виду : проверять валидность перед загрузкой на сервер и в случае ошибок,- сообщать пользователю об этом и не загружать невалидный файл. Подразумевается, что после этого пользователь потратит еще 1-2 минуту на исправление своего файла, и загрузит этот файл исправленным 8-)

>тег 'title' в середине текста
А это из чего следует что невалидно? это допускает схема, и, более того, явно присуствует в примерах на fictionbook.org.
Это какой-то тогда не XML уже получается, а некий формат издалека напоминающий XML :-)

title должно быть в начале секции. Это переводится как заголовок, если вы не в курсе. В середине секции title быть не может.
Правильно:


<section>
<title></title>
<p></p>
<p></p>
</section>

Не правильно:

<section>
<p></p>
<title></title>
<p></p>
</section>

Цитата:
Это какой-то тогда не XML уже получается, а некий формат издалека напоминающий XML :-)
А так оно и есть.

Цитата:
Раздел <section> состоит из следующих частей в указанном порядке:
Заголовок <title>. От нуля до одного вхождений.
Эпиграф <epigraph>. Любое число вхождений.
. . .

Проверка валидности очень не помешала бы.

В некоторых файлах, (в них сказано что сделаны они в "LibRusEc kit") пометки, сноски, перевод разных понятий заключены в знаки < >,хотя по спецификации XML они должны быть в виде &lt; &gt; соответственно, также иногда попадается знак & (амперсанд) хотя и он должен быть написан не прямо, а специально вот так &amp;

Из-за таких нарушений формата разметки XML некоторые файлы не возможно читать программами которые четко следуют спецификации XML

Проверка валидности при загрузке fb2-файлов от автора "LibRusEc kit" - хорошая шутка, спасибо :)

Если серьезно - дайте ссылки на книги, а еще лучше - давайте исправим их вместе.

rr3 написал:
Проверка валидности при загрузке fb2-файлов от автора "LibRusEc kit" - хорошая шутка, спасибо :)
Если серьезно - дайте ссылки на книги, а еще лучше - давайте исправим их вместе.

Я могу сгенерить список. Только, боюсь, в нем будет несколько десятков тысяч (не несколько тысяч, а несколько десятков тысяч) книг. И што мы будем с ими делать?

Точнее, 47 642 : http://lib.rus.ec/stat/document-author .

Проверить на другие варианты файла - скачать - открыть - поиск символов с автозаменой - сохранить - залить на Либрусек.
repeat

Всего по 23 821 на рыло.

rr3 написал:
Точнее, 47 642 : http://lib.rus.ec/stat/document-author .
Проверить на другие варианты файла - скачать - открыть - поиск символов с автозаменой - сохранить - залить на Либрусек.
repeat
Всего по 23 821 на рыло.

:) Да, рыла могут треснуть.
На самом деле немножко меньше: у меня готовятся что-то в районе четырех тысяч книг с Алдебарана/Литреса, которые будут заменой Либрусек-Киту. Но пока никак не приспособлюсь чтобы залить их без ручных разборок с дублями... :((

С другой стороны - супротив 47-ми тысяч оно не то чтобы совсем уж мертвому припарки... но и ненамного больше.

X