FictionBook > Комментарии к DTD

FictionBook 2.0 Shema - комментарии

Что такое Shema?

W3C Shema - формальное описание требований к документу XML. Shema определяет какие теги можно использовать, и где они могут располагаться, и что они могут содержать. Так же Shema определяет, какие теги должны присутствовать обязательно, а какие могут быть опущены.

Структура документа FictionBook

Документ FictionBook состоит из двух частей - заголовка (<description>) и тела (<body>). За ними могут следовать включенные в документ двоичные файлы. Пока обрабатываются программами файлы *.PNG и *.JPG, но вложить в документ можно любые файлы.

Заголовок

Заголовок состоит из трех частей: информация о содержимом книги (<title-info>), информация о XML-документе (<document-info>), и информация о бумажном издании (<publish-info>), на котором основывается данный документ XML.

В заголовке обязательными являются только <title-info> и <document-info>. <title-info> описывает название произведения, автора, жанр, язык и может содержать дополнительную информацию (типа аннотации, ключевых слов, языка оригинала и т.п.)

<publish-info> описывает бумажное издание, на котором основан документ и является необязательным, хотя его заполнение при создании книг всячески приветствуется. Такая информация позволит легко отслеживать ошибки в документах и позволит объективно оценить удобство различных средств и методов разработки документов FictionBook и совершенствовать такие средства и методы.

Пример минимального заголовка:

<description>
 <title-info>
  <genre>history_russia</genre>
  <author>
   <first-name>Лев</first-name>
   <middle-name>Николаевич</middle-name>
   <last-name>Толстой</last-name>
  </author>
  <book-title>Война и мир</book-title>
  <lang>ru</lang>
 </title-info>
 <document-info>
  <author>
   <nickname>GribUser</nickname>
  </author>
 <date value="2002-10-15">15 ноября 2002г., 19:53</date>
 <id>GribUser_WarAndWorld_D49FHSH8l0HS5</id>
 <version>2.0</version>
 </document-info>
</description>

Пример развернутого заголовка:

<description>
 <title-info>
<!--Вы можете указывать необходимое колличество жанров,
 которым соответствует книга. Это облегчит ее каталогизацию в библиотеке.
 Для занесения книги в библиотеку необходимо указать хотябы один жанр.--!>
  <genre>history_russia</genre>
  <genre>romance_historical</genre>
  <genre>literature_classics</genre>
  <genre>literature_history</genre>
  <genre>literature_war</genre>
  <genre>literature_rus_classsic</genre>
  <genre>computers</genre>
  <author>
<!--Имя-Отчество-Фамилия автора книги. Так же
 здесь допустимы поля nickname, home-page, email.
 Необходимо указать first-name+last-name или nickname,
 остальные поля являются необязательными.--!>
   <first-name>Лев</first-name>
   <middle-name>Николаевич</middle-name>
   <last-name>Толстой</last-name>
   <nickname>Лева</nickname>
   <home-page>lev@tolstoy.ru</home-page>
   <email>http://www.pupkin.ru</email>
  </author>
<!--Название книги - комментарии излишни.--!>
  <book-title>Война и мир</book-title>
<!--Аннотация - позволит разыскивающему себе чтива
в библиотеке оценить, подходит ему книга, или нет--!>
  <annotation>
<p>Это тестовый файл FictionBook 2.0. Создан грибовым дмитрием
 в демонстрационных целях и для экспериментов с библиотекой FIctionBook.lib.
 К сожалению сам роман я в FB2 пока не перевел.
</p>
<empty-line/>
<p>
 Роман Толстого «Война и мир» был написан в 1869 году. Это
 произведение явилось, по словам многих известных писателей и
 критиков, «величайшим романом в мире». Главная мысль в романе -
 мысль народная.
</p>
<!--Аннотация может включать в себя все текстовые элементы:
 стихи
 цитаты
 пустые строки
 гиперссылки.--!>
<poem>
<title>
 <p>Название стиха</p>
</title>
<epigraph>
 <p>Стихотворение посвящается
тегу "stanza"</p>
</epigraph>
<stanza>
 <v>Типа тут стихи</v>
 <v>В этой строфе</v>
 <v>Типа тут стихи</v>
 <v>В этой строфе</v>
