XML

Автор статьи
Марина Ибушева

XML (eXtensible Markup Language) — это язык разметки, который используется для хранения и передачи структурированных данных. Его используют в Java-разработке, в Android-разработке, при тестировании API, для хранения информации в различных базах данных, в лентах RSS.

Основное преимущество XML — язык позволяет структурировать данные внутри тегов, сделать информацию упорядоченной и понятной и для людей, и для компьютеров.

Пример файла XML

В примере выше — простой файл XML, в котором представлена информация о книгах. Данные в таком файле структурированы и их легко прочитать

XML — это гибкий формат. Пользователи могут создавать собственные теги для обозначения нужных данных и структурировать информацию по своему усмотрению.

Пример файла XML

Например, пользователь может самостоятельно создать структуру для списка контактов, определив теги < contact >, < firstName >, < lastName >, < phone > и < email >. При необходимости можно добавить дополнительные поля

Разработка формата XML началась в 1996 году при поддержке Консорциума W3C (World Wide Web Consortium) — организации, которая занимается созданием и поддержанием стандартов для Всемирной паутины. Основной задачей было разработать простой, структурированный и гибкий язык для обмена данными в интернете. 

Первая спецификация XML вышла в 1998 году. С тех пор формат совершенствуется, чтобы соответствовать современным требованиям.

Из чего состоит формат XML

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

Кроме того, HTML имеет стандартный, регламентированный набор тегов (например, <div>, <span>, <a>, <p>, <li>), а XML позволяет придумывать свои теги специально под задачу.

Ниже разберем подробнее, из чего состоит формат XML.

Теги

Каждый элемент в XML должен быть заключен в теги — текст в угловых скобках.

Теги в XML

В примере у нас есть корневой элемент , внутри которого находятся элементы, заключенные в теги: < name >, < ingredients >, < instructions >

Теги бывают нескольких видов:

  • Открывающий тег начинает элемент разметки. Примеры: <tag>, <book>, <name> и т.д.
  • Закрывающий тег завершает элемент и всегда включает тот же текст, что и открывающий, с символом слеша. Например: </tag>, </book>, </name>. Если забыть поставить закрывающий тег, XML-документ будет некорректным.

Теги могут быть вложенными, то есть внутри одного тега может находиться другой. В примере с рецептом шоколадного торта, который представлен выше, теги <ingredient> являются вложенными для тега <ingredients>.

Корневой элемент

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

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

Корневой элемент в XML

В примере выше < catalog > является корневым элементом, который отражает суть документа — каталог книг, а также заключает в себе остальные элементы

Значение элемента

Это содержимое, которое находится между открывающим и закрывающим тегами, определяет смысловую нагрузку документа. 

Значение элемента может:

  • выражаться текстом или числом,
  • содержать вложенные элементы.
Значения элементов в XML

В этом примере элемент < title > имеет значение «Война и мир», элемент < author > — значение «Лев Толстой», элемент < year > — значение «1869». Значения элементов содержат информацию, которую необходимо сохранить и передать

Атрибуты элемента

У элементов в XML могут быть атрибуты — дополнительные метаданные, которые содержат информацию об элементе. Атрибуты указываются в открывающем теге через пробел в формате название_атрибута = «значение атрибута».

Атрибуты элементы в XML

В данном примере id="101", language="en", cover="hard" — атрибуты элемента < book >

Атрибуты делают разметку более информативной — благодаря им системе проще обрабатывать информацию, понимать, что ей пришло.

XML пролог

Иногда в документе XML встречается строка, которая указывает версию XML, кодировку и другие параметры. Эта строка называется XML прологом.

XML пролог

Version указывает версию XML (1.0 или 1.1), encoding — кодировку файла (например, UTF-8)

Строка не является обязательной, поэтому XML пролог можно не указывать. Но если он есть, то он обязательно должен быть на первой строке файла.

XSD-схема

XSD (XML Schema Definition) — это описание структуры XML-документа: как он должен выглядеть, что должен содержать. По сути, это ТЗ, инструкция, которая объясняет:

  • какие элементы могут быть в XML-документе,
  • в каком порядке они должны идти,
  • какие у них могут быть атрибуты,
  • какие данные допустимы (текст, числа и т.д.)

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

