Interested Article - Пространство имён (XML)
- 2020-06-28
- 1
Пространство имён в 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-парсером как простая строка. Например, по адресу на самом деле нет никакого кода, там находится просто справочник по пространству имён xhtml . Использование URI (таких как "http://www.w3.org/1999/xhtml") для идентификации пространства имён вместо простой строки (такой как «xhtml») уменьшает возможность совпадения идентификаторов у различных пространств имён. Идентификаторы пространств имён не обязаны быть правильными веб-адресами, хотя зачастую они ими являются.
В объявление можно также включить короткий префикс, которым будет однозначно идентифицироваться пространство имён каждого элемента, например:
xmlns:xhtml="http://www.w3.org/1999/xhtml"
Пространство имён XML не требует, чтобы был определён его словарь, хотя существует сложившаяся практика помещать DTD или XML Schema , определяющие точную структуру данных в контексте конкретного пространства имён.
Ссылки
- 2020-06-28
- 1