XML (eXtensible Markup Language) - це мова розмітки, яка використовується для представлення та обміну даними між різними додатками та платформами. Він широко застосовується в багатьох областях, таких як веб-розробка, бази даних, наукові дослідження і т. д. Для того щоб правильно сформувати XML файл, відповідний певній структурі даних, можна використовувати XSD (XML Schema Definition) схему.
У цій статті розглянемо покрокову інструкцію по створенню XML файлу з XSD схеми. Такий підхід дозволяє упевнитися у відповідності даних рівню структури, що особливо важливо при обміні даними між різними системами і додатками.
Крок 1: Створення XSD схеми. Перш ніж приступити до створення XML файлу, необхідно створити XSD схему, яка буде визначати структуру даних в XML файлі. У XSD схемою задаються елементи, атрибути, типи даних та інші правила, які повинні бути дотримані при створенні XML файлу. Крім того, XSD схема може містити обмеження, які визначають допустимі значення полів і правила валідації даних.
Крок 2: створення XML файлу з XSD. Після створення XSD схеми можна приступити до створення XML файлу. Для цього можна скористатися різними інструментами, такими як текстові редактори або спеціалізовані програми, які підтримують створення XML файлів з XSD схем. У цих інструментах зазвичай є функція генерації XML файлу по XSD схемі, яка автоматично створює XML файл, відповідний структурі даних, описаної в XSD схемі.
Підготовка файлової структури
Перед тим, як почати створення XML файлу з XSD схеми, необхідно підготувати правильну файлову структуру.
Крок 1: Створіть порожню папку, в яку ви будете зберігати всі файли, пов'язані з XSD схемою і XML файлом.
Назвіть цю папку так, щоб вона чітко відображала вміст і мету вашого проекту.
Крок 2: Скопіюйте файл XSD у папку, яку ви створили на попередньому кроці.
Переконайтеся, що файл має правильну назву та відображає зміст схеми.
Крок 3: Створіть новий файл із розширенням .xml у папці проекту.
Цей файл буде використовуватися для збереження даних відповідно до XSD схемою. Назвати файл найкраще відповідно до його вмісту.
Після завершення цих кроків, ви готові почати створення XML файлу з XSD схеми.
Створення XML-файлу
Створення XML-файлу з XSD схеми дуже просте і вимагає лише декількох кроків:
- Відкрийте текстовий редактор (наприклад, Notepad++) і створіть новий порожній файл.
- Вставте наступний код у новий файл:
- Збережіть файл із розширенням".xml "(наприклад, " new_file.xml").
- Відкрийте створений XML-файл в редакторі тексту і заповніть його даними відповідно до XSD схемою.
- Перевірте XML-файл за допомогою XML-валідатора, щоб переконатися, що він відповідає XSD схемі.
Тепер у вас є готовий XML-файл, створений з XSD схеми. Ви можете використовувати його для обміну даними або подальших обробок.
Імпорт XSD-схеми
Якщо у вас є кілька XSD-схем, і одна з них імпортує іншу, то вам необхідно вказати це імпортування в XML файлі.
Для цього використовується тег xs:import, який додається в початок XML файлу, до оголошення основних елементів.
Синтаксис тегу імпорту виглядає наступним чином:
namespace - це посилання на простір імен іншої схеми XSD, яку ви хочете імпортувати.
schemaLocation - це шлях до файлу схеми XSD, який потрібно імпортувати. Як шлях можна використовувати відносні або абсолютні посилання.
Наприклад, якщо у вас є основна схема XSD main.xsd і додаткова XSD-схема additional.xsd, і ви хочете імпортувати additional.xsd в main.xsd, то в main.xsd потрібно додати наступний код:
Після імпортування XSD-схеми, ви можете використовувати її елементи і типи в основній XSD-схемі.
Визначення елементів та атрибутів
Для створення XML файлу на основі XSD схеми, необхідно визначити елементи і атрибути, які будуть використовуватися у файлі.
| Елемент | Опис |
|---|---|
| Являє собою книгу з атрибутами, такими як id, title і author. | |
| Атрибут, який визначає унікальний ідентифікатор книги. | |
| Атрибут, який визначає назву книги. | |
| Атрибут, який визначає автора книги. |
Приклад визначення елементів і атрибутів в XSD схемою:
У наведеному прикладі елемент має комплексний тип і містить послідовність елементів , і . Кожен з цих елементів має тип даних "string". Крім того, для кожного елемента визначені атрибути з типом "string" і використанням "required". Це означає, що значення для цих атрибутів обов'язкові.
Створення кореневого елемента
Для створення кореневого елемента необхідно визначити його ім'я і тип даних. Ім'я елемента вибирається відповідно до предметної області даного XML файлу, а тип даних може бути будь-яким із зумовлених типів XSD схеми або призначеним для користувача типом даних.
Після виконання цих кроків, кореневий елемент \ \ був створений. Тепер можна переходити до створення вкладених елементів і визначення їх атрибутів.
Визначення дочірніх елементів
Дочірні елементи в XML-файлі визначаються в схемі XSD за допомогою елемента . Для кожного дочірнього елемента потрібно вказати його ім'я і тип даних.
Нижче наведено приклад визначення двох дочірніх елементів у XSD-схемі:
- Елемент має два дочірні елементи: і .
- Елемент має тип даних xs: string .
- Елемент має тип даних xs: integer .
В даному прикладі елементи і є дочірніми елементами елемента . Типи даних визначаються за допомогою вбудованих типів xs: string і xs:integer .
Таким чином, визначення дочірніх елементів в XSD-схемі дозволяє вказати структуру XML-файлу і типи даних для кожного елемента.
Завдання значень елементів
При створенні XML файлу з XSD схеми необхідно задати значення для елементів. Значення елементів можуть бути як простими, так і складовими.
Прості елементи - це прості дані, такі як цифри, рядки або дати. Для завдання значення простого елемента необхідно всередині відповідного тега вказати значення цього елемента.
Наприклад, якщо у вашій схемі є елемент, який є рядком, ви можете задати його значення наступним чином:
ABC123
Складові елементи являють собою комбінації декількох простих або інших складових елементів. Значення для складових елементів задаються аналогічно значенням простих елементів, але всередині кожного елемента.
Наприклад, якщо у вашій схемі є складений елемент, який включає елементи та, Ви можете встановити значення для них наступним чином:
Example Product 19.99
Простим і складовим елементам також можна задавати атрибути, які представляють собою додаткові властивості елементів. Значення атрибутів задаються всередині тега елемента, перед значенням елемента.
Наприклад, якщо елемент має атрибут, ви можете встановити його значення наступним чином:
ABC123
Таким чином, при створенні XML файлу з XSD схеми, необхідно задати значення для всіх елементів, а також атрибутів за потребою, щоб отримати повноцінний документ, відповідний заданій схемі.
Визначення типів даних
У таблиці нижче представлені деякі з вбудованих типів даних:
| Тип даних | Опис |
|---|---|
| string | Рядковий тип даних, може містити будь-які Символи. |
| integer | Цілочисельний тип даних, може містити тільки цілі числа. |
| boolean | Логічний тип даних, може містити тільки значення true або false. |
| date | Тип даних дата, може містити тільки значення дати у форматі РРРР-ММ-ДД. |
Користувацькі типи даних можуть бути створені за допомогою обмежень та модифікаторів. Наприклад, можна створити тип даних email, який буде обмежувати значення поля тільки допустимими email адресами. Для визначення користувацького типу даних використовується елемент xs:simpleType, в якому вказується Базовий тип даних і можливі обмеження.
Валідація XML-файлу за XSD-схемою
Для валідації XML-файлу по XSD-схемі необхідно виконати наступні кроки:
- Підключити XSD-схему до XML-файлу. Для цього в XML-файлі необхідно додати посилання на схему в атрибуті xmlns: xsi елемента . Наприклад:
- Виконати валідацію файлу за допомогою інструментів. Варіантів кілька:
- Онлайн-валідація. Безліч онлайн-сервісів дозволяють завантажити XML-файл і XSD-схему для валідації. Наприклад, FreeFormatter, XMLValidation.
- Редактори XML. Деякі редактори XML, такі як XMLSpy, підтримують перевірку XML-файлів за схемою XSD.
- Командний рядок. Існують інструменти командного рядка, які дозволяють виконати валідацію XML-файлу по XSD-схемі без необхідності завантаження веб-сервісу або установки спеціалізованого редактора. Наприклад, Oxygen XML або SchemaValidate.
В результаті валідації буде виявлено, чи є помилки в XML-файлі, і якщо є, то які саме помилки. Це дозволить розробнику виправити їх і переконатися у відповідності файлу XSD-схемою.