[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Classpathx-discuss] libxmlj status report

From: Chris Burdess
Subject: [Classpathx-discuss] libxmlj status report
Date: Fri, 28 May 2004 11:38:50 +0100

Hash: SHA1

Hello all,

We're making a lot of progress on libxmlj. For those of you who don't know what that is, it's a JAXP implementation that uses Gnome libxml2 and libxslt to do all the grunt work. It's usable now, and you can get it from jaxp CVS.

I've done a lot of conformance and performance testing. Conformance is against the W3C XML test cases. I've been using a 3rd-party test framework -

Results for gnu.xml.aelfred2.XmlReader:

 Passed 925 of 2162 tests.

 Failed 1237 of 2162 tests.

 Conformance level: 42.78%.

Results for gnu.xml.libxmlj.sax.GnomeXMLReader:

 Passed 1626 of 2162 tests.

 Failed 536 of 2162 tests.

 Conformance level: 75.21%.

If anyone has about 400MB of spare webspace, I can upload the complete results showing what should have happened versus what did happen in each test.

Most of the libxmlj failures are in some way linked to the failure to provide correct callbacks for resolveEntity (I've talked to Daniel Veillard about this but still can't get it to work the way he says it does). As soon as that happens I expect a large jump up the conformance ladder. Even so it's not bad - remember that these test cases are all really marginal edge conditions. libxmlj is easily stable enough to do simple SAX and DOM parsing; for instance, I now use it as the parser for Ant.

In terms of performance, libxmlj easily outstrips aelfred2 even for tiny documents: on a simple document with one document element with one child element, libxmlj parses in 60-70% of the time aelfred2 takes, even with the overhead of loading the native library. On very large documents performance improves even more.

I need to fill in some of the less common parts of the API, and I want to have an XPath implementation, i.e. implement in libxmlj.dom, despite the fact it's not a standard yet. Based on discussions on the gcj mailing list, I should also store native pointers as jlongs in the Java classes (Julian did this originally but I stupidly moved to jints), and there are a few other things.

If anyone with some experience of libxml2 and/or libxslt would like to help, I can find tasks for them.

I'd also be interested in people's opinions about where we should be going with aelfred2 and the gnu.xml.dom classes. - -- Chris Burdess
Version: GnuPG v1.2.4 (Darwin)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]