[jdom-interest] Namespace inheritance after cloning

Alistair Young alistair at smo.uhi.ac.uk
Sat Nov 27 17:28:43 PST 2004

I have a strange problem. I've read the archives and the FAQ and
understand the non inheritance of prefix:local style namespaces. However,
when I do:

Document root =
<root xmlns="http://test.ns">

Document next =
<next>some text</next>


I get:
<root xmlns="http://test.ns">
  <next xmlns="">some text</next>

and it breaks the XML schema validation! <next> should obviously be in the
test.ns namespace. JDOM seems to want to put it in an empty namespace.

Now, the weird thing is, if I create <next> with the same namespace as
<root>, JDOM still replaces it with xmlns="".

If <root> doesn't have a namespace, then the xmlns="" isn't added to <next>.
Nowhere in the code is xmlns="" generated when creating the <next> Element.

Is there any way to stop this happening? It seems unintuitive to the
namespace aware mind ;)


Alistair Young
Senior Software Engineer
UHI at Sabhal Mòr Ostaig
Isle of Skye

More information about the jdom-interest mailing list