T.M. SoftStudio

feci quod potui, faciant meliora potentes

JAXP API

XPath API

Программный интерфейс XPath API, представленный пакетом javax.xml.xpath, обеспечивает запросы к XML-элементам с помощью XPath-выражений.

Основным интерфейсом пакета javax.xml.xpath является интерфейс XPath, позволяющий обрабатывать XPath-выражения с помощью следующих методов.

  • void reset()

Сбрасывает объект XPath в исходное состояние, тем самым обеспечивая его повторное использование.

  • void setXPathVariableResolver(XPathVariableResolver resolver)

XPathVariableResolver getXPathVariableResolver()

Первый метод устанавливает, второй метод возвращает объект javax.xml.xpath.XPathVariableResolver, обеспечивающий доступ к переменным XPath-выражения. Интерфейс XPathVariableResolver имеет метод Object resolveVariable(QName variableName), возвращающий значение переменной с указанным именем.

  • void setXPathFunctionResolver(XPathFunctionResolver resolver)

XPathFunctionResolver getXPathFunctionResolver()

Первый метод устанавливает, второй метод возвращает объект javax.xml.xpath.XPathFunctionResolver, обеспечивающий доступ к пользовательским XPath-функциям. Интерфейс XPathFunctionResolver имеет метод XPathFunction resolveFunction(QName functionName, int arity), возвращающий объект javax.xml.xpath.XPathFunction, представляющий XPath-функцию с указанным именем и определенным количеством параметров. Интерфейс XPathFunction имеет метод Object evaluate(List args), возвращающий результат вычисления функции с определенным списком аргументов.

  • void setNamespaceContext(NamespaceContext nsContext)

NamespaceContext getNamespaceContext()

Первый метод устанавливает, второй метод возвращает используемый контекст пространства имен.

  • XPathExpression compile(String expression)

Компилирует XPath-выражение в объект javax.xml.xpath.XpathExpression. Интерфейс XPathExpression обеспечивает обработку Xpath-выражений с помощью следующих методов:

    – String evaluate(Object item) или Object evaluate(Object item, QName returnType) — вычисляет XPath-выражение в контексте указанного объекта, например узла, и возвращает результат вычисления определенного типа или строку. Результат вычисления XPath-выражения может быть следующих типов: XPathConstants.STRING, XPathConstants.NUMBER, XPathConstants.BOOLEAN, XPathConstants.NODE и XPathConstants.NODESET;

    – String evaluate(InputSource source) или Object evaluate(InputSource source, QName returnType) — вычисляет XPath-выражение в контексте входящих данных org.xml.sax.InputSource и возвращает результат вычисления определенного типа или строку.

  • Object evaluate(String expression, Object item, QName returnType)

String evaluate(String expression, Object item)

Object evaluate(String expression, InputSource source, QName returnType)

String evaluate(String expression, InputSource source)

Вычисляют XPath-выражение в определенном контексте.

Объект XPath создается с помощью класса-фабрики javax.xml.xpath.XPathFactory, имеющим перечисленные далее методы.

  • public static final XPathFactory newInstance()

public static final XPathFactory newInstance(String uri)

public static XPathFactory newInstance(String uri,
String factoryClassName, ClassLoader classLoader)

Создают новый экземпляр XPathFactory.

  • public abstract boolean isObjectModelSupported(String objectModel)

Возвращает true, если XPath-реализация поддерживает указанную модель, например http://java.sun.com/jaxp/xpath/dom.

  • public abstract void setFeature(String name, boolean value)

public abstract boolean getFeature(String name)

Первый метод устанавливает, второй метод возвращает свойства XPath-реализации.

  • public abstract void setXPathVariableResolver(XPathVariableResolver
    resolver)

public abstract void setXPathFunctionResolver(XPathFunctionResolver
resolver)

Устанавливает объекты XpathVariableResolver и XpathFunctionResolver для XPath-реализации.

  • public abstract XPath newXPath()

Создает объект Xpath.