Spec-Zone.ru › OpenJDK 25

Интерфейс XPathEvaluator

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

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

См. также спецификацию XPath Document Object Model (DOM) Level 3.

Начиная с:
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: выбрасывается, если выражение недопустимо согласно правилам XPathEvaluatori
DOMException — NAMESPACE_ERR: выбрасывается, если выражение содержит префиксы пространств имён, которые не могут быть разрешены указанным XPathNSResolver.

createNSResolver

XPathNSResolver createNSResolver(Node nodeResolver)
Адаптирует любой узел DOM для разрешения пространств имён, чтобы выражение XPath можно было легко вычислить относительно контекста узла, в котором оно находится в документе. Этот адаптер работает подобно методу DOM Level 3 lookupNamespaceURI для узлов: он разрешает 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: выбрасывается, если выражение недопустимо согласно правилам XPathEvaluatori
TYPE_ERR: выбрасывается, если результат невозможно преобразовать к указанному типу.
DOMException — NAMESPACE_ERR: выбрасывается, если выражение содержит префиксы пространств имён, которые не могут быть разрешены указанным XPathNSResolver.
WRONG_DOCUMENT_ERR: узел принадлежит документу, который не поддерживается этим XPathEvaluator.
NOT_SUPPORTED_ERR: узел не относится к типам, разрешённым в качестве контекстного узла XPath, или запрошенный тип не поддерживается этим XPathEvaluator.

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

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

Spec-Zone.ru

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