Skip to Content.
Sympa Menu

xom-interest - [XOM-interest] XOM 1.0 alpha 1 is here

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: Elliotte Rusty Harold <elharo AT metalab.unc.edu>
  • To: xom-interest AT lists.ibiblio.org
  • Subject: [XOM-interest] XOM 1.0 alpha 1 is here
  • Date: Tue, 8 Jun 2004 11:45:02 -0400

I have posted what I hope is XOM 1.0 alpha 1 at the usual location:

http://cafeconleche.org/XOM/

Assuming nobody finds any gross flaws in the packaging (e.g. missing classes, etc.) I'll announce this more broadly tomorrow.

This is a very significant milestone for XOM. There have been *no* API level changes since the previous release (1.0d25) and I do not foresee any backwards incompatible API changes in the future. From this point forward, any changes to the API will require some fairly hefty justification, not just my usual "Hmm, this method name is a little more obvious than that method name." Code written to 1.0a1 should be able to run without recompilation for the foreseeable future.

There may of course still be bugs. There are definitely a couple of sticky places in the code I need to look at before I declare beta 1, but the API is pretty much set at this point.

Changes since 1.0d25 include:

* XOM now fully supports the 2nd candidate recommendation syntax for XInclude; including preservation of xml:lang values.

* The base URI handling has been modified as follows:
1. getBaseURI() always returns an absolute URI or the empty string if the base URI is not known. Other than the empty string it never returns a relative URI. It never returns null.
2. The base URI of an element does not change when it is detached or copied.
3. The setBaseURI() method only accepts an absolute URI. It throws a MalformedURIException if you attempt to pass it a relative URI, or a URI with a fragment identifier. (Relative URIs are still allowed in xml:base attributes.)

* XOM will not double verify when being fed data through the Apache XML Commons catalog filter; provided that the underlying parser is good.

* Constraints on parentage are not checked when building with NonVerifyingFactory.

* DOMConverter and several methods have been rewritten with non-recursive algorithms. Some work remains to be done in this area, however.

There appear to be some bugs in Sun's JDK 1.4.2_03 that break about 5 or 6 of the unit tests. All tests pass with JDK 1.4.2_02 and JDK 1.5.0a1. Ant 1.5.x is required to build XOM. I have been unable to get the tests to run with Ant 1.6, and the Ant developers seem actively hostile to any reports about this issue.

I have not yet resolved some of the class loader issues reported by various people. I'd appreciate it if anyone who's encountered a problem with XOM when used in TomCat or other multi-classloader environments let me know if the problem still occurs with the latest release. If it does, let me know and fixing that will be the highest priority for alpha 2.

If nobody spots any show stopping problems, I'll announce this on Cafe con Leche tomorrow or Thursday.

--

Elliotte Rusty Harold
elharo AT metalab.unc.edu
Effective XML (Addison-Wesley, 2003)
http://www.cafeconleche.org/books/effectivexml http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA



Archive powered by MHonArc 2.6.24.

Top of Page