FB2 => HTML

В библиотеке появилось достаточно нормально сверстанных FB2, назрела необходимость в нормальном конверторе для онлайн-чтения.
К моему удивлению, поиск в интернете ничего не дал. Единственный как-то работающий вариант прост
(system "xsltproc -o $HTML FB2_2_html.xsl $FB2"), но не обрабатывает картинки. А карты иногда бывают полезны. Ужас.
Пришлось писать свой конвертер.

Для начала зарылся в глубь FB2_2_html.xsl (это как-бы официальное описание fb2-html, как я понял). Такое ощущение, что xsl разрабатывался роботами для роботов. Живому человеку там делать нечего. Так меня не тошнило лет десять, со времен изучения win32api.
Маленький пример. Надо нам добавить разрыв строки, <br> на html, он же <empty-line /> на fb2 (чем им <br> не угодил? Ну, там много необъяснимых странностей.)
На перле это выглядит примерно так:

   print '&lt;br&gt;' if /&lt;empty-line/;

На других вменяемых языках обработки текста чуть хуже, но в сущности похоже.
На xsl же:
&lt;xsl:template match="fb:empty-line"&gt;
&#160;&lt;xsl:text disable-output-escaping="yes"&gt;&amp;lt;br&amp;gt;&lt;/xsl:text&gt;
&lt;/xsl:template&gt;

Как говорится, почуствуйте разницу - три строчки абракадабры вместо одной читабельной. Видимо, это слишком сложная для xsl операция - замена тэга.
Вывод - xsl для обработки xml абсолютно непригоден. Как, прости господи, фортран какой-нибудь. Вопрос. А зачем он вообще нужен-то?

В результате из 400 строк и 15 килобайт нечитаемого xsl получилось 200 строк перла, из которых половина - пустые, весом в 5 кило.

Теперь к делу.
Пока сделано так:
Аннотация выкидывается. Нечего ей делать внутри книжки, она нужна до чтения, для выбора книги, а не во время.
Оглавление располагается в конце книги. Идея расмещать оглавление в начале мне кажется порочной. В большинстве случаев оно не нужно, а если понадобилось - всегда можно нажать CtrlEnd.
Сноски опять же в конце. Кому понадобится - кликнет, кто и так понял - читает дальше. На то она и сноска, чтоб не отсвечивать.
Картинки вытаскиваются в отдельные файлы и в html проставляются абсолютные ссылки - даже если его утащить на локальный комп, картинки всё равно откроются.
Обложка вставляется в начало книги. Сильно сомневаюсь в её нужность, честно говоря.
Просьба ко всем - вдумчиво просмотреть что получается из сложносвёрстанных книг и об обнаруженных глюках доложиться.

Поделитесь пожалуйста конвертором собирался я использовать на xls но увидев кучю зависимостей в ужасе сбежал
Понимаю на си сложно на есть perl python...

при просмотре некоторых книги через "читать" не совпадают открывающие и закрывающие теги каждого абзаца (открывается h3, а закрываются почему-то title и section), что приводит к очень любопытным эффектам (по крайней мере у меня в опере)

например тут: http://lib.rus.ec/b/98053/read

кхе-кхе

X