Интерфейс 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 пространства имен в текущем объеме.
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getNamespaceURI |
Получить URI пространства имен, привязанного к префиксу в текущем объеме. |
String |
getPrefix |
Получить префикс, привязанный к URI пространства имен в текущем объеме. |
Iterator<String> |
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 выбрасывается |
- Parameters:
-
prefix- префикс для поиска - Returns:
- URI пространства имен, привязанный к префиксу в текущем объеме
- Throws:
-
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 выбрасывается |
- Parameters:
-
namespaceURI- URI пространства имен для поиска - Returns:
- префикс, привязанный к URI пространства имен в текущем контексте
- Throws:
-
IllegalArgumentException- КогдаnamespaceURIравноnull
getPrefixes
Iterator<String> getPrefixes(String namespaceURI)
Возвращается итератор над строковыми элементами в произвольном, зависимом от реализации, порядке.
Итератор не изменяем. Например, метод 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 выбрасывается |
- Parameters:
-
namespaceURI- URI пространства имен для поиска - Returns:
-
Iteratorдля всех префиксов, привязанных к URI пространства имен в текущем объеме - Throws:
-
IllegalArgumentException- КогдаnamespaceURIравноnull
© 1993, 2021, 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/17/docs/api/java.xml/javax/xml/namespace/NamespaceContext.html