Що таке XML: структура та використання файлів
Автор: Редакція Domeny.ForSale Опубліковано
Коротко: XML — це текстовий формат запису й обміну даними, у якому теги описують значення та структуру інформації. Його використовують, зокрема, для інтеграції систем, у конфігураційних файлах і картах сайтів. Файл XML можна прочитати в текстовому редакторі, але для правильного використання потрібно знати правила, прийняті в конкретній системі.
Як працює XML і що означає його назва
XML — це скорочення від Extensible Markup Language, тобто розширюваної мови розмітки. Тег — це мітка в кутових дужках, наприклад <tsina>. Він дає змогу визначити, що означає значення між тегами.
«Розширювана» означає, що XML не задає єдиного списку назв тегів. Автор формату може визначити такі елементи, як <tovar>, <zamovlennia> чи <kliient>. Проте системи, які обмінюються даними, мають узгодити назви та структуру: саме лише використання XML не гарантує, що будь-яка програма зрозуміє файл.
XML описує насамперед дані, а не їхній вигляд. Файл із ціною та назвою товару не визначає автоматично, як вони відображатимуться на сторінці магазину. За відображення відповідає застосунок або додаткові правила обробки.
Як читати файл XML: простий приклад
Ось як може виглядати запис одного товару:
<?xml version="1.0" encoding="UTF-8"?>
<tovar id="123">
<nazva>Керамічна чашка</nazva>
<tsina valiuta="PLN">39.90</tsina>
<naiavnyi>true</naiavnyi>
</tovar>
Перший рядок — це необов’язкова декларація XML. Вона вказує версію мови та кодування символів, тобто спосіб запису літер й інших знаків у файлі. Якщо в декларації зазначено UTF-8, фактичне кодування файлу має йому відповідати.
<tovar> — це кореневий елемент, який містить решту елементів. <nazva>, <tsina> і <naiavnyi> містять значення. Натомість id="123" та valiuta="PLN" — це атрибути, тобто додаткова інформація у відкривальному тегу.
Назви елементів підказують значення даних, але не визначають усіх правил. XML сам по собі не встановлює, чи повинна ціна мати два знаки після десяткового роздільника та чи означає true наявність на складі. Такі правила визначає документація формату або схема даних.
Яким правилам має відповідати коректний XML
Синтаксично коректний документ називають well-formed. Він має містити один кореневий елемент, а всі елементи повинні бути правильно закриті та вкладені. Запис <tovar><nazva>Чашка</tovar></nazva> помилковий, оскільки закривальні теги розташовані в неправильному порядку.
Під час читання або виправлення файлу найважливіші такі правила:
- Регістр літер має значення:
<Tsina>і<tsina>— це різні назви. - Значення атрибутів мають бути взяті в одинарні або подвійні лапки.
- Порожній елемент можна записати як
<prymitky/>замість<prymitky></prymitky>. - Деякі символи в тексті потребують спеціального запису:
&як&, а<як<.
Правильний синтаксис ще не означає відповідності вимогам системи-одержувача. Для перевірки структури можна використати схему XSD — документ, який описує дозволені елементи, їхній порядок і типи значень. Файл може бути коректним XML, але застосунок відхилить його, наприклад, через відсутній номер замовлення.
У складніших документах також трапляються простори імен. Вони дають змогу розрізняти однойменні елементи з різних форматів. Тому не варто видаляти префікси на кшталт abc: і декларації xmlns лише тому, що вони здаються зайвими.
Де використовують XML і чим він відрізняється від HTML та JSON
XML можна зустріти в обміні даними між магазином і оптовим постачальником, в інтеграціях корпоративних систем та в деяких мережевих сервісах. Його також використовують у RSS — форматі поширення оновлень вмісту, та SVG — форматі векторної графіки. Файли XML також містяться всередині документів DOCX і XLSX.
Карта сайту XML містить адреси сторінок і може передавати пошуковим системам додаткову інформацію про них. Однак вона не гарантує індексації чи певної позиції в результатах пошуку.
HTML призначений для опису структури вебсторінок за допомогою визначених елементів, зокрема заголовків та абзаців. XML дає змогу створювати власні назви елементів для запису даних. Натомість JSON — це інший текстовий формат обміну даними, що ґрунтується переважно на парах «назва — значення» та списках.
Для простої інтеграції вебзастосунків JSON часто зручніший і компактніший. XML може бути доречним вибором, якщо його вимагає одержувач або чинний стандарт. Наприклад, якщо оптовий постачальник надає каталог у XML, магазину потрібен засіб імпорту, який підтримує конкретну структуру цього каталогу, а не просто будь-які файли з розширенням .xml.
Як відкрити XML і безпечно ним користуватися
Для перегляду файлу достатньо текстового редактора. Редактор коду додатково підсвітить теги й допоможе знайти помилки. Браузер також може показати структуру XML або повідомлення про неправильний синтаксис, але це не замінює перевірки відповідності вимогам застосунку.
Перед імпортом зробіть копію файлу, перевірте потрібний формат у документації системи-одержувача й протестуйте невелику вибірку даних. Не передавайте файли з даними клієнтів, паролями чи інформацією компанії випадковим онлайн-валідаторам.
Якщо ви створюєте застосунок, який читає XML із невідомого джерела, подбайте про безпечне налаштування парсера — програми, що аналізує документ. Обмежте обробку зовнішніх сутностей і завантаження зовнішніх ресурсів, щоб файл не міг спричинити небажаний доступ до файлів або мережі.
Практичний перший крок: відкрийте XML у редакторі, знайдіть кореневий елемент і порівняйте його структуру з документацією системи, до якої хочете завантажити дані.
Дивіться також: Що таке 2FA?
