Класс QName
- java.lang.Object
-
- javax.xml.namespace.QName
- Все реализованные интерфейсы:
- Serializable
public class QName extends Object implements Serializable
QName представляет собой полное имя, как определено в спецификациях XML: Спецификация типов данных XML Schema Part2, Пространства имён в XML, Исправления к пространствам имён в XML.
Значение QName содержит URI пространства имён, локальную часть и префикс.
Префикс включён в QName для сохранения лексической информации при её наличии в XML input source. Префикс НЕ используется в QName.equals(Object) или для вычисления QName.hashCode(). Равенство и хэш-код определяются только с использованием URI пространства имён и локальной части.
Если не указано, URI пространства имён устанавливается в XMLConstants.NULL_NS_URI. Если не указано, префикс устанавливается в XMLConstants.DEFAULT_NS_PREFIX.
QName является неизменяемым.
- С:
- 1.5
- Версия:
- $Revision: 1.8 $, $Date: 2010/03/18 03:06:17 $
- См. также:
- Спецификация типов данных XML Schema Part2, Пространства имён в XML, Исправления к пространствам имён в XML, Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
QName(String localPart)
|
QName(String namespaceURI,
String localPart)
|
QName(String namespaceURI,
String localPart,
String prefix)
|
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object objectToTest) Проверка равенства этого |
String |
getLocalPart() Получение локальной части этого |
String |
getNamespaceURI() Получение URI пространства имён этого |
String |
getPrefix() Получение префикса этого |
int |
hashCode() Генерация хэш-кода для этого |
String |
toString()
|
static QName |
valueOf(String qNameAsString)
|
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
QName
public QName(String namespaceURI,
String localPart) QName конструктор, определяющий URI пространства имён и локальную часть.
Если URI пространства имён равен null, он устанавливается в XMLConstants.NULL_NS_URI. Это значение представляет собой отсутствие явно определённого пространства имён, как определено в спецификации Пространства имён в XML. Это действие сохраняет совместимое поведение с QName 1.0. Явное указание значения XMLConstants.NULL_NS_URI предпочтительнее.
Если локальная часть равна null, выбрасывается IllegalArgumentException. Разрешается локальная часть «», чтобы сохранить совместимость с QName 1.0.
При использовании этого конструктора префикс устанавливается в XMLConstants.DEFAULT_NS_PREFIX.
URI пространства имён не проверяется как ссылка URI. Локальная часть не проверяется как NCName, как указано в Пространства имён в XML.
- Параметры:
-
namespaceURI- URI пространства имёнQName -
localPart- локальная частьQName - Исключения:
-
IllegalArgumentException- ЕслиlocalPartравняетсяnull - См. также:
QName(String namespaceURI, String localPart, String prefix)
QName
public QName(String namespaceURI,
String localPart,
String prefix) QName конструктор, определяющий URI пространства имён, локальную часть и префикс.
Если URI пространства имён равен null, он устанавливается в XMLConstants.NULL_NS_URI. Это значение представляет собой отсутствие явно определённого пространства имён, как определено в спецификации Пространства имён в XML. Это действие сохраняет совместимое поведение с QName 1.0. Явное указание значения XMLConstants.NULL_NS_URI предпочтительнее.
Если локальная часть равна null, выбрасывается IllegalArgumentException. Разрешается локальная часть «», чтобы сохранить совместимость с QName 1.0.
Если префикс равен null, выбрасывается IllegalArgumentException. Используйте XMLConstants.DEFAULT_NS_PREFIX для явного указания отсутствия или нерелевантности префикса.
URI пространства имён не проверяется как ссылка URI. Локальная часть и префикс не проверяются как NCName, как указано в Пространства имён в XML.
- Параметры:
-
namespaceURI- URI пространства имёнQName -
localPart- локальная частьQName -
prefix- префиксQName - Исключения:
-
IllegalArgumentException- ЕслиlocalPartилиprefixравноnull
QName
public QName(String localPart)
QName конструктор, определяющий локальную часть.
Если локальная часть равна null, выбрасывается IllegalArgumentException. Разрешается локальная часть «», чтобы сохранить совместимость с QName 1.0.
При использовании этого конструктора URI пространства имён устанавливается в XMLConstants.NULL_NS_URI, а префикс — в XMLConstants.DEFAULT_NS_PREFIX.
В контексте XML все имена элементов и атрибутов существуют в контексте пространства имён. Явное указание этого при создании объекта QName помогает предотвратить труднодиагностируемые ошибки валидации XML. Конструкторы QName(String
namespaceURI, String localPart) и QName(String namespaceURI, String localPart, String prefix) предпочтительнее.
Локальная часть не проверяется как NCName, как указано в Пространства имён в XML.
- Параметры:
-
localPart- локальная частьQName - Исключения:
-
IllegalArgumentException- ЕслиlocalPartравняетсяnull - См. также:
-
QName(String namespaceURI, String localPart),QName(String namespaceURI, String localPart, String prefix)
Методы
getNamespaceURI
public String getNamespaceURI()
Получить URI пространства имён этого QName.
- Возвращает:
- URI пространства имён этого
QName
getLocalPart
public String getLocalPart()
Получить локальную часть этого QName.
- Возвращает:
- локальную часть этого
QName
getPrefix
public String getPrefix()
Получить префикс этого QName.
Префикс, назначенный QName, может НЕ быть допустимым в другом контексте. Например, QName может получить префикс при парсинге документа, но этот префикс может быть недопустимым в другом документе.
- Возвращает:
- префикс этого
QName
equals
public final boolean equals(Object objectToTest)
Проверить равенство этого QName с другим Object.
Если элемент, который необходимо проверить, не является QName или равен null, этот метод возвращает false.
Два QName считаются равными, если и только если URI пространства имён и локальная часть равны. Этот метод использует String.equals() для проверки равенства URI пространства имён и локальной части. Префикс НЕ используется для определения равенства.
Этот метод удовлетворяет общему контракту Object.equals(Object)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
objectToTest-Objectдля проверки равенства с этимQName - Возвращает:
-
trueесли заданныйObjectравен этомуQName, иначеfalse - См. также:
-
Object.hashCode(),HashMap
hashCode
public final int hashCode()
Вычислить хэш-код для этого QName.
Хэш-код вычисляется с использованием URI пространства имён и локальной части QName. Префикс НЕ используется для вычисления хэш-кода.
Этот метод удовлетворяет общему контракту Object.hashCode().
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код для этого
QNameObject - См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
String представление этого QName.
Обычный способ представления QName как String был определён Джеймсом Кларком. Хотя это и не стандартная спецификация, он широко используется, например, в Transformer.setParameter(String name, Object value). Это реализация представляет QName как: «{» + URI пространства имён + «}» + локальная часть. Если URI пространства имён .equals(XMLConstants.NULL_NS_URI), возвращается только локальная часть. Подходящее использование этого метода — для отладки или протоколирования для человеческого восприятия.
Обратите внимание, что значение префикса НЕ включено в представление String.
Этот метод удовлетворяет общему контракту Object.toString().
valueOf
public static QName valueOf(String qNameAsString)
QName из форматированного String.
Если String null или не соответствует формату QName.toString(), выбрасывается IllegalArgumentException.
String **ДОЛЖЕН** быть в формате, возвращаемом QName.toString().
Обычный способ представления QName как String был определён Джеймсом Кларком. Хотя это и не стандартная спецификация, он широко используется, например, в Transformer.setParameter(String name, Object value). Это реализация парсит String в формате: «{» + URI пространства имён + «}» + локальная часть. Если URI пространства имён .equals(XMLConstants.NULL_NS_URI), должен быть указан только локальная часть.
Значение префикса НЕ МОЖЕТ быть представлено в String и будет установлено в XMLConstants.DEFAULT_NS_PREFIX.
Этот метод не выполняет полную валидацию полученного QName.
URI пространства имён не проверяется как ссылка URI. Локальная часть не проверяется как NCName, как указано в Пространства имён в XML.
- Параметры:
-
qNameAsString-StringпредставлениеQName - Возвращает:
-
QNameсоответствующее заданномуString - Исключения:
-
IllegalArgumentException- КогдаqNameAsStringявляетсяnullили имеет неправильный формат - См. также:
QName.toString()
© 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.