XML (eXtensible Markup Language) — это расширяемый язык разметки, разработанный Консорциумом Всемирной паутины (W3C). Он предназначен для хранения и передачи структурированных данных. XML является самоописываемым и иерархическим, используя теги для определения элементов и их содержимого.
Ключевые особенности XML:
- Расширяемость: Пользователи могут создавать свои собственные теги и атрибуты, адаптируя язык под конкретные нужды.
- Структурированность: Данные организованы в виде дерева элементов с четкой иерархией.
- Самоописываемость: Теги описывают природу содержащихся в них данных, делая XML-документы понятными даже человеку.
- Независимость от платформы: XML является текстовым форматом, что обеспечивает его совместимость с различными системами и языками программирования.
- Поддержка DTD и XML Schema: Позволяет определять структуру и допустимое содержимое XML-документа, обеспечивая его валидность.
Пример базовой структуры XML:
xml
XML широко используется для:
- Обмена данными между разными приложениями и системами (веб-сервисы, EDI).
- Хранения конфигурационных файлов.
- Форматирования документов (DocBook, MathML).
- Настройки фреймворков и библиотек (Spring, Maven).
В QA, XML часто встречается в:
- Сообщениях, передаваемых через API (SOAP).
- Файлах конфигурации тестовых фреймворков (TestNG, JUnit).
- Логах и отчетах.
- Описании тестовых данных.
Для работы с XML используются парсеры, такие как DOM, SAX или StAX, позволяющие читать и модифицировать XML-документы программно. Валидация XML-документов по DTD или XML Schema гарантирует их соответствие определенной структуре.