Интерфейс XPathEvaluator
public interface XPathEvaluator
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 |
Создаёт проанализированное выражение XPath с разрешенными именами пространств имён. |
XPathNSResolver |
createNSResolver |
Адаптирует любой узел DOM для разрешения имен пространств имён, чтобы выражение XPath можно было легко вычислить относительно контекста узла, где оно появилось в документе. |
Object |
evaluate |
Вычисляет строку выражения XPath и возвращает результат указанного типа, если это возможно. |
Подробное описание методов
createExpression
XPathExpression createExpression(String expression, XPathNSResolver resolver) throws XPathException, DOMException
- Параметры:
-
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)
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
- Параметры:
-
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