JAXP 1.3 at java.net

Volume 7, Issue 190; 26 Oct 2004; last modified 08 Oct 2010

My favorite way to get JAXP 1.3 is straight out of J2SE 5.0, but now it’s available “unbundled” for Java 1.3 and Java 1.4 VMs too!

This isn’t really news anymore (my colleague Eduardo Pelegri-Llopart got there first :-), but I think it’s important.

JAXP 1.3 is the latest release of the Java API for XML Processing. With 1.3, you get support for:

including a new Validation API (that can be configured to support RELAX NG; note to self: blog that!) and an XPath API.

My favorite way to get JAXP 1.3 is straight out of J2SE 5.0 (aka Java 1.5, though not according to official marketing sources). There’s a lot of cool stuff, in the latest Java.

But there are still projects around (including some of my own) that haven’t made the jump to Java 5.0 and that’s going to be true for a while. Almost since before JAXP 1.3 was finished, folks have been asking how they could get it, especially how they could get it for earlier releases of Java.

Now you don’t have to let an older VM hold you back from the latest JAXP! You can get an “unbundled” copy of JAXP 1.3 from java.net. You’ll be able to get it from Apache too, as soon as we clear some process hurdles.

Cool stuff, if I do say so myself. (I was one of the specification leads, so I’m not exactly unbiased.)


I guess I should have commented on this aaaages ago, but in case you know - I was wondering if there was a reason for the arity parameter on XPathFunction.resolveFunction(QName functionName, int arity)? It's inconsistent with existing untyped APIs (eg javax.servlet.jsp.el.FunctionMapper, org.jaxen.FunctionContext) or typed APIs (Class.getMethod()), and doesn't seem hugely useful when the function itself could just contain a 'switch(arity) {...}'?

—Posted by Brian Ewins on 24 Nov 2004 @ 02:35 UTC #

Because 'arity' is a distinguishing characteristic of XPath functions.

—Posted by Norman Walsh on 03 Dec 2004 @ 07:59 UTC #