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
> 
> 

Reply via email to