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, исправляющая ряд ошибок.
5 апреля 2012 года была одобрена в качестве рекомендации консорциума Версия 1.1.
Простой пример схемы на XML Schema, расположенной в файле "country.xsd" и описывающей данные о населении страны: