Eng:FictionBook 2.0 Schema - comments to the scheme

Материал из FictionBook
Версия от 08:15, 27 июня 2006; FBAdmin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Внимание! Attention!
Содержимое этой страницы надо перевести на английский язык.

Contents of this page it is necessary to translate into English language.

Что такое Schema?

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

Структура документа 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>http://www.pupkin.ru</home-page>
   <email>lev@tolstoy.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>:

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

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

  • <subtitle> - смысловой разделитель, имеющий внутри себя текст;

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