</stanza>
</poem>
<cite>
<p>Здесь можно кого-нибудь процитировать</p>
<text-author>Автор/Источник Цитаты</text-author>
   </cite>
   <p>
Большую часть романа занимают картины военных действий. В этом
произведении Толстым дано изображение двух войн: 1805 и 1812 годов. В обеих войнах
главным и решающим фактором явились
народные массы. <a xlink:href="#annotation_src" type="note">[источник]</a>.
</p>
  </annotation>
<!--Уф. Вот и кончилась эта чудовищная аннотация,
 дальше поехали ключевые слова, дата написания, обложка, язык книги и оригинала,
 переводчик и серия.--!>
  <keywords>
1912, война, роман, отечественная, наполеон, кутузов, император, политика, нравственность
  </keywords>
  <date value="1869-01-01">1863-1869</date>
  <coverpage>
   <image xlink:href="#cover.jpg"/>
  </coverpage>
  <lang>ru</lang>
  <src-lang>ru</src-lang>
  <translator>
   <first-name>Вообще-то</first-name>
   <middle-name>никакого переводчика нет</middle-name>
   <last-name>Это так, для примера</last-name>
  </translator>
<!--Вообще-то этот роман не входит ни в какие серии,
 но если вы он входил, выглядело бы это так:--!>
  <sequence name="Детство, Отрочество, Юность" number="2"/>
 </title-info>


<!--Теперь поехала информация о документе,
 когда отформатирован, кем и т.д.--!>
 <document-info>
  <author>
   <nickname>GribUser</nickname>
   <home-page>http://www.gribuser.ru</home-page>
   <email>grib@gribuser.ru</email>
  </author>
 <program-used>ClearTXT, XMLSpy, HomeSite 5.0</program-used>
 <date value="2002-10-15">15 ноября 2002г., 19:53</date>
 <src-url>http://www.magister.msk.ru/library/tolstoy/wp/wp00.htm</src-url>
 <src-ocr>Oleg E. Kolesnikov</src-ocr>
<!--Поле id позволяет отслеживать судьбу документа,
 и не вносить, например, в библиотеку, две версии одного документа,
 а просто обновить его. Или наоборот, внести новый документ вместо
 обновления существующего.--!>
 <id>GribUser_WarAndWorld_D49FHSH8l0HS5</id>
 <version>2.0</version>
 <history>
  <p>Этот документ первоначально был создан для
   FictionBook 1.0 и позднее переделан для FB2.0</p>
  </history>
 </document-info>

<!--И на закуску - информация о бумажной публикации,
 на которой основан документ.--!>
 <publish-info>
  <book-name>Л.Н.Толстой, Полное Собрание Сочинений</book-name>
  <publisher>ГИХЛ</publisher>
   <city>Москва</city>
   <year>1957</year>
   <isbn>Тут пишем ISBN код книги, если есть</isbn>
 </publish-info>
<!--А здесь - все, что не лезет ни в какие рамки.--!>
 <custom-info info-type="general">
Здесь можно расположить дополнительную информацию, не укладывающуюся
в заданную схему. Это может быть как описательная информация, так и коммерческая
информация, связанная с книгой - например, информация о том, где можно купить бумажное издание
 </custom-info>
</description>

Тело

Тело документа FictionBook (<body>) состоит из одной или более части (<section>). <section> может быть вложена внутрь другой <section>, при этом одновременное вложение текстов и <section> не допускается.

Всегда допустимые теги втутри <section>:

  1. <title> - аналог атрибута title, допускающий использование параграфов (<p>) и пустых строк (<empty-line>) для сложных заголовков.
  2. <image> - рисунок.
  3. <epigraph> - эпиграф, допустим в начале, может быть несколько.
  4. <annotation> - краткое описание главы.

Теги, допустимые в любом порядке и количестве внутри <section>, если в нее не вложена другая <section>:

  1. <p> - параграф. Допускает использование стилей <style>, выделения <strong> и сносок <note>
  2. .
  3. <image> - рисунок.
  4. <empty-line> - пустая строка.
  5. <poem> - стихи.
  6. <subtitle> - смысловой разделитель, имеющий внутри себя текст.
  7. <cite> - цитата.

Более полную информацию можно найти, просмотрев исходный текст и комментарии в примере документа FictionBook.



     TopList