XML Schema

XML Schema - мова опису структури XML -документа. Специфікація XML Schema є рекомендацією W3C.

Як більшість мов опису XML, XML Schema була задумана для визначення правил, яким повинен підкорятися документ. Але, на відміну від інших мов, XML Schema була розроблена так, щоб її можна було використовувати у створенні програмного забезпечення для обробки документів XML.

Після перевірки документа на відповідність XML Schema читаюча програма може створити модель даних документа, яка включає:

  • словник (назви елементів і атрибутів);
  • модель змісту (відносини між елементами і атрибутами і їх структура);
  • типи даних.

Кожен елемент у цій моделі асоціюється з певним типом даних, дозволяючи будувати в пам'яті об'єкт, відповідний структурі XML-документа. Мовам об'єктно-орієнтованого програмування набагато легше мати справу з таким об'єктом, ніж з текстовим файлом.

Іншим зручністю XML Schema є те, що один словник може посилатися на інший, і, таким чином, розробник може використовувати вже існуючі словники і легше встановлювати та поширювати стандарти XML структури для певних завдань (наприклад, словник протоколу SOAP).

Файл, що містить XML Schema, зазвичай має розширення ". Xsd" (X ML S chema d efinition).


1. Історія

Версія 1.0 була схвалена в якості рекомендації консорціуму W3C 2 травня 2001. Таким чином XML Schema стала першою специфікацією опису схеми XML-документа, що отримала статус рекомендації W3С, серед безлічі запропонованих на розгляд. 28 жовтня 2004 була опублікована друга редакція версії 1.0, що виправляє ряд помилок.

В даний час йде робота над новою версією 1.1.

2. Приклад

Простий приклад схеми на XML Schema, розташованої у файлі "country.xsd" і описує дані про населення країни:

  version  =  "1.0"  encoding  =  "Utf-8"  ?>   xmlns: xs  =  "Http://www.w3.org/2001/XMLSchema"  >   name  =  "Країна"  type  =  "Країна"  />   name  =  "Країна"  >   >   name  =  "Назва"  type  =  "Xs: string"  />   name  =  "Населення"  type  =  "Xs: decimal"  />   >   >   > 

Приклад документа, відповідного цій схемі:

  version  =  "1.0"  encoding  =  "Utf-8"  ?>  <Країна  >  <Назва  >  Франція   >  <Населення  >  59.7   >   >