XML schema — Вікіпедія

XML Schema Definition
Дата появи 28 жовтня 2004
Творці World Wide Web (W3C)
Основні реалізації Допомога у відображені Вебсторінок і вебдодатків
Операційна система Windows,IOS,Android

XML schema — спосіб описання типу XML документу, як правило, визначається шляхом введення обмежень на структуру та зміст документів заданого типу на додаток до базових синтаксичних обмежень самого формату XML.

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

Крім того, XSD є розширюваним, і дозволяє підключати вже готові бібліотеки для опису типових задач, наприклад вебсервісів, таких як SOAP.

Варто також згадати про те, що в XSD є вбудовані засоби документування, що дозволяє створювати самодостатні документи, які не потребують додаткового опису.

XML Schema дає можливість представлення типу документа на досить високому рівні абстракції.

Для визначення схем XML були розроблені спеціальні мови. Мова Document Type Definition (DTD), яка використовується в специфікації XML, є досить обмеженою мовою XML схем, але використовується в XML не тільки як мова схеми.

Ще двома поширеними мовами визначення схем є XML Schema (розроблена та підтримується W3C), та RELAX NG.

XML Schema являє собою більш потужну альтернативу Document Type Definition (DTD).

Історія[ред. | ред. код]

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

28 жовтня 2004 року була опублікована друга редакція версії 1.0, у якій виправлили ряд помилок.

5 квітня 2012 року було затверджено Версію 1.1.

Порівняння з Document Type Definition[ред. | ред. код]

Переваги XML Schema перед Document Type Definition (DTD):

  • Синтаксис Schema є синтаксисом XML 1.0.
  • Присутня підтримка DOM.
  • Підтримується задання типів даних.
  • Необмежена розширюваність.
  • Легше конвертувати дані між різними типами даних.
  • Підтримується встановлення обмежень даних.
  • Підтримується трансформація коду XML Schema за допомогою XSLT.

Валідація[ред. | ред. код]

Процес перевірки того, чи XML-документ описаний схемою, називається валідацією. Всі XML-документи повинні бути well-formedness, але не обов'язково. Найчастіше використовуються валідатори DTD-перевірки, але деякі також підтримують XML Schema або RELAX NG.

Приклад[ред. | ред. код]

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

<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">   <xs:element name="country">     <xs:complexType>       <xs:sequence>         <xs:element name="country_name" type="xs:string"/>         <xs:element name="population" type="xs:decimal"/>       </xs:sequence>     </xs:complexType>   </xs:element> </xs:schema> 

Оголошення елемента:

<xs:element name="lastname"> <xs:element name="age"> <xs:element name="dateborn"> 

Оголошення атрибута:

<xs:attribute name="xxx" type="yyy"/> 

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

<?xml version="1.0" encoding="utf-8"?> <country>   <country_name>France</country_name>   <population>59.7</population> </country> 

Синтаксис[ред. | ред. код]

Правила синтаксису XML Schema:

  • Він повинен починатися з декларації XML
  • Він повинен мати один унікальний кореневий елемент
  • Початкові теги повинні мати відповідні кінцеві теги
  • Елементи чутливі до регістру
  • Всі елементи повинні бути закриті

XML Schema підтримує задання типів даних. Найпоширеніші типи:

  • string
  • decimal
  • integer
  • boolean
  • date
  • time

Приклад:

<xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> 

Мови XML schema[ред. | ред. код]

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]