Учебник по XML-схеме
Что такое XML-схема?
XML-схема описывает структуру XML-документа.
Язык схемы XML также называют определением схемы XML (XSD).
Пример XSD
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Назначение XML-схемы состоит в том, чтобы определить юридические строительные блоки XML-документа:
- элементы и атрибуты, которые могут появиться в документе
- количество (и порядок) дочерних элементов
- типы данных для элементов и атрибутов
- значения по умолчанию и фиксированные значения для элементов и атрибутов
Зачем изучать XML-схему?
В мире XML ежедневно используются сотни стандартизированных форматов XML.
Многие из этих XML-стандартов определяются XML-схемами.
XML-схема — основанная на XML (и более мощная) альтернатива DTD.
XML-схемы поддерживают типы данных
Одной из самых сильных сторон XML-схем является поддержка типов данных.
- Легче описать допустимое содержание документа
- Легче проверить правильность данных
- Легче определить фасеты данных (ограничения на данные)
- Легче определить шаблоны данных (форматы данных)
- Легче преобразовывать данные между разными типами данных
XML-схемы используют синтаксис XML
Еще одна сильная сторона XML-схем заключается в том, что они написаны на языке XML.
- Вам не нужно учить новый язык
- Вы можете использовать редактор XML для редактирования файлов схемы.
- Вы можете использовать свой XML-анализатор для анализа файлов схемы.
- Вы можете манипулировать своей схемой с помощью XML DOM.
- Вы можете преобразовать свою схему с помощью XSLT
XML-схемы расширяемы, поскольку они написаны на языке XML.
С расширяемым определением схемы вы можете:
- Повторно используйте вашу схему в других схемах
- Создавайте собственные типы данных, производные от стандартных типов.
- Ссылка на несколько схем в одном документе
XML-схемы Безопасная передача данных
При отправке данных от отправителя к получателю важно, чтобы обе части имели одинаковые «ожидания» в отношении контента.
С XML-схемами отправитель может описать данные таким образом, чтобы получатель их понял.
Дата вроде: "03-11-2004" в некоторых странах будет интерпретироваться как 3 ноября, а в других странах как 11 марта.
Однако элемент XML с таким типом данных:
<date type="date">11 марта 2004 г.</date>
обеспечивает взаимное понимание содержимого, поскольку для типа данных XML «дата» требуется формат «ГГГГ-ММ-ДД».
Хорошо сформированного недостаточно
Правильно сформированный XML-документ — это документ, который соответствует правилам синтаксиса XML, например:
- он должен начинаться с объявления XML
- он должен иметь один уникальный корневой элемент
- начальные теги должны иметь соответствующие конечные теги
- элементы чувствительны к регистру
- все элементы должны быть закрыты
- все элементы должны быть правильно вложены
- все значения атрибутов должны быть заключены в кавычки
- сущности должны использоваться для специальных символов
Даже если документы правильно составлены, они все равно могут содержать ошибки, и эти ошибки могут иметь серьезные последствия.
Представьте себе следующую ситуацию: вы заказываете 5 брутто лазерных принтеров вместо 5 лазерных принтеров. При использовании XML-схем большинство этих ошибок может быть обнаружено вашим программным обеспечением для проверки.