dims 2003/07/02 13:51:28
Modified: java/src/org/apache/axis/utils DOM2Writer.java
java/src/org/apache/axis/encoding
SerializationContextImpl.java
Log:
Fix for Bug 21267 - deserialization adds 'xmlns:xml' namespace declaration to element
Revision Changes Path
1.16 +3 -8 xml-axis/java/src/org/apache/axis/utils/DOM2Writer.java
Index: DOM2Writer.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/DOM2Writer.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DOM2Writer.java 23 May 2003 06:44:24 -0000 1.15
+++ DOM2Writer.java 2 Jul 2003 20:51:28 -0000 1.16
@@ -62,6 +62,7 @@
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.apache.axis.Constants;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -80,12 +81,6 @@
public class DOM2Writer
{
/**
- * The namespaceURI represented by the prefix <code>xmlns</code>.
- */
- private static String NS_URI_XMLNS = "http://www.w3.org/2000/xmlns/";
- private static String NS_URI_XML = "http://www.w3.org/XML/1998/namespace";
-
- /**
* Return a string containing this node serialized as XML.
*/
public static String nodeToString(Node node, boolean omitXMLDecl)
@@ -360,8 +355,8 @@
String namespaceURI = node.getNamespaceURI();
String prefix = node.getPrefix();
- if (!(namespaceURI.equals(NS_URI_XMLNS) && prefix.equals("xmlns")) &&
- !(namespaceURI.equals(NS_URI_XML) && prefix.equals("xml")))
+ if (!(namespaceURI.equals(Constants.NS_URI_XMLNS) &&
prefix.equals("xmlns")) &&
+ !(namespaceURI.equals(Constants.NS_URI_XML) && prefix.equals("xml")))
{
if (XMLUtils.getNamespace(prefix, owner) == null)
{
1.95 +15 -11
xml-axis/java/src/org/apache/axis/encoding/SerializationContextImpl.java
Index: SerializationContextImpl.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/SerializationContextImpl.java,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- SerializationContextImpl.java 30 Jun 2003 18:25:06 -0000 1.94
+++ SerializationContextImpl.java 2 Jul 2003 20:51:28 -0000 1.95
@@ -969,17 +969,21 @@
nsStack.push();
} else {
for (Mapping map=nsStack.topOfFrame(); map!=null; map=nsStack.next()) {
- StringBuffer sb = new StringBuffer("xmlns");
- if (map.getPrefix().length() > 0) {
- sb.append(':');
- sb.append(map.getPrefix());
- }
- if ((vecQNames==null) || (vecQNames.indexOf(sb.toString())==-1)) {
- writer.write(' ');
- sb.append("=\"");
- sb.append(map.getNamespaceURI());
- sb.append('"');
- writer.write(sb.toString());
+ if (!(map.getNamespaceURI().equals(Constants.NS_URI_XMLNS) &&
map.getPrefix().equals("xmlns")) &&
+ !(map.getNamespaceURI().equals(Constants.NS_URI_XML) &&
map.getPrefix().equals("xml")))
+ {
+ StringBuffer sb = new StringBuffer("xmlns");
+ if (map.getPrefix().length() > 0) {
+ sb.append(':');
+ sb.append(map.getPrefix());
+ }
+ if ((vecQNames==null) ||
(vecQNames.indexOf(sb.toString())==-1)) {
+ writer.write(' ');
+ sb.append("=\"");
+ sb.append(map.getNamespaceURI());
+ sb.append('"');
+ writer.write(sb.toString());
+ }
}
}