diff --git a/xml/src/main/java/org/springframework/xml/dom/DomContentHandler.java b/xml/src/main/java/org/springframework/xml/dom/DomContentHandler.java
index 10faa5cb..6c65f88a 100644
--- a/xml/src/main/java/org/springframework/xml/dom/DomContentHandler.java
+++ b/xml/src/main/java/org/springframework/xml/dom/DomContentHandler.java
@@ -19,7 +19,6 @@ package org.springframework.xml.dom;
import java.util.ArrayList;
import java.util.List;
-import org.springframework.util.Assert;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -29,6 +28,8 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
+import org.springframework.util.Assert;
+
/**
* SAX ContentHandler that transforms callback calls to DOM Nodes.
*
@@ -100,7 +101,9 @@ public class DomContentHandler extends DefaultHandler {
String attrUri = attributes.getURI(i);
String attrQname = attributes.getQName(i);
String value = attributes.getValue(i);
- element.setAttributeNS(attrUri, attrQname, value);
+ if (!attrQname.startsWith("xmlns")) {
+ element.setAttributeNS(attrUri, attrQname, value);
+ }
}
parent.appendChild(element);
elements.add(element);
diff --git a/xml/src/test/java/org/springframework/xml/dom/DomContentHandlerTest.java b/xml/src/test/java/org/springframework/xml/dom/DomContentHandlerTest.java
index 2b408f6d..3fbdc7bb 100644
--- a/xml/src/test/java/org/springframework/xml/dom/DomContentHandlerTest.java
+++ b/xml/src/test/java/org/springframework/xml/dom/DomContentHandlerTest.java
@@ -56,7 +56,7 @@ public class DomContentHandlerTest extends XMLTestCase {
documentBuilderFactory.setNamespaceAware(true);
documentBuilder = documentBuilderFactory.newDocumentBuilder();
result = documentBuilder.newDocument();
- xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", false);
+ xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
}
public void testContentHandlerDocument() throws Exception {