XSD-схема

Пример простой XSD-схемы

Где используют XML

В первую очередь данный формат необходим для хранения и передачи данных. XML используют в API для передачи данных между сервером и программой, в файлах конфигурации приложений, игр, в системах управления контентом (CMS) для хранения настроек и контента, в текстовых редакторах и сервисах для офиса. Например, пакеты Microsoft Office и LibreOffice применяют XML для сохранения документов и настройки параметров.

Кроме того, XML используют в машинном обучении и в обработке естественного языка (NLP). С помощью формата делают разметку текстовых данных, создают обучающие наборы.

Также XML задействуют в различных технологиях. Например, XML применяется при создании RSS-фидов и карты сайта — Sitemap.xml для поисковых систем Google, «Яндекс» и других. Популярный формат векторной графики SVG также основан на XML.

Еще одна сфера применения XML — электронная коммерция. Формат используют интернет-магазины и маркетплейсы для описания каталогов, характеристик товаров, для управления заказами, аналитики, API-интеграций с CRM, платежными системами и сервисами логистики.

Товарный фид XML в «Яндекс Маркете»

Например, товарные фиды в «Яндекс Маркете» представляют собой файлы в формате XML, которые содержат ссылки и краткие описания для товаров

Преимущества XML-формата

XML имеет ряд преимуществ, благодаря которым этот метаязык остается актуальным: 

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

Универсальность. Формат XML является гибким и универсальным. Он доступен в API и коде и с его помощью можно описать любую структуру данных. В отличие от других похожих форматов, например JSON, в XML нет жестких ограничений на типы данных, что позволяет его использовать для описания сложных структур данных.

Расширение функциональности. В XML можно добавлять новые элементы и атрибуты, не меняя структуру документа. Это делает формат удобным и адаптивным к потребностям пользователей.

Совместимость. XML совместим с платформами и операционными системами, поддерживается популярными языками программирования, такими как Java, C#, Python, PHP.

Как открыть XML-файл

Существует несколько способов открыть XML-файл и посмотреть в нем информацию. Самый простой — использовать любой современный браузер: Google Chrome, Safari, Яндекс Браузер, Firefox. Подключение к интернету для этого не требуется.

Файл XML в браузере

Чтобы открыть файл через браузер, достаточно щелкнуть по нему и через меню «Открыть с помощью» выбрать нужный браузер. Документ отобразится в виде древовидной структуры. Файл выше открыт в «Яндекс Браузере»

Также можно воспользоваться текстовыми редакторами MS Word, блокнот и т.д. Они позволяют не только открыть файл, но и внести изменения в код, если это необходимо. Этот вариант простой и доступный, но если файл большой и содержит множество элементов, просматривать его через блокнот или текстовый редактор будет не очень удобно.

Еще один вариант для тех, кто работает с XML-файлами и хочет проверить корректность разметки, — воспользоваться специальными программами. Открывать и редактировать документ можно с помощью Notepad++ (Windows) или Oxygen XML Editor (Windows, Mac OS X и Linux).

Также существуют специальные онлайн-сервисы, которые позволяют не только открыть XML-файлы, но и проверить корректность структуры, найти ошибки. Наиболее известными онлайн-сервисами для работы с XML являются XMLGrid, XML Validator, CodeBeautify XML Viewer.

Проверка файла XML

Проверить файл в онлайн-сервисах можно несколькими способами: загрузить содержимое документа, загрузить сам файл или указать на него ссылку. Сервис проверит документ за доли секунд и укажет, что надо исправить

Главные мысли

  • Это расширяемый язык разметки, который используется для структурирования данных.
  • XML используют в разработке, в машинном обучении, для передачи данных по API, для хранения информации в различных базах данных, в лентах RSS.
  • Основные преимущества XML — гибкость, универсальность, возможность расширять функциональность, а также совместимость с различными платформами и ОС.

Вы нашли ответ?

1
0