§ 1.3 Несколько слов о XML
§ 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>pupkin@pisem.net</e-mail>
</persone>
</contact>
<contact>
<organization>
<type-org>Кооператив</type-org>
<name-org>Рога и Копыта</name-org>
<address>ул. Малая Арнаутская, 12</address>
<phone type="work">202-33-20</phone>
<phone type="work">202-32-00</phone>
<site>http://www.horn&hoof.ua</site>
<e-mail>mail@horn&hoof.ua</e-mail>
</organization>
</contact>
</AddressBook>
Как видим, сам документ имеет древовидную структуру и состоит из вложенннных элементов.
Первая строка является признаком XML и содержится во всех документах.
Элемент — это данные, ограниченные парой тэгов. <tag> и </tag>.
Кроме данных, элементы могут содержать в себе атрибуты — например, у элемента phone есть атрибут type, который может принимать фиксированные значения «home», «work» и «mobile».
Вместо пары тэгов для обозначения границ элемента может использоваться один тэг вида <tag/>, но тогда у такого элемента не может быть данных и вложенных элементов.
Стандарт XML предписывает, чтобы у «дерева» элементов был корневой элемент, который будет содержать внутри себя все остальные. Корневой элемент должен быть единственным, то есть XML-документ, где два и больше корневых элементов, — это документ, сформированный неправильно.
Как видим, все просто и понятно. Документ легко читается и редактируется, а при желании можно написать XSL, трансформирующий его в HTML или RTF.
Давая свободу, XML одновременно предъявляет к документу гораздо более жесткие требования, чем HTML. Одно из ключевых понятий XML — «валидный» документ. Все элементы документа должны быть правильно закрыты, а вложенность их соответстовать спецификации. Конструкции типа <i><b>Text</i></b>, которые легко «проглатывает» HTML, в XML считаются фатальной ошибкой.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
И несколько последних слов
И несколько последних слов Все те концептуальные особенности Zenwalk»а, описанные выше, показались части его разработчиков не совсем соответствующими духу первозданного Linux»а. И в результате от него отделился проект Salix. Но о нём сейчас разговора не будет – он выпадает и за
12.1. Несколько слов о форматах текстовых файлов
12.1. Несколько слов о форматах текстовых файлов Как вы знаете, любой файл, в том числе и файлы, в которых сохранены текстовые документы того или иного вида, представляет собой просто последовательность байтов. Символы текста кодируются разными значениями байта или
Несколько слов в заключение
Несколько слов в заключение Прочитав эту книгу, вам наверняка захочется узнать больше о выбранном вами дистрибутиве - Fedora8. Поэтому здесь мы поговорим об источниках информации по Linux.Linux - это отлично документированная система. В составе любого дистрибутива есть довольно
Еще несколько слов о языке
Еще несколько слов о языке Перед тем как закончить наш разговор о коммуникации, неплохо было бы затронуть тему грамматических ошибок. Проблемы с правописанием встречаются в Сети довольно часто и вызывают у посетителей не самые лучшие
14.8.1. Несколько слов о текстовых фильтрах
14.8.1. Несколько слов о текстовых фильтрах Многие инструменты, которыми мы постоянно пользуемся (как поставляемые производителем, так и разрабатываемые собственными силами), — просто текстовые фильтры. Иными словами, они принимают на входе текст, каким-то образом
Несколько слов о вложенных делегатах
Несколько слов о вложенных делегатах Завершим эту главу рассмотрением еще одного аспекта обобщенных делегатов. Вы знаете, что делегаты могут быть вложены в тип класса, что должно означать тесную ассоциацию между этими двумя ссылочными типами. Если тип-контейнер при этом
Несколько слов о System.CodeDOM
Несколько слов о System.CodeDOM Теперь, когда мы с вами выяснили, как создаются динамические компоновочные блоки с помощью System.Reflection.Emit и различных лексем CIL, я должен сообщить вам, что есть и другая (часто более простая) альтернатива. Платформа .NET предлагает технологию под
Несколько слов о расширении стандартных возможностей
Несколько слов о расширении стандартных возможностей Ключевой особенностью слоя удаленного взаимодействия .NET является то, что большинство предлагаемых по умолчанию слоев удаленного взаимодействия может быть расширено или полностью заменено разработчиком
Несколько слов о IpcChannel
Несколько слов о IpcChannel Перед тем как перейти к обсуждению файлов конфигурации удаленного взаимодействия, напомним, что .NET 2.0 предлагает тип IpcChannel, обеспечивающий самый быстрый из возможных способов взаимодействия приложений на одной машине. Задачей данной главы
Несколько слов о System.Web.UI.HtmlControls
Несколько слов о System.Web.UI.HtmlControls Вообще говоря, есть два разных набора Web-элементов управления, предлагаемых в рамках дистрибутива .NET 2.0. В дополнение к Web-элементам управления ASP.NET (из пространства имен System.Web.UI.WebControls), библиотеки базовых классов предлагают также элементы
8.2.3. Несколько слов о заголовочных файлах
8.2.3. Несколько слов о заголовочных файлах Заголовочный файл предоставляет место для всех extern-объявлений объектов, объявлений функций и определений встроенных функций. Это называется локализацией объявлений. Те исходные файлы, где объект или функция определяется или
Несколько слов о связи
Несколько слов о связи Несомненно, маленькие мобильные устройства, будь то смартфон или КПК, идеально подходят на роль коммуникационных устройств. В этой главе были приведены только самые простые примеры использования связи между устройствами. В последнее время
1.1. Несколько вступительных слов об Ubuntu
1.1. Несколько вступительных слов об Ubuntu Как ни прискорбно сознавать, но если тенденции развития Linux не изменятся, то скоро она станет такой же коммерческой операционной системой, как и Windows. Уже сегодня цена некоторых дистрибутивов (тот же Mandriva PowerPack) в ряде
19.1. Несколько слов о GRUB2
19.1. Несколько слов о GRUB2 Загрузчик GRUB (GRand Unified Bootloader) считается более гибким и современным, чем LILO (Linux Loader). Благодаря иной схеме загрузки операционных систем GRUB понимает больше файловых систем, нежели LILO, а именно: FAT/FAT32, ext2, ext3, ReiserFS, XFS, BSDFS и др.Но время не стоит на месте. В
Несколько слов об индексировании компонентов
Несколько слов об индексировании компонентов На стыке технических и организационных проблем возникает вопрос: как следует связывать индексирующую информацию, например ключевые слова с программными компонентами? Принцип Самодокументирования говорит о том, что вся