XML
XML – «расширяемый язык разметки», язык описания данных.
Как и в HTML, главная составная часть XML – теги, открывающий (<tag>) и закрывающий (<tag/>). Теги всегда парные, могут быть вложенными, регистрозависимые.
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Напоминание</heading>
<body>Не забудь обо мне в эти выходные!</body>
</note>
HTML – для отображения данных, XML – для хранения и передачи.
Тег верхнего уровня – корневой, он обязателен. С точки зрении вложенности теги бывают родительские и дочерние по отношению друг к другу. Теги на одном уровне – братья/сёстры.
Теги могут иметь атрибуты (обязательно заключаются в кавычки). Пример:
<price currency="US dollar">15000.00</price>
Здесь у тега price есть атрибут currency, который говорит о том, в какой валюте указана цена.
Первая строка prolog указывает на версии XML и кодировку:
<?xml version="1.0" encoding="UTF-8"?>
В отличие от HTML, в XML теги не предопределены, пользователь сам даёт им названия. Конфликты с одинаковыми сущностями решаются префиксами. В примере ниже префиксы real и toy позволяют отличить реальные машины от игрушечных:
<real:car category="truck">
<model lang="en">Scania R 770</model>
<year>2005</year>
<price currency="US dollar">200000.00</price>
</real:car>
<toy:car category="sedan">
<title lang="en">Ford Focus</title>
<year>2012</year>
<price currency="US dollar">100.00</price>
</toy:car>
В данном примере, атрибут xmlns в теге <table> определяет префиксам h: и f: квалифицирующее пространство имен.
Чтобы использовать префиксы, их нужно предварительно зарегистрировать в пространстве имён (атрибут xmlns в начальном теге элемента). Обычно префикс – это URI, но можно использовать URI-подобные строки, чтобы отслеживать иерархию имён. Когда пространство имен определено для какого-то элемента, то все его дочерние элементы с тем же префиксом ассоциируются с его пространством имен.
В примере ниже URI-подобная строка подсказывает, что за группа разработчиков отвечает за проект, и из какого они отдела:
<?xml version="1.0" encoding="UTF-8"?>
<carstore xmlns:real="http://testproject.developersgroup1.companyname/department2/namespaces/real"
xmlns:toy="http://testproject.developersgroup1.companyname/department2/namespaces/toy">
<real:car category="truck">
<model lang="en">Scania R 770</model>
<year>2005</year>
<price currency="US dollar">200000.00</price>
</real:car>
<toy:car category="sedan">
<title lang="en">Ford Focus</title>
<year>2012</year>
<price currency="US dollar">100.00</price>
</toy:car>
</carstore>
Вместо символов, используемых в синтаксисе XML, нужно прописывать их сущности:

Комментарии пишутся так же, как в HTML:
<!-- Это комментарий -->
Пример подключения CSS-файла к XML-файлу:
<?xml-stylesheet type="text/css" href="//msiter.ru/cd_catalog.css"?>
Стандарт – набор расширений для XML. Самые популярные стандарты:
AJAX позволяет менять содержимое веб-страницы без её перезагрузки;
XSLT позволяет преобразовывать XML в другие форматы (например, в HTML);
XML DOM позволяет получать, изменять, добавлять и удалять отдельные элементы из XML-файла.
DTD позволяет определить список разрешенных элементов для сущностей в XML-файле.
Last updated