Hi Mike,
> * A relative reference in the source XML file to a DTD doesn't get resolv=
ed:
> presumably you haven't done a setSystemId() on the Source object. (I have=
n't
> checked whether this also applies to stylesheets)
Now fixed for both the source XML and the stylesheets.
> * This is a bit of a technicality, and more of an issue for me, but I don=
't
> think there's currently anything in writing that authorizes you to
> distribute the executable of Saxon-SA, even though the SA functionality
> can't actually be used without a license key. We should discuss this
> off-list: it's probably just a question of agreeing some suitable legales=
e
> to include with the download.
Ok, sure. Do you want to send me a file or let me know off-list what
needs doing?
> * It would be nice if the file selection dialogs remembered the most rece=
nt
> position in the directory tree.
They should remember what the values were when the app was last closed
(It currently creates a file called ET.properties on C, which will
need changing :)
> * Some of the Saxon options (e.g. -ds|-dt, -w0|w1|w2) should be radio
> buttons rather than checkboxes. Saving options persistently would obvious=
ly
> be very handy
I've made the tree type, whitespace handling and warning policy all
radio buttons, and the settings now get saved to the properties file.
> * Shouldn't produce a stack trace when a TransformerException or
> TransformerConfigurationException occurs
Ok, it no longer produces a stack trace for a
TransformerConfigurationException or a
TransformerFactoryConfigurationException, but the code doesn't throw a
TransformerException... (I use SAXTransformerFactories throughout)
cheers
andrew

Hi,
net.sf.saxon.dom.ElementOverNodeInfo in Saxon-B 8.6.1 throws a
NullPointerException when either getAttributeNS() or
getAttributeNodeNS() is called with a null namespace.
java.lang.NullPointerException
at
net.sf.saxon.om.NamespaceConstant.isReserved(NamespaceConstant.java:210)
at net.sf.saxon.om.NamePool.allocate(NamePool.java:451)
at net.sf.saxon.om.Navigator.getAttributeValue(Navigator.java:44)
at
net.sf.saxon.dom.ElementOverNodeInfo.getAttributeNS(ElementOverNodeInfo.java:147)
or:
java.lang.NullPointerException
at net.sf.saxon.om.NamePool.getFingerprint(NamePool.java:753)
at
net.sf.saxon.dom.ElementOverNodeInfo.getAttributeNodeNS(ElementOverNodeInfo.java:213)
Looking at the code, this appears to be because it expects the anonymous
namespace to be represented by "". However, this is incompatible with
the DOM 3 Core spec, which expects null.
http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-745549614
"getAttributeNS introduced in DOM Level 2
Retrieves an attribute value by local name and namespace URI.
Per [XML Namespaces], applications must use the value null as the
namespaceURI parameter for methods if they wish to have no namespace."
A JUnit test case and sample XML file are attached.
Thank you,
Eleanor Joslin
--
Eleanor Joslin, Software Development DecisionSoft Ltd.
Telephone: +44-1865-203192 http://www.decisionsoft.com