Интерфейс NamespaceContext
public interface NamespaceContext
Пространство имен 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 пространства имен.
- Начиная с версии:
- 1.5
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getNamespaceURI |
Получает URI пространства имен, связанный с префиксом в текущей области видимости. |
String |
getPrefix |
Получает префикс, связанный с URI пространства имен в текущей области видимости. |
Iterator |
getPrefixes |
Получает все префиксы, связанные с URI пространства имен в текущей области видимости. |
Подробное описание методов
getNamespaceURI
String getNamespaceURI(String prefix)
При запросе URI пространства имен по префиксу в следующей таблице указано возвращаемое значение URI пространства имен для всех возможных значений префикса:
| параметр префикса | возвращаемое значение URI пространства имен |
|---|---|
DEFAULT_NS_PREFIX ("") | URI пространства имен по умолчанию в текущей области видимости или , если в текущей области видимости URI пространства имен по умолчанию отсутствует |
| связанный префикс | 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 |
- Параметры:
-
prefix— префикс для поиска - Возвращает:
- URI пространства имен, связанный с префиксом в текущей области видимости
- Выбрасывает:
-
IllegalArgumentException— еслиprefixимеет значениеnull
getPrefix
String getPrefix(String namespaceURI)
Чтобы получить все префиксы, связанные с 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 |
- Параметры:
-
namespaceURI— URI пространства имен для поиска - Возвращает:
- префикс, связанный с URI пространства имен в текущем контексте
- Выбрасывает:
-
IllegalArgumentException— еслиnamespaceURIимеет значениеnull
getPrefixes
Iterator<String> getPrefixes(String namespaceURI)
Возвращается итератор по элементам String в произвольном порядке, зависящем от реализации.
Изменять Iterator нельзя. Например, метод remove() выбросит UnsupportedOperationException.
При запросе префиксов по URI пространства имен в следующей таблице указаны возвращаемые значения префиксов для всех значений URI пространства имен:
| параметр URI пространства имен | возвращаемое значение префиксов |
|---|---|
связанный URI пространства имен, включая <default Namespace URI>
| Iterator по префиксам, связанным с 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 |
- Параметры:
-
namespaceURI— URI пространства имен для поиска - Возвращает:
-
Iteratorдля всех префиксов, связанных с URI пространства имен в текущей области видимости - Выбрасывает:
-
IllegalArgumentException— еслиnamespaceURIимеет значениеnull
© 1993, 2025, 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/25/docs/api/java.xml/javax/xml/namespace/NamespaceContext.html