FictionBook 1.0 > Краткий курс XML

Краткий курс XML для FictionBook 1.0

Версия 1.0 носила экспериментальный характер и не совместима с текущей версией!!!
Используйте версию стандарта не младше 2.0
Эта страница оставлена для ознакомительных целей.

XML-язык разметки, с жестко заданными правилами (все теги должны быть закрыты и т.п.). В пределах этих правил вы получаете полную свободу (собственные имена тегов и т.п.) XML прост в создании и обработке.

Зачем мне XML?

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

При работе с FictionBook вам, вероятнее всего, не удастся избежать столкновения с XML-кодом (в будущем это станет неактуальным, я надеюсь). Пока же понимание смысла своих действий при работе с XML будет полезным в работе.

Что есть XML?

Это универсальный язык структурной разметки. Он не является единственным, но на данный момент может считаться наиболее перспективным.

Что отличает XML от других языков разметки?

Его простота в создании и обработке. XML задуман как формат, одинаково легко обрабатываемый программой, браузером и человеком.

Эта простота обеспечивается несколькими особенностями языка XML:

Интуитивная понятность

Вы открываете пришедший неизвестно откуда файл и понимаете, что к чему. Например, вот файл с описанием модуля PERL:

<SOFTPKG NAME="DBD-mysql" VERSION="1,2212,0,0">
	<TITLE>DBD-mysql</TITLE>
	<ABSTRACT>MySQL driver for the Perl5 Database Interface (DBI)</ABSTRACT>
	<AUTHOR>Jochen Wiedmann (joe@ispsoft.de)</AUTHOR>
	<IMPLEMENTATION>
		<DEPENDENCY NAME="DBI" VERSION="1,08,0,0" />
		<DEPENDENCY NAME="Data-Dumper" VERSION="0,0,0,0" />
		<DEPENDENCY NAME="Data-ShowTable" VERSION="0,0,0,0" />
		<OS NAME="MSWin32" />
		<ARCHITECTURE NAME="MSWin32-x86-multi-thread" />
		<CODEBASE HREF="D:/My_WWW/MySQL/DBD-mysql-1.2212.x86.tar.gz" />
	</IMPLEMENTATION>
</SOFTPKG>
(файл взят с сайта activestate)

Я открыл этот файл и исправил одну строку (<CODEBASE>). Мне не потребовалось читать мануалы или скачивать программы-анализаторы. Любой документ XML должен соответствовать этому принципу.

Строгость

  1. XML документы, как и документы html, размечаются тегами - маркерами, окруженными знаками <> (<body>, <table>). Но в отличие от html, в документе xml можно использовать любые теги (типа <мой_кульный-тег>).
  2. Разметка в документе XML используется для выделения структуры и только для этого. Представление документа полностью выносится из документа и обрабатывается отдельно. Для любого документа XML можно создать бесконечное множество представлений (для этого используются CSS и XST-стили).
  3. Структура документа XML жестко задана и не может быть нарушена. Например, такое сочетание тегов, как <I> <B></I> </B> является допустимым (хотя и ошибочным) в html и будет адекватно отображено в браузере (например). В XML же такое сочетание тегов вызовет сообщение об ошибке, и документ обработан не будет. Любой вложенный тег должен быть закрыт прежде, чем родительский.
  4. Теги в XML чувствительны к регистру. То есть <i> и <I> в XML - не одно и то же.
  5. Документы XML помимо корректной вложенности тегов (well-formed, правильный XML) имеет еще одну степень структурированности. Можно задать, например, что тег <I> будет встречаться только внутри тега <PARAGRAPH>, а внутри тега <PARAGRAPH> может находиться только текст и тег <I>. Любой документ, в котором это правило будет нарушено, считается невалидным и при его обработке никаких гарантий не дается - в лучшем случае будет выдана ошибка. Можно задать теги, которые должны обязательно присутствовать в конкретном месте документа. Можно задать набр тегов, только один из которых может быть использован внутри тега, или указать, какой тег за каким должен следовать.

Ну и зачем все это?

Благодаря такой строгости достигается легкость поддержки XML в различных программах и надежность получаемых данных. Программная обработка документов XML является довольно тривиальной задачей, будь то отображение, приведение к другому стандарту (например, преобразование в html) или поиск и анализ информации.

Здесь изложены азы, необходимые для работы с ClearTXT, за более подробной информацией можно обратиться к специализированным сайтам или литературе.

Так же см.: