blob: c32a94fbf992e62aa3c3c1fa3275aff112b16e03 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>XPath 2.0 API Implementation</title>
</head>
<body>
<p>Public interfaces for XPath expression Abstract Syntax Tree nodes.
Primary external APIs for this XPath AST model.</p>
<p>This XPath API is a compact set of Java interfaces that allow the
in-memory representation and manipulation of XPath 2.0 expressions.The
main idea of this API is to manipulate XPath expressions independently
of their actual underlying representation.<br>
</p>
<p>It was designed to fulfill
the following requirements:</p>
<ul>
<li style="font-weight: bold;">Read/Write: <span
style="font-weight: normal;">it should be capable of querying/visiting
and modifying the
internal representation of XPath expressions. The expression reading is
performed by using either the visitor pattern or get-like methods.
Similarly, the</span><span style="font-weight: normal;"> expression </span><span
style="font-weight: normal;">writing is done through a bunch of
set-like methods.</span></li>
<li style="font-weight: bold;"><span style="font-weight: normal;"><span
style="font-weight: bold;">Round-trip: </span>it should be capable of
getting
string representation of expressions from its internal encoding.<br>
</span></li>
<li><span style="font-weight: bold;">Application-independent</span>:
it should be suitable to be used by a variety of applications
efficiently.<span style="font-weight: bold;"> </span>It should provide
solutions to plug in application-dependent features, like
namespace/qname manager and AST generalization and specialisation (see
implementation package).<span style="font-weight: bold;"><br>
</span></li>
<li style="font-weight: bold;">Lightweight: <span
style="font-weight: normal;">it should be compact and therefore should
define a minimal set of Java interfaces in particular by factoring
similar concepts. The best example is the
interface OperatorExpr which allows the representation of more than ten
expression types.</span></li>
</ul>
Right now, the XPath API do not provide a standard way to request the
evaluation of expressions. This should be done.<br>
<p></p>
</body>
</html>