Что такое XML, подробно описано ниже. Сейчас нас интересуют лишь сравнительные характеристики формата.
Как видим, язык XML имеет наилучшее сочетание качеств, необходимых для e-book. Поэтому попытки делать e-book на его основе уже предпринимались неоднократно и небезуспешно.
В отличие от txt, RTF, DOC, HTML, PDF, и т.д. которые однозначно ориентированы на
Известны форматы OEB (Open E-Book), DocBook, e-Pub и другие. Но наиболее популярным (по крайней мере, в Рунете) является FictionBook.
§ 1.3 Несколько слов о XML
Расширяемый язык разметки — eXtensible Markup Language, был создан для хранения структурированных данных в текстовом формате. Теоретически файлы XML должны легко читаться, как программным обеспечением, так и человеком.
С использованием технологии XML можно записывать и обрабатывать практически любые данные, вне зависимости от их структуры и сложности.
На базе XML уже создано большое количество подмножеств для решения конкретных задач. Например, есть реализация HTML средствами XML — XHTML, язык для записи математических формул и выражений (MathML), язык для химических формул, для медицинской электронной документации. Новый формат файлов пакета M$ Office 2007 представляет собой не что иное, как пачку XML-документов, которые сохраняются в одном архиве.
Кроме того, поскольку любые данные в XML — это обычный текст, то и работать с ними можно как с текстом: готовить XML-документы в notepad, а в случае потери какой-либо части данных с остальными можно будет по-прежнему работать.
В отличие от HTML, набор средств разметки (тэгов) в XML не фиксирован, и может быть произвольным.
Разумеется, это должно как-то описываться. Поэтому в XML есть такое понятие, как «спецификация», DTD (Document Type Definition — описание типа документа) — документ, в котором описана структура XML- подмножества. В настоящее время на смену DTD пришла XML Schema.
Если возникнет необходимость, XML легко преобразовать в любой другой формат. Для этого существует XSLT — eXtensible Stylesheet Language Transformation — расширяемый язык стилей.
Вот, к примеру, реализация адресной книги на базе XML.
<?xml version='1.0' encoding='UTF-8'?>
<AddressBook>
<contact>
<persone>
<name>Василий</name>
<patronymic>Иванович<patronymic>
<surname>Пупкин</surname>
<address>пер. Кривоколенный, 5-15</address>
<phone type='home'>555-22-11</phone>
<phone type='mobile'>736-11-22</phone>
<e-mail>[email protected]</e-mail>
</persone>
</contact>
<contact>
<organization>
<type-org>Кооператив</type-org>
<name-org>Рога и Копыта</name-org>
<address>ул. Малая Арнаутская, 12</address>
<phone type='work'>202-33-20</phone>
<phone type='work'>202-32-00</phone>
<site>http://www.horn&hoof.ua</site>
<e-mail>mail@horn&hoof.ua</e-mail>
</organization>
</contact>
</AddressBook>
Как видим, сам документ имеет древовидную структуру и состоит из вложенннных элементов.
Первая строка является признаком XML и содержится во всех документах.
Элемент — это данные, ограниченные парой тэгов. <tag> и </tag>.
Кроме данных, элементы могут содержать в себе атрибуты — например, у элемента phone есть атрибут type, который может принимать фиксированные значения «home», «work» и «mobile».
Вместо пары тэгов для обозначения границ элемента может использоваться один тэг вида <tag/>, но тогда у такого элемента не может быть данных и вложенных элементов.
Стандарт XML предписывает, чтобы у «дерева» элементов был корневой элемент, который будет содержать внутри себя все остальные. Корневой элемент должен быть
Как видим, все просто и понятно. Документ легко читается и редактируется, а при желании можно написать XSL, трансформирующий его в HTML или RTF.
Давая свободу, XML одновременно предъявляет к документу гораздо более жесткие требования, чем HTML. Одно из ключевых понятий XML — «валидный» документ. Все элементы документа должны быть правильно закрыты, а вложенность их соответстовать спецификации. Конструкции типа <i><b>Text</i></b>, которые легко «проглатывает» HTML, в XML считаются фатальной ошибкой.
§ 1.4 Формат FictionBook — стандарт де-факто для электронных книг
Итак, формат FictionBook…
Сам формат был разработан Дмитрием Грибовым с несколькими соавторами, при поддержке группы энтузиастов.
Он полностью базируется на XML.
На данный момент это самый прогрессивный и перспективный формат для электронных книг. Единственный его недостаток, как признают сами авторы, бОльшие временные затраты при подготовке