"Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)" - читать интересную книгу автора (Кондратович Михаил Иосифович)§ 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›202-33-20‹/phone› ‹phone›202-32-00‹/phone› ‹site›http://www.horn amp;hoof.com‹/site› ‹e-mail›mail@horn amp;hoof.com‹/e-mail› ‹/organization› ‹/contact› ‹/AddressBook› Как видим, сам документ имеет древовидную структуру и состоит из вложенннных элементов. Первая строка является признаком XML и содержится во всех документах. Элемент – это данные, ограниченные парой тэгов. ‹tag› и ‹/tag›. Кроме данных, элементы могут содержать в себе атрибуты – например, у элемента phone есть атрибут type, который может принимать фиксированные значения «home» и «mobile». Вместо пары тэгов для обозначения границ элемента может использоваться один тэг вида ‹tag/›, но тогда у такого элемента не может быть данных и вложенных элементов. Стандарт XML предписывает, чтобы у «дерева» элементов был корневой элемент, который будет содержать внутри себя все остальные. Корневой элемент должен быть единственным, то есть XML-документ, где два и больше корневых элементов, – это документ, сформированный неправильно. Как видим, все просто и понятно. Документ легко читается и редактируется, а при желании можно написать XSL, трансформирующий его в HTML или RTF. Давая свободу, XML одновременно предъявляет к документу гораздо более жесткие требования, чем HTML. Одно из ключевых понятий XML – «валидный» документ. Все элементы документа должны быть правильно закрыты, а вложенность их соответстовать спецификации. Конструкции типа ‹i›‹b›Text‹/i›‹/b›, которые легко «проглатывает» HTML, в XML считаются фатальной ошибкой. |
||
|