Класс 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() |
Возвращает строковое представление этого QName. |
static QName |
valueOf |
Создаёт QName по его строковому представлению. |
Подробное описание конструкторов
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)
hashCode
public final int hashCode()
Вычисляет хеш-код этого QName.
Хеш-код вычисляется с использованием URI пространства имён и локальной части QName. Префикс НЕ используется для вычисления хеш-кода.
Этот метод соответствует общему контракту Object.hashCode().
toString
public String toString()
QName. Формат: {NamespaceURI}LocalPart
Если NamespaceURI равно null, возвращается только LocalPart.valueOf
public static QName valueOf(String qNameAsString)
QName по его строковому представлению. Строковое представление должно иметь формат, возвращаемый методом toString(): {NamespaceURI}LocalPart
Поскольку Prefix не представлено в строковой форме, ему будет присвоено значение XMLConstants.DEFAULT_NS_PREFIX.- Примечание API:
- Этот метод не выполняет полную проверку созданного
QName.NamespaceURIне проверяется на соответствие ссылке URI.LocalPartне проверяется на соответствие NCName, как указано в спецификации Пространства имён в XML. - Параметры:
-
qNameAsString— строковое представлениеQName - Возвращает:
QNameпо его строковому представлению- Исключения:
-
IllegalArgumentException— еслиqNameAsStringравно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/QName.html