Fix AnyXmlNode root element namespace/attribute forwarding 17/81417/3
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 6 Apr 2019 15:36:26 +0000 (17:36 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 6 Apr 2019 16:00:47 +0000 (18:00 +0200)
Even if we do not forward the START_ELEMENT event, we need to take
care of forwarding namespace/attributes.

JIRA: YANGTOOLS-497
Change-Id: I7f7586220e321e8ea3395eeebc4995579ca83747
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/StreamWriterFacade.java

index 8b521ef6b259fa8231b4f1b0d69610d3481c0801..22d9a4e2917957bbfa1dd56050b03cc6a62b1655 100644 (file)
@@ -166,6 +166,9 @@ final class StreamWriterFacade extends ValueWriter {
                 case XMLStreamConstants.START_ELEMENT:
                     if (depth != 0) {
                         forwardStartElement(reader);
+                    } else {
+                        forwardNamespaces(reader);
+                        forwardAttributes(reader);
                     }
                     ++depth;
                     break;
@@ -223,7 +226,7 @@ final class StreamWriterFacade extends ValueWriter {
     }
 
     private void forwardAttributes(final DOMSourceXMLStreamReader reader) throws XMLStreamException {
-        for (int i = 0; i < reader.getAttributeCount(); ++i) {
+        for (int i = 0, count = reader.getAttributeCount(); i < count; ++i) {
             final String localName = reader.getAttributeLocalName(i);
             final String value = reader.getAttributeValue(i);
             final String prefix = reader.getAttributePrefix(i);