Интерфейс NamespaceContext

public interface NamespaceContext

Интерфейс для чтения и обработки контекста XML-пространств имён только для чтения.

У XML-пространства имён есть свойства:

  • URI пространства имён: Имя пространства имён, выраженное как URI, к которому привязывается префикс.
  • Префикс: синтаксически, это часть имени атрибута, следующая за XMLConstants.XMLNS_ATTRIBUTE ("xmlns") в объявлении пространства имён.

Пример: <element xmlns:prefix="http://Namespace-name-URI">

Все get*(*) методы работают в текущем пространстве имён для разрешения URI и префиксов.

Обратите внимание, что URI пространства имён может быть привязан к нескольким префиксам в текущем пространстве имён. Это может произойти, когда несколько XMLConstants.XMLNS_ATTRIBUTE ("xmlns") объявлений пространств имён находятся в одном теге начала и ссылаются на один и тот же URI пространства имён. Пример:

<element xmlns:prefix1="http://Namespace-name-URI"
          xmlns:prefix2="http://Namespace-name-URI">
Это также может произойти, когда один и тот же URI пространства имён используется в нескольких XMLConstants.XMLNS_ATTRIBUTE ("xmlns") объявлениях пространств имён в иерархии родительских элементов. Пример:

<parent xmlns:prefix1="http://Namespace-name-URI">
   <child xmlns:prefix2="http://Namespace-name-URI">
     ...
   </child>
 </parent>

Префикс может быть привязан только к одному URI пространства имён в текущем пространстве имён.

Since:
1.5
See Also:
javax.xml.XMLConstants for declarations of common XML values, XML Schema Part2: Типы данных, Пространства имён в XML

Методы

Модификатор и тип Метод Описание
String getNamespaceURI​(String prefix)

Получить URI пространства имён, привязанного к префиксу в текущем пространстве имён.

String getPrefix​(String namespaceURI)

Получить префикс, привязанный к URI пространства имён в текущем пространстве имён.

Iterator<String> getPrefixes​(String namespaceURI)

Получить все префиксы, привязанные к URI пространства имён в текущем пространстве имён.

Методы

getNamespaceURI

String getNamespaceURI(String prefix)

Получить URI пространства имён, привязанного к префиксу в текущем пространстве имён.

При запросе URI пространства имён по префиксу, следующая таблица описывает возвращаемое значение URI пространства имён для всех возможных значений префикса:

параметр префикса возвращаемое значение URI пространства имён
DEFAULT_NS_PREFIX ("") URI стандартного пространства имён в текущем пространстве имён или XMLConstants.NULL_NS_URI("") , если стандартного пространства имён в текущем пространстве имён нет
привязанный префикс URI пространства имён, привязанный к префиксу в текущем пространстве имён
непривязанный префикс XMLConstants.NULL_NS_URI("")
XMLConstants.XML_NS_PREFIX ("xml") XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace")
XMLConstants.XMLNS_ATTRIBUTE ("xmlns") XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/")
null IllegalArgumentException выбрасывается
Parameters:
prefix - префикс для поиска
Returns:
URI пространства имён, привязанный к префиксу в текущем пространстве имён
Throws:
IllegalArgumentException - Когда prefix имеет значение null

getPrefix

String getPrefix(String namespaceURI)

Получить префикс, привязанный к URI пространства имён в текущем пространстве имён.

Для получения всех префиксов, привязанных к URI пространства имён в текущем пространстве имён, используйте getPrefixes(String namespaceURI).

Когда запрашивается префикс по URI пространства имён, следующая таблица описывает возвращаемое значение префикса для всех значений URI пространства имён:

параметр URI пространства имён возвращаемое значение префикса
<default Namespace URI> XMLConstants.DEFAULT_NS_PREFIX ("")
привязанный URI пространства имён префикс, привязанный к URI пространства имён в текущем пространстве имён, если к URI пространства имён привязано несколько префиксов в текущем пространстве имён, возвращается один произвольный префикс, выбор которого зависит от реализации
непривязанный URI пространства имён null
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException выбрасывается
Parameters:
namespaceURI - URI пространства имён для поиска
Returns:
префикс, привязанный к URI пространства имён в текущем контексте
Throws:
IllegalArgumentException - Когда namespaceURI имеет значение null

getPrefixes

Iterator<String> getPrefixes(String namespaceURI)

Получить все префиксы, привязанные к URI пространства имён в текущем пространстве имён.

Возвращается итератор по строковым элементам в произвольном, зависимом от реализации, порядке.

Итератор не изменяемый. Например, метод remove() вызовет исключение UnsupportedOperationException.

При запросе префиксов по URI пространства имён, следующая таблица описывает возвращаемое значение префиксов для всех значений URI пространства имён:

параметр URI пространства имён возвращаемое значение префиксов
привязанный URI пространства имён, включая <default Namespace URI> итератор по префиксам, привязанным к URI пространства имён в текущем пространстве имён в произвольном, зависимом от реализации, порядке
непривязанный URI пространства имён пустой Iterator
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") Iterator с одним элементом, установленным на XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") Iterator с одним элементом, установленным на XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException выбрасывается
Parameters:
namespaceURI - URI пространства имён для поиска
Returns:
Iterator для всех префиксов, привязанных к URI пространства имён в текущем пространстве имён
Throws:
IllegalArgumentException - Когда namespaceURI имеет значение null

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/namespace/NamespaceContext.html

Spec-Zone .ru
спецификации, руководства, описания, API