Thanks for following through on this, Scott! Maybe in a few years I can go back and replace all that "if (namespaceURI == null || namespaceURI.length() == 0)" code I've written in various places.... :)
--Glen > -----Original Message----- > From: Scott Nichol [mailto:[EMAIL PROTECTED] > Sent: Friday, August 29, 2003 9:22 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Fw: Node.namespaceURI > > > All, > > Some time ago, there was a question asked about Apache SOAP > and the Oracle XML parser's DOM implementation. Apache SOAP > following its interpretation of the DOM spec, in that a node > without a namespace would have a value of null for the > namespaceURI property. Oracle, as Microsoft has chosen to do > with .NET, instead returns an empty string when there is no namespace. > > Rather than simply change the Apache SOAP code, I sent an > e-mail to the W3C DOM working group, asking them to change > the DOM 3 spec, which is in progress, to clarify the issue, > e.g. to specify whether or not an empty string is not an > appropriate return value. > > Below is the first reply from a committee member. It is not > a direct clarification of what should be returned for the > namespaceURI property, but it does change from > "implementation dependent" the guidelines for how to handle > an empty string passed as a namespaceURI to other methods in > the API, namely that the implementation should convert it to null. > > Even without clarification from W3C, I continue to hope that > Oracle will change its implementation. > > Scott Nichol > > ----- Original Message ----- > From: "Philippe Le Hegaret" <[EMAIL PROTECTED]> > To: "Scott Nichol" <[EMAIL PROTECTED]> > Cc: "WWW DOM" <[EMAIL PROTECTED]> > Sent: Thursday, August 28, 2003 1:16 PM > Subject: Re: Node.namespaceURI > > > On Fri, 2003-07-25 at 11:20, Scott Nichol wrote: > > > > > > This regards Node.namespaceURI in the DOM 3 Core. Going > back to DOM 2, this attribute's description has started "The > namespace URI of this node, or null if it is unspecified". > To me, this seems quite clear, and in programming languages > like Java, I expect a null value in that language to be returned. > > > > However, there are implementations that do not use what I > would consider to be a null. For example, Oracle's XML > parser's Node.getNamespaceURI() returns an empty > (zero-length) string, and Microsoft's .NET framework (the > NamespaceURI property of the System.Xml.XmlNode class) > likewise returns an empty string. > > > > I would like to see DOM 3 Core clarify or amend the > statement "The namespace URI of this node, or null if it is > unspecified". If implementations returning empty strings are > to be considered out-of-spec, please specify this explicitly. > If returning a zero-length string is an acceptible > implementation according to the standard, please state this. > If this issue is clarified elsewhere in the DOM 3 spec, > please refer to that place from the description of Node.namespaceURI. > > We clarified the XML Namespaces section and replace the > sentence in the > 3rd paragraph with the following one: > [[ > In programming languages where empty strings can be > differentiated from > null, empty strings, when given as a namespace URI, are converted to > <code>null</code>. > ]] > > A link has been added from Node.namespaceURI to the XML namespaces > section. > > Philippe > >