Пространства имен XML связывают имена элементов и атрибутов в XML-документе с пользовательскими и предопределенными URI. Чтобы создать эти связи, необходимо определить префиксы для URI пространства имен и использовать эти префиксы для определения имен элементов и атрибутов в XML-данных. Пространства имен препятствуют конфликтам имен элементов и атрибутов, а также позволяют обрабатывать и проверять элементы и атрибуты одного и того же имени по-разному.
Объявление пространств имен
Чтобы объявить пространство имен в элементе, используйте xmlns: атрибут:
xmlns:<name>=<"uri">
где <name> префикс пространства имен и <"uri"> является универсальным кодом ресурса (URI), определяющим пространство имен. После объявления префикса его можно использовать для квалификации элементов и атрибутов в XML-документе и связать их с URI пространства имен. Так как префикс пространства имен используется во всем документе, он должен быть коротким.
В этом примере определяются два BOOK элемента. Первый элемент квалифицируется префиксом mybook, а второй — префиксом bb. Каждый префикс связан с URI другого пространства имен:
Чтобы указать, что элемент является частью определенного пространства имен, добавьте в него префикс пространства имен. Например, если Author элемент принадлежит пространству mybook имен, он объявляется как <mybook:Author>.
Область действия объявления
Пространство имен действует с момента своего объявления до конца элемента, в котором оно объявлено. В этом примере пространство имен, определенное в BOOK элементе, не применяется к элементам за пределами BOOK элемента, например к элементу Publisher :
Пространство имен должно быть объявлено до его использования, но оно не должно отображаться в верхней части XML-документа.
При использовании нескольких пространств имен в XML-документе можно определить одно пространство имен в качестве пространства имен по умолчанию для создания более чистого документа. Пространство имен по умолчанию объявляется в корневом элементе и применяется ко всем неквалифицированным элементам документа. Пространства имен по умолчанию применяются только к элементам, а не к атрибутам.
Чтобы использовать пространство имен по умолчанию, опустите префикс и двоеточие из объявления элемента:
Класс XmlNamespaceManager хранит коллекцию URI пространства имен и их префиксов, а также позволяет искать, добавлять и удалять пространства имен из этой коллекции. В определенных контекстах этот класс необходим для повышения производительности обработки XML. Например, класс XsltContext используется для поддержки XPath с помощью XmlNamespaceManager.
Диспетчер пространств имен не выполняет проверку в пространствах имен, но предполагает, что префиксы и пространства имен уже проверены и соответствуют спецификации пространств имен W3C .
Ниже приведены некоторые задачи управления и поиска, которые можно выполнить с XmlNamespaceManager помощью класса. Дополнительные сведения и примеры см. по ссылкам на эталонную страницу для каждого метода или свойства.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о
.NET
.NET
— это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
В этом модуле объясняется структура пространств имен, содержащих классы, а также способы запроса экземпляров класса. В нем описывается, как запрашивать удаленные компьютеры с помощью нерегламентированных подключений и сеансов CIM.