Spec-Zone.ru › OpenJDK 24

Интерфейс XPathExpression

public interface XPathExpression
XPathExpression предоставляет доступ к скомпилированным выражениям XPath. Оценка выражений XPath зависит от факторов, описанных в следующей таблице.
Вычисление выражений XPath
Фактор Поведение
контекст Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста, в противном случае будет выброшено исключение XPathExpressionException. Для целей оценки выражений XPath, DocumentFragment обрабатывается как узел Document.
переменные Если выражение содержит ссылку на переменную, её значение будет найдено через XPathVariableResolver. Исключение XPathExpressionException выбрасывается, если резолвер переменных не определен или резолвер возвращает null для переменной. Значение переменной должно быть неизменяемым в ходе одной оценки.
функции Если выражение содержит ссылку на функцию, функция будет найдена через XPathFunctionResolver. Исключение XPathExpressionException выбрасывается, если резолвер функций не определён или резолвер возвращает null для функции.
QNames QNames в выражении разрешаются относительно контекста пространства имён XPath.
результат Результат вычисления выражения преобразуется в экземпляр желаемого типа возврата. Допустимые типы возврата определены в XPathConstants. Преобразование в тип возврата следует правилам преобразования XPath.

Выражение XPath не потокобезопасно и не рекурсивно. Другими словами, приложение отвечает за то, чтобы один объект XPathExpression не использовался из нескольких потоков одновременно, и во время вызова метода evaluate приложения не могут рекурсивно вызывать метод evaluate.

Since:
1.5
See Also:
  • XML Path Language (XPath) Version 1.0, Expressions

Краткое описание методов

Модификатор и тип Метод Описание
String evaluate(Object item)
Вычислить скомпилированное выражение XPath в указанном контексте и вернуть результат как String.
Object evaluate(Object item, QName returnType)
Вычислить скомпилированное выражение XPath в указанном контексте и вернуть результат как указанный тип.
String evaluate(InputSource source)
Вычислить скомпилированное выражение XPath в контексте указанного InputSource и вернуть результат как String.
Object evaluate(InputSource source, QName returnType)
Вычислить скомпилированное выражение XPath в контексте указанного InputSource и вернуть результат как указанный тип.
default XPathEvaluationResult<?> evaluateExpression(Object item)
Вычислить скомпилированное выражение XPath в указанном контексте.
default <T> T evaluateExpression(Object item, Class<T> type)
Вычислить скомпилированное выражение XPath в указанном контексте и вернуть результат с типом, заданным через class type.
default XPathEvaluationResult<?> evaluateExpression(InputSource source)
Вычислить скомпилированное выражение XPath в указанном контексте.
default <T> T evaluateExpression(InputSource source, Class<T> type)
Вычислить скомпилированное выражение XPath в указанном контексте и вернуть результат с типом, заданным через class type

Подробности методов

evaluate

Object evaluate(Object item, QName returnType) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в заданном контексте и вернуть результат в указанном типе.

См. Вычисление выражений XPath для оценки элемента контекста, переменных, функций и разрешения QName, а также преобразования типа возвращаемого значения.

Параметр item представляет контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста, в противном случае будет брошено исключение XPathExpressionException.

Примечание реализации:
Тип контекста обычно Node.
Параметры:
item - Контекст, в котором будет вычислено выражение XPath.
returnType - Тип результата, ожидаемый в результате вычисления выражения XPath.
Возвращает:
Результат Object вычисления выражения и преобразования результата к типу returnType.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.
IllegalArgumentException - Если returnType не является одним из типов, определенных в XPathConstants.
NullPointerException - Если returnType равно null.

evaluate

String evaluate(Object item) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в заданном контексте и вернуть результат как String.

Этот метод вызывает evaluate(Object item, QName returnType) с returnType типа XPathConstants.STRING.

См. Вычисление выражений XPath для оценки элемента контекста, переменных, функций и разрешения QName, а также преобразования типа возвращаемого значения.

Параметр item представляет контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста, в противном случае будет брошено исключение XPathExpressionException.

Примечание реализации:
Тип контекста обычно Node.
Параметры:
item - Контекст, в котором будет вычислено выражение XPath.
Возвращает:
Результат вычисления выражения XPath как String.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.

evaluate

Object evaluate(InputSource source, QName returnType) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в контексте указанного InputSource и вернуть результат в указанном типе.

Этот метод создаёт модель данных для InputSource и вызывает evaluate(Object item, QName returnType) для полученного объекта документа.

См. Вычисление выражений XPath для оценки элемента контекста, переменных, функций и разрешения QName, а также преобразования типа возвращаемого значения.

Если returnType не является одним из типов, определённых в XPathConstants, то бросается исключение IllegalArgumentException.

Если source или returnType имеют значение null, то бросается исключение NullPointerException.

Параметры:
source - Источник данных (InputSource) документа, по которому выполняется вычисление.
returnType - Желаемый тип возвращаемого значения.
Возвращает:
Результат вычисления выражения и преобразования результата к типу returnType.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.
IllegalArgumentException - Если returnType не является одним из типов, определённых в XPathConstants.
NullPointerException - Если source or returnType имеет значение null.

evaluate

String evaluate(InputSource source) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в контексте указанного InputSource и вернуть результат как String.

Этот метод вызывает evaluate(InputSource source, QName returnType) с returnType типа XPathConstants.STRING.

См. Вычисление выражений XPath для оценки элемента контекста, переменных, функций и разрешения QName, а также преобразования типа возвращаемого значения.

Если source имеет значение null, то бросается исключение NullPointerException.

