XML (от англ. eXtensible Markup Language расширяемый язык разметки, компактное упрощённое подмножество языка SGML) рекомендованный W3C язык разметки, представляющий собой свод общих правил, нацеленных на создание описаний данных.
XML не предназначен для осуществления каких-либо действий, в том числе, для показа информации на экране компьютера. Он создан для хранения структурированной информации.
Данные на языке XML описываются при помощи тегов. Вот как, например, может выглядеть на XML описание списка школьников:
Приведённый выше XML-код содержит описание элемента с именем СПИСОК. В какой-то степени этот элемент соответствует элементу BODY в языке HTML. Только BODY ключевое слово языка, зафиксированное для оформления тела программы, а слово СПИСОК придумано разработчиком для описания своей структуры данных.
Названия тегам в XML задаёт разработчик и выбирает их так, чтобы они соответствовали содержанию элемента.
Теги в XML могут содержать атрибуты. Имена атрибутов и набор их значений также задаются разработчиком.
В приведенном примере можно обойтись без атрибутов, вводя новые теги:
Язык XML является универсальным средством для создания структур данных, которые можно использовать для самых разных надобностей, в том числе, хранить в XML-файле настроечные данные для компьютерной программы или использовать для создания гипертекстовой страницы.
На последнем варианте остановимся подробнее.
Как же браузер сможет отобразить XML-страницу на экране, если в этом коде он не знает ни одного тега (они придуманы разработчиком)?
Очень просто. Можно рассказать браузеру о виде элементов на экране в отдельном CSS-файле.
Получается полная изоляция структурной разметки документа от его визуального представления.
Язык CSS не поддерживает (в отличие от XML) русских букв, поэтому перепишем наше XML-описание с тегами, именованными по-английски:
XML-описание данных предваряется прологом:
Пролог (аналог головной части HTML-кода) описывает правила интерпретации документа.
Первая строка сообщает браузеру, что он имеет дело с кодом, записанным на языке XML версии 1.0, и указывает, в какой кодировке записан код. Вторая задаёт ссылку на CSS-файл с именем style.css.
В файле style.css приводятся стилевые описания, объясняющие браузеру, как нужно показывать элементы на экране:
HEADER { display:block; font-size:150%; margin-top:1em; margin-bottom:0.5em; font-weight:bold; color: #009900; font-family: Arial, sans-serif; } PUPIL { display:block; margin-top:0.5em; margin-bottom:0.5em; border-top-style: solid; border-top-width: 1px; border-top-color: black; } FAMILY, NAME, GRADE, SEX, HOBBY { display:block; }
Для описаний внешнего вида XML-элементов разработан специальный стилевой язык XLS (от англ. eXtensible Stylesheet Language расширяемый язык стилевых спецификаций). XLS сложнее CSS, но гораздо мощнее его стилевые указания можно не только описывать свойствами из фиксированного набора, но и произвольно программировать.
На базе XML можно строить другие языки разметки. Один из ярких примеров язык XHTML (от англ. eXtensible Hypertext Markup Language расширяемый язык разметки гипертекста). Вариант XHTML 1.1 был одобрен Консорциумом W3C в 2001 году.
Отметим некоторые синтаксические особенности языка XML.