[jdom-interest] Default Namespace vs No-Namespace.

Elliotte Rusty Harold elharo at metalab.unc.edu
Thu Jul 3 10:36:20 PDT 2003


At 10:16 AM -0700 7/3/03, John Jefferson wrote:
>Hi,
>
>The default namespace is a feature of xml which allows
>you to declare one namespace at the top and for any
>element in the document which is not given a namespace
>that element will inherit the default namespace.

No, this statement is not true. Namespaces are quite a bit more 
complicated than that. When  designing an API, it's important to be 
really precise and clear about these things.

>Why is jdom's behavior set such that when I have a
>document and I set the default namespace at the root
>the child nodes of the root do not inherit the
>namespace but instead are set to the special
>no-namespace namespace.

Because that's what you asked for in your code.

>This is problematic for me.  What I am doing is
>receiving an xml file from an untrusted source.  What
>I then what to ensure is that this xml validate
>against my particular schema/dtd.
>In order to do this, I build the document with SAX.
>Get the root element and set the root elements
>namespaces, etc such that this document is using my
>schemas/dtds.  Now I write this document back out and
>read it in again in order to validate it but since the
>XmlOutputter gives the root children the no-namespace,
>the document fails validation.

Yet another fallacy. You do not need to change the document to 
validate it. The namespace name does *not* point to the schema.
-- 

   Elliotte Rusty Harold
   elharo at metalab.unc.edu
   Processing XML with Java (Addison-Wesley, 2002)
   http://www.cafeconleche.org/books/xmljava
   http://www.amazon.com/exec/obidos/ISBN%3D0201771861/cafeaulaitA



More information about the jdom-interest mailing list