Пространства имен языка XML не приписывают никакой семантики используемым данным. В спецификации XSD (XML Schema Definition — Определение схемы XML) определяется набор базовых типов данных и их смысл, на основе чего можно определять новые типы данных. Другими словами, схема XML присваивает определенный смысл структуре документа. Сама схема описывается средствами языка XML. Приведенный раньше документ CustomerList можно описать следующей схемой:
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:cl="http://www.acme.com/CustomerList"
targetNamespace="http://www.acme.com/CustomerList">
<xsd:complexType name="Customer"> <xsd:sequence>
<xsd:element name="FirstName" type="xsd:string" />
<xsd:element name="LastName" type="xsd:string" />
<xsd:element name="EmailAddress" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</schema>
Элемент targetNamespace обозначает имя схемы. В качестве имени используется определенный спецификацией XSD (XML Schema Definition— Определение схемы XML) элемент "string" ("строка"). Спецификация XSD позволяет ограничить диапазон принимаемых значений, указать количество вхождений экземпляра и приписать элементам атрибуты. Сама схема создается средствами языка XML. Как документ, так и связанная с ним схема проверяются на правильность и обрабатываются как обычные XML-документы. Один и тот же документ, интерпретируемый двумя разными схемами, имеет два разных смысла.