XML

8 августа
565
5 мин

XML (от англ. eXtensible Markup Language — расширяемый язык разметки) — это текстовый формат, предназначенный для представления структурированных данных. Он был разработан консорциумом W3C в конце 1990-х годов как простой и универсальный способ хранения, обмена и передачи информации между различными системами, приложениями и платформами.

В отличие от языков, ориентированных на отображение, например HTML, XML предназначен именно для хранения и описания данных. Он не задает внешний вид содержимого, а лишь описывает его структуру. XML удобен своей читаемостью — как для человека, так и для машины.

Где применяется XML

Структура XML

Что такое пространство имен XML

Особенности XML

Как отобразить код XML

Основные стандарты XML

Где применяется XML

XML используется во множестве сфер и технологий.

  • Веб-сервисы. Протоколы SOAP и XML-RPC используют XML как формат обмена сообщениями между клиентом и сервером.
  • Конфигурационные файлы. Многие приложения и платформы хранят настройки в формате XML (например, web.config в .NET).
  • Хранение данных. В некоторых случаях XML-файлы применяются для хранения данных в иерархическом виде, когда использование базы данных нецелесообразно.
  • Обмен между системами. XML — популярный выбор при передаче данных между различными программами, особенно если они работают на разных языках или платформах.
  • Документооборот. Стандарты электронного документооборота, такие как UBL (Universal Business Language), основаны на XML.
  • Описания интерфейсов. WSDL (Web Services Description Language) использует XML для описания интерфейсов веб-сервисов.
  • Форматы для хранения документов. Например, формат Microsoft Office Open XML (docx, xlsx, pptx) основан на XML.
  • Графика и мультимедиа. SVG (Scalable Vector Graphics) и SMIL (Synchronized Multimedia Integration Language) также основаны на XML.
Читайте также:

Что такое Sitemap.xml

Структура XML

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

Вот пример простой структуры XML:

XML

Здесь book — корневой элемент, внутри которого находятся три дочерних элемента: title, author и year.

Рассмотрим основные компоненты структуры XML.

1. Корневой элемент. Каждый XML-документ должен содержать ровно один корневой элемент, внутри которого располагаются все остальные.

2. Элементы (теги). Описывают данные. Элемент состоит из начального тега (<name>), содержимого и конечного тега (</name>).

3. Атрибуты. Дополнительные характеристики элементов, записываемые внутри открывающего тега:

XML

3. Комментарии. Добавляются с помощью конструкции <!— комментарий —>.

4. Объявление XML. Обычно в начале документа указывается строка:

XML

Что такое пространство имен XML

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

Пространства имен — это способ разграничения элементов и атрибутов с одинаковыми названиями, но разным смыслом.

Пример:

XML

Здесь xmlns:h и xmlns:f задают два пространства имен, которые различают элементы title. Без использования пространств имен было бы невозможно понять, к какой категории относится каждый title.

Особенности XML

XML имеет ряд характерных особенностей, делающих его полезным для хранения и передачи информации.

  • Читаемость. XML-документы легко читаются как человеком, так и машиной. Теги позволяют интуитивно понять структуру данных.
  • Расширяемость. Можно создать любой набор тегов, подходящих под конкретную задачу. В отличие от HTML, XML не имеет жестко заданных названий элементов.
  • Платформенная независимость. XML-файлы — это обычный текст, и они одинаково интерпретируются на любых операционных системах.
  • Явная структура. XML строго структурирован, что обеспечивает надежность при обработке и парсинге.
  • Поддержка стандартов. XML совместим с множеством стандартов — XSL, XSD, XPath, XQuery, SOAP и другими.
  • Поддержка Unicode. Позволяет хранить данные на любом языке, включая кириллицу, китайский, арабский и другие.
  • Интеграция с другими форматами. Многие современные форматы используют XML как основу: Office Open XML, RSS, Atom, SVG и другие.

Как отобразить код XML

Для просмотра XML-документов и работы с ними можно использовать:

