<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
   <title>Status File for Jakarta Commons "BeanUtils" Component</title>
</head>
<body bgcolor="#FFFFFF">

<center>
<h1>
The Jakarta Commons <i>JXPath</i> Component</h1></center>

<center>$Id: STATUS.html,v 1.3 2002/04/28 22:43:08 dmitri Exp $
<br><a href="#Introduction">[Introduction]</a><a href="#Dependencies">[Dependencies]</a><a href="#Release Info">[Release
Info]</a><a href="#Committers">[Committers]</a><a href="#Action Items">[Action
Items]</a></center>

<p><a NAME="Introduction"></a>
<h3>
1. INTRODUCTION</h3>
The <i>JXPath</i> Component contains a set of Java classes that provide
static utility methods useful in manipulating Java classes that conform
to the JavaBeans Specification naming patterns for bean properties in a
dynamic fashion using the XPath syntax. It also supports Java collections,
objects with Dynamic Properties (like Map, ServletContext etc) and mechanism
for adding support for additional object models.
<p>An innovative and unique feature of this component is the unification
of reference syntax between DOM and Java.
<br><a NAME="Dependencies"></a>
<h3>
2. DEPENDENCIES</h3>
The <i>JXPath</i> component is dependent upon the following external components
for development and use:
<ul>
<li>
<a href="http://java.sun.com/j2se">Java Development Kit</a> (Version 1.3
or later)</li>

<li>
<a href="http://java.sun.com/xml/">JAXP</a> (Version 1.1 or later)</li>

<li>
<a href="http://www.junit.org">JUnit Testing Framework</a> (Version 3.7
or later) - for unit tests only, not required for deployment</li>

<li>
<a href="http://www.webgain.com/products/metamata/java_doc.html">JavaCC</a>
(Version 2.0 or later)</li>
</ul>
<a NAME="Release Info"></a>
<h3>
3. RELEASE INFO</h3>
Current Release: <b>1.0 beta 1</b>
<p>Planned Next Release: <b>1.0, timeframe: 27 May, 2002</b>
<p>See the
<a href="#Action Items">Action Items</a> list for tasks that
need to be completed prior to this release.
<br><a NAME="Committers"></a>
<h3>
4. COMMITTERS</h3>
The following individuals are the primary developers and maintainers of
this component. Developers who plan to use <i>JXPath</i> in their own projects
are encouraged to collaborate on the future development of this component
to ensure that it continues to meet a variety of needs.
<ul>
<li>
<a href="mailto:dmitri@plotnix.com">Dmitri Plotnikov</a></li>
</ul>
<a NAME="Action Items"></a>
<h3>
5. ACTION ITEMS</h3>
The following action items need to be completed prior to a Version 1.0
release of this component:
<br>&nbsp;
<table BORDER >
<tr>
<th WIDTH="80%">Action Item</th>

<th WIDTH="20%">Volunteer</th>
</tr>

<tr>
<td><b>Documentation</b>. Validate all JavaDoc and user's guide.</td>

<td ALIGN=CENTER>Dmitri Plotnikov</td>
</tr>

<tr>
<td><b>Unit Tests.</b> Add more unit tests</td>

<td>
<center>Dmitri Plotnikov</center>
</td>
</tr>

<tr>
<td><b>Fix problems with document order.&nbsp;</b> There are some cases
where JXPath violates the XPath spec in relation to document order.</td>

<td>
<center>Dmitri Plotnikov</center>
</td>
</tr>
</table>

</body>
</html>
