Описание работы пакета OOoFBTools. Создание книг FB2 (Кузнецов) - страница 60

‹cite›‹text-author›Иванов Иван Иванович‹/text-author›

‹/cite›

‹/section›


Валидация

1. После экспорта fb2-файл получается не валидным – не соответствует схеме.

Программы-библиотекари и некоторые Internet-библиотеки его не принимают из-за ошибок в файле

Тут может быть несколько вариантов:

1. Элементы книги (стихи, эпиграфы, заголовки) должны быть отформатированы определенными стилями. При этом их расположение в книге должно четко соответствовать схеме FictionBook.xsd. Если это так, то результирующий fb2-файл получается валидным.

В zip-архиве пакета OOoFBTools есть папка scheme, которая содержит документацию по схеме FictionBook2.1. Она очень наглядна и показывает, какой элемент структуры где должен располагаться для того, чтобы fb2-файл был без ошибок, валидным. Пользуйтесь этой документацией, когда форматируете стилями текст книги!

Совет: внимательно изучите все вышеприведенные пункты справки.

2. Часто в тексте встречаются символы ‹, ›, и amp;, которые в таком виде в fb2-файле «считаются» ошибкой. В Настройках Конвертера предусмотрена опция «Обработка проблемных символов» (включена по-умолчанию). Проверьте, не выключили ли Вы ее?

3. Какая-то скрытая ошибка в конвертере, о какой пока еще не знает разработчик. В этом случае, пожалуйста, вышлите мне Ваш размеченный стилями текстовый файл, который Вы пытаетесь экспортировать в fb2-формат мне на e-mail #mailto: [email protected]


Вылет ошибки при конвертировании

1. При экспорте некоторых документов у меня вылетает сообщение об ошибке и экспорт прерывается

А. Чаще всего это происходит на документах, весь текст которых или большая его часть отформатированы одним стилем. Например, сборник стихов – весь текст отформатирован, как Поэма (Poem).

Дело в том, что Анализатор извлекает данные из документа по определенному стилю и аккумулирует их в виде строк. Это сделано для эффективности работы парсера и последующего этапа – Создание файла. Длина строки не должна превышать 64K. В документах, где весь текст или большая его часть отформатированы одним стилем, как правило, размер этого текста превышает 64K. В результате происходит переполнение и выдается ошибка.

Я не стал разбивать считывание строк на блоки меньше 64K, т. к. это не только усложнило бы написание Анализатора, но и очень существенно увеличило бы время экспорта (2 часа вместо 5 минут.)

Поэтому, чтобы избежать такой проблемы нужно делать следующее:

1). Понимать, что делаете. Не нужно форматировать весть текст одним стилем. Если вы создаете сборник стихов, то там, как правило есть авторы отдельных стихов. Выделите их стилем Poem Author. Это значительно уменьшит размер блоков текста под структуру (в данном случае – под Poem).