Декларация пространства имен
Поскольку в разных языках разметок - реализациях XML - могут встретится одни и те же имена тегов и их атрибутов, имеющие совершенно разный смысл, надо иметь возможность их как-то различать. Для этого имена тегов и атрибутов снабжают кратким префиксом, который отделяется от имени двоеточием. Префикс имени связывается с идентификатором, определяющим пространство имен (namespace). Все имена тегов и атрибутов, префиксы которых связаны с одним и тем же идентификатором, образуют одно пространство имен, в котором имена должны быть уникальны.
Поскольку необходимо, чтобы, встретив декларацию пространства имен каждый мог распознать ее, для него зарезервируем специальное слово. В соответствии с рекомендацией пространств имен, это слово xmlns. Значением атрибута является идентификатор URI, определяющий используемое пространство имен. Часто это адрес URL определения DTD, но так должно быть не всегда. Префикс и идентификатор пространства имен определяются атрибутом xmlns следующим образом:
<ntb:notebook xmlns:ntb = "http://some.firm.com/2003/ntbml">
Как видите, префикс ntb только что определен, но его уже можно использовать в имени ntb:notebook. В дальнейшем имена тегов и атрибутов, которые мы хотим отнести к пространству имен http://some.firm.com/2003/ntbml, снабжаются префиксом ntb, например:
<ntb:city ntb:type="поселок">Горелово</ntb:city>
Кроме того, в одном теге могут встречаться сразу несколько пространств имен. Ниже приводится пример смешения нескольких пространств имен:
<catalog:book order:ISBN = "1-861003-11-0">
Элемент book взят из пространства имен catalog, а атрибут ISBN - из order.
Имя вместе с префиксом, например
ntb:notebook
или
ntb:city
называется расширенным, уточенным или квалифицированным именем (OName. Qualified Name). Часть имени, записанная после двоеточия, называется локальной частью (local part) имени.
Номенклатура названий Web-ресурсов может запутать. Универсальный указатель ресурса (Uniform Resource Locator, URL) указывает на ресурс в терминах протокола доступа и расположения в сети.