Интерфейс XPathEvaluator
public interface XPathEvaluator
XPathEvaluator. В реализации DOM, поддерживающей функцию XPath 3.0, как описано выше, интерфейс XPathEvaluator будет реализован на том же объекте, который реализует интерфейс Document, позволяя получить его с помощью обычного метода, специфичного для связывания, такого как приведение типа или с помощью метода getInterface уровня DOM 3. В этом случае реализация, полученная из документа, поддерживает модуль XPath DOM и совместима со спецификацией XPath 1.0. Вычисление выражений со специализированными функциями или переменными расширения может не работать во всех реализациях и, следовательно, не является переносимым. XPathEvaluator реализации могут быть доступны из других источников, которые могут предоставить конкретную поддержку для специализированных функций или переменных расширения, как определено другими спецификациями.
См. также Спецификацию XPath уровня 3 Document Object Model (DOM).
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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: Возникает, если выражение не является законным в соответствии с правиламиXPathEvaluatori -
DOMException- NAMESPACE_ERR: Возникает, если выражение содержит префиксы именованных пространств, которые не могут быть разрешены указаннымXPathNSResolver.
createNSResolver
XPathNSResolver createNSResolver(Node nodeResolver)
lookupNamespaceURI для узлов при разрешении 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: Возникает, если выражение не является законным в соответствии с правиламиXPathEvaluatori
TYPE_ERR: Возникает, если результат не может быть преобразован в указанный тип. -
DOMException- NAMESPACE_ERR: Возникает, если выражение содержит префиксы именованных пространств, которые не могут быть разрешены указаннымXPathNSResolver.
WRONG_DOCUMENT_ERR: Узел происходит из документа, который не поддерживается этимXPathEvaluator.
NOT_SUPPORTED_ERR: Узел не является типом, разрешённым как узел контекста XPath, или запрос не разрешён этимXPathEvaluator.
© 1993, 2023, 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/21/docs/api/jdk.xml.dom/org/w3c/dom/xpath/XPathEvaluator.html