Класс QName
- Все реализуемые интерфейсы:
Serializable
public class QName extends Object implements Serializable
QName представляет собой полное имя, как определено в спецификациях XML: Спецификация XML Schema Part2: Типы данных, Пространства имён в 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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
QName |
QName конструктор, определяющий локальную часть. |
QName |
QName конструктор, определяющий URI пространства имён и локальную часть. |
QName |
QName конструктор, определяющий URI пространства имён, локальную часть и префикс. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final boolean |
equals |
Проверка на равенство этого QName с другим Object. |
String |
getLocalPart() |
Получение локальной части этого QName. |
String |
getNamespaceURI() |
Получение URI пространства имён этого QName. |
String |
getPrefix() |
Получение префикса этого QName. |
final int |
hashCode() |
Генерация хэш-кода для этого QName. |
String |
toString() |
String представление этого QName. |
static QName |
valueOf |
QName полученное из разбора форматированного String. |
Подробное описание конструкторов
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
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 - См. также:
Подробное описание методов
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.
Если проверяемый Object не является QName или равен null, то этот метод возвращает false.
Два QName считаются равными тогда и только тогда, когда равны URI пространства имён и локальная часть. Этот метод использует String.equals() для проверки равенства URI пространства имён и локальной части. Префикс НЕ ИСПОЛЬЗУЕТСЯ для определения равенства.
Этот метод удовлетворяет общему контракту Object.equals(Object)
- Overrides:
-
equalsв классеObject - Параметры:
-
objectToTest-Objectдля проверки равенства с этимQName - Возвращает:
-
true, если данныйObjectравен этомуQName, иначеfalse - См. также:
hashCode
public final int hashCode()
Вычислить хеш-код для этого QName.
Хеш-код вычисляется, используя URI пространства имён и локальную часть QName. Префикс НЕ ИСПОЛЬЗУЕТСЯ для вычисления хеш-кода.
Этот метод удовлетворяет общему контракту Object.hashCode().
- Overrides:
-
hashCodeв классеObject - Возвращает:
- хеш-код для этого
QNameObject - См. также:
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().
- Overrides:
-
toStringв классеObject - Возвращает:
-
Stringпредставление этогоQName
valueOf
public static QName valueOf(String qNameAsString)
QName полученный из разбора форматированного String.
Если String пустой или не соответствует формату 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, как указано в Namespaces in XML.
- Parameters:
-
qNameAsString-StringпредставлениеQName - Returns:
-
QNameсоответствующий заданномуString - Throws:
-
IllegalArgumentException- КогдаqNameAsStringпустое или некорректно сформировано - See Also:
© 1993, 2023, 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/21/docs/api/java.xml/javax/xml/namespace/QName.html