Spec-Zone.ru › OpenJDK 24

Интерфейс XPathEvaluator

public interface XPathEvaluator
Вычисление выражений XPath обеспечивается интерфейсом XPathEvaluator. В реализации DOM, поддерживающей функцию XPath 3.0, как описано выше, интерфейс XPathEvaluator будет реализован на том же объекте, который реализует интерфейс Document, что позволит получить его с помощью обычного метода, специфичного для связывания, такого как приведение типа или использование метода getInterface DOM Level 3. В этом случае реализация, полученная из документа, поддерживает модуль XPath DOM и совместима со спецификацией XPath 1.0.

Вычисление выражений со специализированными функциями или переменными расширения может не работать во всех реализациях и поэтому не является переносимым. Реализации XPathEvaluator могут быть доступны из других источников, которые могут предоставить конкретную поддержку для специализированных функций или переменных расширения, как определено другими спецификациями.

См. также Спецификацию XPath уровня 3 (DOM) для объектной модели документа.

С:
1.4, DOM Level 3

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

Модификатор и тип Метод Описание
XPathExpression createExpression(String expression, XPathNSResolver resolver)
Создаёт проанализированное выражение XPath с разрешенными именами пространств имён.
XPathNSResolver createNSResolver(Node nodeResolver)
Адаптирует любой узел DOM для разрешения имен пространств имён, чтобы выражение XPath можно было легко вычислить относительно контекста узла, где оно появилось в документе.
Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result)
Вычисляет строку выражения XPath и возвращает результат указанного типа, если это возможно.

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

createExpression

XPathExpression createExpression(String expression, XPathNSResolver resolver) throws XPathException, DOMException
Создаёт проанализированное выражение XPath с разрешенными именами пространств имён. Это полезно, когда выражение будет повторно использоваться в приложении, поскольку это позволяет скомпилировать строку выражения в более эффективную внутреннюю форму и предварительно разрешить все префиксы имен пространств, которые встречаются в выражении.
Параметры:
expression - Строка выражения XPath, подлежащая анализу.
resolver - resolver разрешает перевод префиксов в выражении XPath в соответствующие URI имен пространств. Если это указано как null, любой префикс имени пространства в выражении приведёт к тому, что будет брошено исключение DOMException с кодом NAMESPACE_ERR.
Возвращает:
Скомпилированная форма выражения XPath.
Выбрасывает:
XPathException - INVALID_EXPRESSION_ERR: Срабатывает, если выражение не соответствует правилам XPathEvaluator.
DOMException - NAMESPACE_ERR: Срабатывает, если выражение содержит префиксы имен пространств, которые не могут быть разрешены указанным XPathNSResolver.

createNSResolver

XPathNSResolver createNSResolver(Node nodeResolver)
Адаптирует любой узел DOM для разрешения имен пространств имён, чтобы выражение XPath можно было легко вычислить относительно контекста узла, где оно появилось в документе. Этот адаптер работает как метод lookupNamespaceURI DOM Level 3 для узлов при разрешении namespaceURI по заданному префиксу, используя текущую информацию, доступную в иерархии узла во время вызова lookupNamespaceURI. Также правильно разрешает неявный префикс xml.
Параметры:
nodeResolver - Узел, который будет использоваться в качестве контекста для разрешения имен пространств имён.
Возвращает:
XPathNSResolver, который разрешает имена пространств относительно определений, действующих для указанного узла.

evaluate

Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) throws XPathException, DOMException
Вычисляет строку выражения XPath и возвращает результат указанного типа, если это возможно.
Параметры:
expression - Строка выражения XPath, подлежащая анализу и вычислению.
contextNode - context - узел контекста для вычисления этого выражения XPath. Если XPathEvaluator был получен путём приведения типа от Document, то он должен принадлежать тому же документу и должен быть узлом Document, Element, Attribute, Text, CDATASection, Comment, ProcessingInstruction или XPathNamespace. Если контекстный узел является Text или CDATASection, то контекст интерпретируется как весь логический узел текста, как виден XPath, за исключением случая пустого узла, в котором он не может служить контекстом XPath.
resolver - resolver разрешает перевод префиксов в выражении XPath в соответствующие URI имен пространств. Если это указано как null, любой префикс имени пространства в выражении приведёт к тому, что будет брошено исключение DOMException с кодом NAMESPACE_ERR.
type - Если указан конкретный type, то результат будет возвращён в качестве соответствующего типа. Для результатов XPath 1.0 это должны быть коды интерфейса XPathResult.
result - result задаёт конкретный объект результата, который может быть повторно использован и возвращён этим методом. Если это указано как null или реализация не использует указанный результат, новый объект результата будет создан и возвращён. Для результатов XPath 1.0 этот объект будет типа XPathResult.
Возвращает:
Результат вычисления выражения XPath. Для результатов XPath 1.0 этот объект будет типа XPathResult.
Выбрасывает:
XPathException - INVALID_EXPRESSION_ERR: Срабатывает, если выражение не соответствует правилам XPathEvaluator.
TYPE_ERR: Срабатывает, если результат не может быть преобразован в указанный тип.
DOMException - NAMESPACE_ERR: Срабатывает, если выражение содержит префиксы имен пространств, которые не могут быть разрешены указанным XPathNSResolver.
WRONG_DOCUMENT_ERR: Узел из документа, который не поддерживается этим XPathEvaluator.
NOT_SUPPORTED_ERR: Узел не является типом, разрешенным в качестве узла контекста XPath, или тип запроса не разрешен этим XPathEvaluator.

© 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/jdk.xml.dom/org/w3c/dom/xpath/XPathEvaluator.html

Spec-Zone.ru

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