Параметры:
source - Источник данных (InputSource) документа, по которому выполняется вычисление.
Возвращает:
Результат вычисления выражения и преобразования результата к типу String.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.
NullPointerException - Если source имеет значение null.

evaluateExpression

default <T> T evaluateExpression(Object item, Class<T> type) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в заданном контексте и вернуть результат с указанным типом через class type.

Параметр item представляет контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста, в противном случае будет брошено исключение XPathExpressionException.

Требования к реализации:
Стандартная реализация в API XPath эквивалентна:
 
     (T)evaluate(item, XPathEvaluationResult.XPathResultType.getQNameType(type));
 
Поскольку метод evaluate не поддерживает тип ANY, указание XPathEvaluationResult как типа приведёт к IllegalArgumentException. Любая реализация, поддерживающая тип ANY, должна переопределить этот метод.
Примечание реализации:
Тип контекста обычно Node.
Параметры типа:
T - Тип класса, который будет возвращён выражением XPath.
Параметры:
item - Контекст, в котором будет вычислено выражение XPath.
type - Тип возвращаемого класса, который должен быть одним из типов, описанных в разделе 3.2 Типы классов в описании пакета.
Возвращает:
Результат вычисления выражения.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.
IllegalArgumentException - Если type не соответствует типам, определённым в XPathResultType, или XPathEvaluationResult указан как тип, но реализация, поддерживающая тип ANY, недоступна.
NullPointerException - Если type равно null.
С момента:
9

evaluateExpression

default XPathEvaluationResult<?> evaluateExpression(Object item) throws XPathExpressionException
Вычислить скомпилированное выражение XPath в заданном контексте. Это эквивалентно вызову evaluateExpression(Object item, Class type) с типом XPathEvaluationResult:
 
     evaluateExpression(item, XPathEvaluationResult.class);
 

Параметр item представляет контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста, в противном случае будет брошено исключение XPathExpressionException.

Требования к реализации:
Стандартная реализация в API XPath эквивалентна:
 
     evaluateExpression(item, XPathEvaluationResult.class);
 
Поскольку метод evaluate не поддерживает тип ANY, стандартная реализация этого метода всегда будет выбрасывать IllegalArgumentException. Любая реализация, поддерживающая тип ANY, должна переопределить этот метод.
Примечание реализации:
Тип контекста обычно Node.
Параметры:
item - Контекст, в котором будет вычислено выражение XPath.
Возвращает:
Результат вычисления выражения.
Исключение:
XPathExpressionException - Если выражение невозможно вычислить.
IllegalArgumentException - Если реализация этого метода не поддерживает тип ANY.
С момента:
9

evaluateExpression

default <T> T evaluateExpression(InputSource source, Class<T> type) throws XPathExpressionException
Оцените скомпилированное выражение XPath в заданном контексте и верните результат с типом, указанным через class type

Этот метод создает модель данных для InputSource и вызывает evaluateExpression(Object item, Class type) для полученного объекта документа.

По умолчанию, модель данных JDK — Document.

Требования к реализации:
Реализация по умолчанию в API XPath эквивалентна:
 
           (T)evaluate(source, XPathEvaluationResult.XPathResultType.getQNameType(type));
 
Поскольку метод evaluate не поддерживает тип ANY, указание XPathEvaluationResult в качестве типа приведёт к IllegalArgumentException. Любая реализация, поддерживающая тип ANY, должна переопределить этот метод.
Параметры типа:
T - Тип класса, который будет возвращен выражением XPath.
Параметры:
source - InputSource документа, по которому выполняется оценка.
type - Тип класса, ожидаемый в качестве результата выражения XPath. Должен быть одним из типов, описанных в разделе 3.2 Типы классов в описании пакета.
Возвращает:
Результат оценки выражения.
Исключения:
XPathExpressionException - Если выражение невозможно оценить.
IllegalArgumentException - Если type не соответствует типам, определенным в XPathResultType, или если XPathEvaluationResult указан в качестве типа, но реализация, поддерживающая тип ANY, недоступна.
NullPointerException - Если source or type является null.
С:
9

evaluateExpression

default XPathEvaluationResult<?> evaluateExpression(InputSource source) throws XPathExpressionException
Оцените скомпилированное выражение XPath в заданном контексте. Эквивалентно вызову evaluateExpression(InputSource source, Class type) с типом XPathEvaluationResult:
 
     evaluateExpression(source, XPathEvaluationResult.class);
 
Требования к реализации:
Реализация по умолчанию в API XPath эквивалентна:
 
     (XPathEvaluationResult)evaluateExpression(source, XPathEvaluationResult.class);
 
Поскольку метод evaluate не поддерживает тип ANY, реализация по умолчанию этого метода всегда будет выбрасывать IllegalArgumentException. Любая реализация, поддерживающая тип ANY, должна переопределить этот метод.
Параметры:
source - InputSource документа, по которому выполняется оценка.
Возвращает:
Результат оценки выражения.
Исключения:
XPathExpressionException - Если выражение невозможно оценить.
IllegalArgumentException - Если реализация этого метода не поддерживает тип ANY.
NullPointerException - Если source является null.
С:
9

Сообщить об ошибке или предложить улучшение
Для получения дополнительной информации о справочнике API и документации для разработчиков, см. Документацию Java SE, которая содержит более подробные описания, предназначенные для разработчиков, с концептуальными обзорами, определениями терминов, обходными путями и примерами кода. Другие версии.
Java — товарный знак или зарегистрированный товарный знак Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется условиям лицензии и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/xpath/XPathExpression.html

Spec-Zone.ru

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