Интерфейс XPathEvaluator
public interface XPathEvaluator
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 |
Создаёт разобранное выражение 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, 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