Support for DOM and other external tree models

In the DOM interface (package net.sf.saxon.dom) Saxon now has compile-time dependencies on methods that are only available in DOM level 3, that is, in JDK 1.5 or JAXP 1.3. This puts the DOM package in the same situation as the XPath package: if you want to use Saxon's DOM interface, you need to use JDK 1.5 or the JAXP 1.3 package installed over JDK 1.4.

The Saxon code as issued is compiled under JDK 1.4, but using the JAXP 1.3 versions of the JAXP and DOM interfaces. If you want to recompile the Saxon code (for example to apply patches) then you can either recompile it under JDK 1.5 (in which case it will only run under JDK 1.5), or you can recompile it under JDK 1.4, in which case you will need to install the JAXP 1.3 versions of the dom.jar and jaxp-api.jar JAR files in %java%/jre/lib/endorsed to ensure that they are chosen in preference to the versions packaged with the JDK.

In the XOM interface, IDREF attributes are now recognized, so the idref() function now works correctly.