1. Браузеры. Практически все современные браузеры поддерживают отображение XML-документов. Однако они не рендерят содержимое, как HTML, а отображают дерево элементов. Например, в Chrome или Firefox вы можете открыть файл .xml и увидеть его структуру;

2. Редакторы кода. Инструменты вроде VS Code, Sublime Text, Notepad++, Atom и других обеспечивают подсветку синтаксиса, автозакрытие тегов и удобную навигацию по XML-документу;

3. XML Viewers и парсеры. Существуют специальные утилиты и библиотеки для обработки XML:

  • XPath — язык запросов к XML-структурам;
  • XSLT — язык преобразования XML в другой формат (например, в HTML);
  • DOM и SAX — способы программной обработки XML-файлов в языках программирования;

4. Инструменты для валидации. Онлайн- и офлайн-инструменты позволяют проверить XML на соответствие схеме (DTD или XSD) и выявить синтаксические ошибки.

Основные стандарты XML

XML окружен целым семейством стандартов, разработанных для расширения и систематизации его применения. Рассмотрим ключевые из них.

1. XSD (XML Schema Definition). Определяет структуру и типы данных в XML-документе. Позволяет задавать допустимые значения, обязательность элементов и формат данных. Заменил устаревший DTD. Пример части схемы:

XML

2. DTD (Document Type Definition). Ранний способ описания структуры XML-документа. Поддерживается до сих пор, но используется все реже.

3. XSL и XSLT. Языки для преобразования и стилизации XML:

  • XSL — общий язык стилей;
  • XSLT — его трансформационная часть, позволяющая превратить XML в HTML, другой XML или даже текст.

4. XPath. Язык, позволяющий выбирать узлы в XML-документе. Используется совместно с XSLT, XQuery, а также во многих API для обработки XML. Пример запроса: //book[author=’Иван Иванов’]/title.

5. XQuery. Язык запросов к XML, аналог SQL для баз данных. Используется в системах, хранящих XML-документы, для выборки и анализа данных.

6. SOAP. Протокол обмена сообщениями на базе XML. Используется для реализации веб-сервисов в архитектуре SOA.

7. RSS и Atom. Форматы на основе XML, используемые для распространения новостных лент и блогов.

8. SVG. Формат векторной графики, основанный на XML. Применяется в веб-дизайне, графических редакторах, интерактивных визуализациях.

Вопросы-ответы

Чем XML отличается от HTML?

Хотя XML и HTML внешне похожи, у них разные цели, особенности и правила:

ХарактеристикаXMLHTML
НазначениеОписание и хранение данныхОтображение информации в браузере
Строгость синтаксисаОчень строгийМенее строгий
Закрытие теговОбязательноНе всегда обязательно
Пользовательские тегиРазрешеныНе разрешены (фиксированный набор тегов)
РасширяемостьДаНет
Пространства именПоддерживаютсяНе поддерживаются напрямую
Каковы главные правила структуры в XML?
  • Теги должны быть корректно открыты и закрыты.
  • Элементы должны быть правильно вложены друг в друга.
  • Должен быть один корневой элемент.
  • Атрибуты заключаются в кавычки.
  • Все символы должны быть экранированы (например, & — &, < — <).
Как работает пространство имен в XML?
  • Оно задается с помощью атрибута xmlns. 
  • Можно назначить префикс (как h: или f:) для использования в теге.
  • Пространство имен должно быть URI (уникальным идентификатором), но не обязательно указывать на реальный URL.
565
8 августа

Другие термины

Чтобы продолжить чтение, зарегистрируйтесь в click.ru и применяйте знания на практике
Эта статья и другие полезные ресурсы click.ru – после бесплатной регистрации
Вознаграждение до 18% от расходов на контекст и таргет
Выплаты на ЮMoney, карту, счет или в рекламный кабинет.
Бесплатные инструменты
Дашборды для анализа и управления рекламой, защита от скликивания, парсеры и еще 15+ инструментов.