В XML все относится к данным. Структурирование данных, определение данных и совместное использование данных. XML дает вам значительную свободу в определении своих собственных тэгов, но что произойдет, когда вы определите тэг, который уже определен грамматикой, которую вы хотите использовать.

Например, возьмем два популярных XML проекта: XHTML и MathML. Что случится, если вы захотите показать уравнение внутри XHTML документа? Некоторые тэги в MathML перекрываются с тэгами XHTML.

Ответом является пространство имен. Создание пространства имен позволит вам разделить один набор тэгов с другим, таким образом предотвратить конфликт. Использование пространства имен позволяет вам добавлять имя, за которым через двоеточие следует тэг и имена атрибутов, меняющее эти имена так, чтобы они не конфликтовали.

Примером пространства имен, который мы видим наиболее часто, является определения пространства имен XML Shema внутри XML документа.

<restaurant xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "tij_menu.xsd" >

Экземпляр пространства имен XML Shema определяется и ассоциируется с URL. Это пространство имен может быть теперь сокращено до xsi и оно используется для указания информации в XML документе, которая относится к схеме. Вот что в точности мы делаем здесь с помощью xsi:noNamespaceSchemaLocation. К этому атрибуту спереди приставляется xsi.

Схема XML определяет множество новых имен, которые описывают элементы, типы, атрибуты, определение которых вписывается в схему. Этот документ затем должен быть построен в соответствии с правилами схемы.