Hi, I tried the namespace feature of lxml and there is one thing that bothers me: Creating a new element via Element("{myns}elem1") adds a ns-declaration to it, which is correct and just fine. However when I append this new element to an existing one, which also has a namespace declaration (say elem2), the ns-declaration of my first element persists. I think this is unecessary and confusing if you read the string value of an xml document. If I create new Elements without a parent element to put them into the tree later at various positions I end up with a ton of ns-declarations all declaring the same namespace. So is there a way I'm overlooking to tell lxml: When I append elem1 to elem2, please go through all parent elemens to check for a namespace declaration matching the on of elem1. If you find one, drop the ns declaration from elem1 itself. Now I don't know wether the problem here is actually lxml or libxml2 itself, but I figured I start here and work my way through. Andreas -- You will be attacked by a beast who has the body of a wolf, the tail of a lion, and the face of Donald Duck.