Пространство имён (XML) (Hjkvmjguvmfk nb~u (XML))
Пространство имён в XML (англ. XML namespace) — это стандарт, описывающий именованную группу имён элементов и атрибутов, служащую для обеспечения их уникальности в XML-документе.
В декабре 2009 года третья редакция стандарта получила статус рекомендации.
Все имена элементов в пределах пространства имён должны быть уникальны.
XML-документ может содержать имена элементов и атрибутов из нескольких словарей XML. В каждом словаре задано своё пространство имён — так разрешается проблема неоднозначности имён элементов и атрибутов.
Возьмём, например, простой XML, который содержит ссылки на покупателя и на заказанный продукт. И элементы покупателя, и элементы продукта могут содержать дочерний элемент «ID_number». Ссылки на элемент ID_number будут, таким образом, неоднозначны, у нас будут два одинаковых имени элемента, несущих разную смысловую нагрузку и так будет, пока мы не введём пространства имён для их различения.
Идентификатор (имя) пространства имён
[править | править код]Идентификатор (имя) пространства имён
(англ. namespace name) задаётся с помощью XML-атрибута xmlns
, значение которого должно быть ссылкой URI.
Например:
xmlns="http://www.w3.org/1999/xhtml"
Однако следует обратить внимание, что URI в действительности не читается как адрес в сети, он обрабатывается XML-парсером как простая строка. Например, по адресу http://www.w3.org/1999/xhtml на самом деле нет никакого кода, там находится просто справочник по пространству имён xhtml. Использование URI (таких как "http://www.w3.org/1999/xhtml") для идентификации пространства имён вместо простой строки (такой как «xhtml») уменьшает возможность совпадения идентификаторов у различных пространств имён. Идентификаторы пространств имён не обязаны быть правильными веб-адресами, хотя зачастую они ими являются.
В объявление можно также включить короткий префикс, которым будет однозначно идентифицироваться пространство имён каждого элемента, например:
xmlns:xhtml="http://www.w3.org/1999/xhtml"
Пространство имён XML не требует, чтобы был определён его словарь, хотя существует сложившаяся практика помещать DTD или XML Schema, определяющие точную структуру данных в контексте конкретного пространства имён.