I've completed the spring clean we agreed on recently, which has mostly been
a mechanical operation with little functionality changing.

There's a full description of the changes in status.html (which I'll try
update on the website tomorrow).

Major changes
==========
new main class names...

org.jaxen.XPath
org.jaxen.BaseXPath
org.jaxen.dom.DOMXPath extends BaseXPath
org.jaxen.dom4j.Dom4jXPath extends BaseXPath
org.jaxen.exml.ElectricXPath extends BaseXPath
org.jaxen.jdom.JDOMXPath extends BaseXPath

I actually introduced a new interface org.jaxen.XPath then BaseXPath is the
default implementation that all the concrete implementations derive from.

Do others agree with this approach? I thought it could well be useful to
have an XPath interface then someday maybe we could implement an XPath
object that uses something totally different, like Saxon or Xalan for
example, without requiring the Jaxen plumbing. Though it would be a no
brainer to delete the interface and make XPath the concrete implementation
if folks object.

Also as Elliotte pointed out, the valueOf() method is now named
stringValueOf() wtih the valueOf() method deprecated.


Minor changes
==========
I removed the JaXPath class. Also various jaSelect*() methods got removed
too, they were unnecessary and confusing.

One other minor change was there was another interface & implementation
class called XPath in the org.jaxen.expr package that I renamed to the more
descriptive XPathExpr (since it is-a Expr like all the other things in this
package). We no longer have any naming conflicts or confusing code using
multiple XPath types.

Finally I've tried to update and clean the public javadoc some more.


Whats next?
========
All the test cases are working and sample programs building (apart from the
issue with EXML). I've labelled the CVS repository jaxen-1-0-RC-1.

Tomorrow I hope to tidy up the licence and append it to all the source files
in the ASF tradition then try do a RC1 release shortly afterwards and we'll
see if folks have any issues with it. We'll be putting the RC releases
through its paces on other projects like dom4j and JSTL. Already the current
RC1 build is integrated with the CVS HEAD of dom4j which seems to work fine.


Ask for help
========
Could folks please give this build of Jaxen a once over and see if it breaks
anything of yours or there are any issues you've got with the API or build.
I'd like to get the full 1.0 release out within the next 7 days if thats
possible.

I know the documentation isn't as good as it might be - I'll be improving
that during the week and any contributions will be greatly appreciated. But
we can always improve the documentation in future point releases - so long
as we essentially freeze the backwards compatible 1.x API for now. We can
always rev the API further in major releases in the future - the API has
been quite stable for some time.


Thoughts?

James


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


_______________________________________________
Jaxen-interest mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jaxen-interest

Reply via email to