Spec-Zone.ru › OpenJDK 17

Интерфейс 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: Datatypes
  • Пространства имен в 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 по умолчанию отсутствует в текущем объеме
Привязанный префикс 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 пространств имен
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 пространства имен параметр Возвращаемое значение префиксов
Привязанный 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API