XML Schema

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

XML Schema — язык описания структуры XML-документа. Спецификация XML Schema является рекомендацией W3C.

Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

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

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

Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя строить в памяти объект, соответствующий структуре XML-документа. Языкам объектно-ориентированного программирования гораздо легче иметь дело с таким объектом, чем с текстовым файлом.

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

Файл, содержащий XML Schema, обычно имеет расширение «.xsd» (XML Schema definition).

История[править | править вики-текст]

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

В настоящее время идет работа над новой версией 1.1.

Пример[править | править вики-текст]

Простой пример схемы на 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>

Пример документа, соответствующего этой схеме:

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

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

XML Schema. Рекомендация W3C.

Другое