From 99f8f7299ee5713d845e7bfa84b41db2ef3dfadb Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Fri, 21 Dec 2007 01:40:28 +0000 Subject: [PATCH] Working on JAXP 1.4 support. --- .../org/springframework/xml/dom/DomContentHandler.java | 7 +++++-- .../org/springframework/xml/dom/DomContentHandlerTest.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) 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 {