Документация / XSD

Введение

XSD (XML Schema Definition, XML Schema 1.0) — язык описания структуры XML-документов, рекомендация W3C. Схема задаёт, какие элементы и атрибуты могут быть в документе, в каком порядке и сколько раз встречаются элементы, каких типов их значения — строки, числа, даты, перечисления. По схеме документ проверяется автоматически; на XSD описывают сообщения SOAP-сервисов (WSDL), форматы обмена с госсистемами и банками, конфигурации.

Схема сама является XML-документом в пространстве имён http://www.w3.org/2001/XMLSchema (обычно с префиксом xs: или xsd:).

Первая схема

Схема заказа: у заказа есть номер (атрибут), дата, клиент и одна или несколько позиций.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="order">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="date" type="xs:date"/>
        <xs:element name="customer" type="xs:string"/>
        <xs:element name="item" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string"/>
              <xs:element name="quantity" type="xs:positiveInteger"/>
              <xs:element name="price" type="xs:decimal"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="number" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

Документ, который ей соответствует:

<?xml version="1.0" encoding="UTF-8"?>
<order number="A-1024">
  <date>2026-09-30</date>
  <customer>ООО «Ромашка»</customer>
  <item>
    <name>Кофемолка</name>
    <quantity>2</quantity>
    <price>3490.00</price>
  </item>
</order>

Правильный и валидный документ

  • Правильный (well-formed) документ соблюдает синтаксис XML: теги закрыты, вложенность корректна, один корневой элемент. Это проверяется без схемы.
  • Валидный (valid) документ ещё и соответствует схеме: нужные элементы на месте, значения нужных типов.

В редакторе

Редактор XSD показывает код схемы и её графическую модель: элементы, типы, последовательности и выборы в виде дерева, как в XMLSpy. Синтаксис проверяется по мере ввода, а кнопкой проверки XML-документ можно проверить на соответствие схеме. Схемы в проекте могут ссылаться друг на друга (xs:include, xs:import) по путям в дереве папок.

Редактор проверяет схемы по правилам XML Schema 1.0.

Разделы документации

  • Структура схемы — корневой элемент, пространства имён, связь документа со схемой.
  • Элементы и атрибуты — объявления, количество, значения по умолчанию.
  • Простые типы — ограничения значений (фасеты), списки и объединения.
  • Составные типы — последовательности, выборы, наследование типов.
  • Встроенные типы данных — справочник типов XML Schema.
  • Уникальность и ключи — xs:unique, xs:key, xs:keyref.
  • Многофайловые схемы — xs:include, xs:import, xs:redefine, xs:any, документирование.

Обновлено: 30 сентября 2026 г.