diff -r 115609d6fff5 schema2beans/src/org/netbeans/modules/schema2beans/DOMBinding.java --- a/schema2beans/src/org/netbeans/modules/schema2beans/DOMBinding.java Fri Feb 04 10:50:47 2011 -0800 +++ b/schema2beans/src/org/netbeans/modules/schema2beans/DOMBinding.java Mon Feb 07 13:41:10 2011 +0100 @@ -861,6 +861,7 @@ Node parent = prop.getParentNode(); this.node = f.createElement(prop); + configureNS(node, parent); if (DDLogFlags.debug) { TraceLogger.put(TraceLogger.DEBUG, TraceLogger.SVC_DD, @@ -902,6 +903,7 @@ NodeFactory f = prop.getNodeFactory(); if (node == null) { node = f.createElement(prop); + configureNS(node, parent); Node sibling = prop.getFollowingSibling(this); parent.insertBefore(this.node, sibling); } @@ -943,7 +945,8 @@ if (this.node == null) { Node parent = prop.getParentNode(); this.node = f.createElement(prop); - + configureNS(node, parent); + if (DDLogFlags.debug) { TraceLogger.put(TraceLogger.DEBUG, TraceLogger.SVC_DD, @@ -1002,6 +1005,17 @@ boolean hasDomNode() { return (this.node != null); } + + private static void configureNS(Node node, Node parent) { + Document doc = parent.getOwnerDocument(); + if (parent.getNamespaceURI() != null && parent.getNamespaceURI().equals(node.getNamespaceURI())) { + node.setPrefix(parent.getPrefix()); + } else if (parent.getNamespaceURI() != null + && node instanceof Element + && doc.getDocumentElement().getNamespaceURI() != null) { + ((Element) node).setAttribute("xmlns", doc.getDocumentElement().getNamespaceURI()); // NOI18N + } + } } diff -r 115609d6fff5 schema2beans/src/org/netbeans/modules/schema2beans/GraphManager.java --- a/schema2beans/src/org/netbeans/modules/schema2beans/GraphManager.java Fri Feb 04 10:50:47 2011 -0800 +++ b/schema2beans/src/org/netbeans/modules/schema2beans/GraphManager.java Mon Feb 07 13:41:10 2011 +0100 @@ -210,7 +210,7 @@ Node n; for (n = doc.getFirstChild(); n != null; n = n.getNextSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE - && n.getNodeName().equals(name)) { + && (name.equals(n.getNodeName()) || name.equals(n.getLocalName()))) { break; } } @@ -506,7 +506,10 @@ Map dupDtdNameIterators = new HashMap(); // Map> for (Node n = node.getFirstChild(); n != null; n = n.getNextSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE) { - String eltName = n.getNodeName(); + String eltName = n.getLocalName(); + if (eltName == null) { + eltName = n.getNodeName(); + } //System.out.println("eltName="+eltName); BeanProp matchingProp = (BeanProp) dtdName2Prop.get(eltName); diff -r 115609d6fff5 schema2beans/src/org/netbeans/modules/schema2beans/NodeFactory.java --- a/schema2beans/src/org/netbeans/modules/schema2beans/NodeFactory.java Fri Feb 04 10:50:47 2011 -0800 +++ b/schema2beans/src/org/netbeans/modules/schema2beans/NodeFactory.java Mon Feb 07 13:41:10 2011 +0100 @@ -61,7 +61,11 @@ } Node createElement(BeanProp prop) { - return this.factory.createElement(prop.getDtdName()); + String ns = factory.getDocumentElement().getNamespaceURI(); + if (ns != null) { + return this.factory.createElementNS(ns, prop.getDtdName()); + } + return this.factory.createElement(prop.getDtdName()); } Node createText() {