FictionBook 2.0 Schema - комментарии — различия между версиями

Материал из FictionBook
Перейти к: навигация, поиск
(Добавил ссылки на описания элементов с элементов в тексте упомянутых, поправил <pre> в примерах)
Строка 3: Строка 3:
  
 
== Структура документа FictionBook ==
 
== Структура документа FictionBook ==
Документ FictionBook состоит из двух частей - заголовка (<description>) и тела (<body>). За ними могут следовать включенные в документ двоичные файлы. Пока обрабатываются программами файлы *.PNG и *.JPG, но вложить в документ можно любые файлы.
+
Документ FictionBook состоит из двух частей - заголовка ([[Элемент description|&lt;description&gt;]]) и тела ([[Элемент body|&lt;body&gt;]]. За ними могут следовать включенные в документ двоичные файлы. Пока обрабатываются программами файлы *.PNG и *.JPG, но вложить в документ можно любые файлы.
  
 
== Заголовок ==
 
== Заголовок ==
Заголовок состоит из трех частей: информация о содержимом книги (<title-info>), информация о XML-документе (<document-info>), и информация о бумажном издании (<publish-info>), на котором основывается данный документ XML.
+
Заголовок состоит из трех частей: информация о содержимом книги ([[Элемент title-info|&lt;title-info&gt;]]), информация о XML-документе ([[Элемент document-info|&lt;document-info&gt;]]), и информация о бумажном издании ([[Элемент publish-info|&lt;publish-info&gt;]]), на котором основывается данный документ XML.
  
В заголовке обязательными являются только <title-info> и <document-info>. <title-info> описывает название произведения, автора, жанр, язык и может содержать дополнительную информацию (типа аннотации, ключевых слов, языка оригинала и т.п.)
+
В заголовке обязательными являются только [[Элемент title-info|&lt;title-info&gt;]] и [[Элемент document-info|&lt;document-info&gt;]]. [[Элемент title-info|&lt;title-info&gt;]] описывает название произведения, автора, жанр, язык и может содержать дополнительную информацию (типа аннотации, ключевых слов, языка оригинала и т.п.)
  
<publish-info> описывает бумажное издание, на котором основан документ и является необязательным, хотя его заполнение при создании книг всячески приветствуется. Такая информация позволит легко отслеживать ошибки в документах и позволит объективно оценить удобство различных средств и методов разработки документов FictionBook и совершенствовать такие средства и методы.
+
[[Элемент publish-info|&lt;publish-info&gt;]] описывает бумажное издание, на котором основан документ и является необязательным, хотя его заполнение при создании книг всячески приветствуется. Такая информация позволит легко отслеживать ошибки в документах и позволит объективно оценить удобство различных средств и методов разработки документов FictionBook и совершенствовать такие средства и методы.
  
 
=== Пример минимального заголовка: ===
 
=== Пример минимального заголовка: ===
 +
<pre>
 
  <description>
 
  <description>
 
  <title-info>
 
  <title-info>
Строка 33: Строка 34:
 
  </document-info>
 
  </document-info>
 
  </description>
 
  </description>
 +
</pre>
  
 
=== Пример развернутого заголовка: ===
 
=== Пример развернутого заголовка: ===
 +
<pre>
 
<description>
 
<description>
 
  <title-info>
 
  <title-info>
Строка 173: Строка 176:
 
  </custom-info>
 
  </custom-info>
 
  </description>
 
  </description>
 +
</pre>
  
 
== Тело ==
 
== Тело ==
Тело документа FictionBook (<body>) состоит из одной или более части (<section>). <section> может быть вложена внутрь другой <section>, при этом одновременное вложение текстов и <section> не допускается.
+
Тело документа FictionBook ([[Элемент body|&lt;body&gt;]]) состоит из одной или более части ([[Элемент section|&lt;section&gt;]]). [[Элемент section|&lt;section&gt;]] может быть вложена внутрь другой [[Элемент section|&lt;section&gt;]], при этом одновременное вложение текстов и [[Элемент section|&lt;section&gt;]] не допускается.
  
Всегда допустимые теги втутри <section>:
+
Всегда допустимые теги втутри [[Элемент section|&lt;section&gt;]]:
  
<title> - аналог атрибута title, допускающий использование параграфов (<nowiki><p></nowiki>) и пустых строк (<empty-line>) для сложных заголовков.
+
[[Элемент title|&lt;title&gt;]] - аналог атрибута title, допускающий использование параграфов ([[Элемент р|&lt;p&gt;]]) и пустых строк ([[Элемент empty-line|&lt;empty-line&gt;]]) для сложных заголовков.
  
<image> - рисунок.
+
[[Элемент image|&lt;image&gt;]] - рисунок.
  
<epigraph> - эпиграф, допустим в начале, может быть несколько.
+
[[Элемент epigraph|&lt;epigraph&gt;]] - эпиграф, допустим в начале, может быть несколько.
  
<annotation> - краткое описание главы.
+
[[Элемент annotation|&lt;annotation&gt;]] - краткое описание главы.
  
Теги, допустимые в любом порядке и количестве внутри <section>, если в нее не вложена другая <section>:
+
Теги, допустимые в любом порядке и количестве внутри [[Элемент section|&lt;section&gt;]], если в нее не вложена другая [[Элемент section|&lt;section&gt;]]:
  
<nowiki><p></nowiki> - параграф. Допускает использование стилей <style>, выделения <nowiki><strong></nowiki> и сносок <note>.
+
[[Элемент р|&lt;p&gt;]] - параграф. Допускает использование стилей [[Элемент style|&lt;style&gt;]], выделения [[Элемент strong|&lt;strong&gt;]] и сносок [[Элемент note|&lt;note&gt;]].
  
<image> - рисунок.
+
[[Элемент image|&lt;image&gt;]] - рисунок.
  
<empty-line> - пустая строка.
+
[[Элемент empty-line|&lt;empty-line&gt;]] - пустая строка.
  
<poem> - стихи.
+
[[Элемент poem|&lt;poem&gt;]] - стихи.
  
<subtitle> - смысловой разделитель, имеющий внутри себя текст.
+
[[Элемент subtitle|&lt;subtitle&gt;]] - смысловой разделитель, имеющий внутри себя текст.
  
<nowiki><cite></nowiki> - цитата.
+
[[Элемент cite|&lt;cite&gt;]] - цитата.
  
 
Более полную информацию можно найти, просмотрев исходный текст и комментарии в примере документа FictionBook.
 
Более полную информацию можно найти, просмотрев исходный текст и комментарии в примере документа FictionBook.
  
 
[[Категория:FB документы]]
 
[[Категория:FB документы]]

Версия 01:08, 7 февраля 2006

Что такое 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> - аналог атрибута title, допускающий использование параграфов (<p>) и пустых строк (<empty-line>) для сложных заголовков.

<image> - рисунок.

<epigraph> - эпиграф, допустим в начале, может быть несколько.

<annotation> - краткое описание главы.

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

<p> - параграф. Допускает использование стилей <style>, выделения <strong> и сносок <note>.

<image> - рисунок.

<empty-line> - пустая строка.

<poem> - стихи.

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

<cite> - цитата.

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