Bug 8745: Add support for parsing attributes to the new XML parser
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / ContainerNodeDataWithSchema.java
index 3ebc481d2119079d86e549c033d9fca425f7a620..623199c090b9ddc9f3c22dbff84cf09e5610bd41 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.data.util;
 
 import java.io.IOException;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamAttributeWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 
@@ -27,7 +28,14 @@ public class ContainerNodeDataWithSchema extends CompositeNodeDataWithSchema {
     @Override
     public void write(final NormalizedNodeStreamWriter writer) throws IOException {
         writer.nextDataSchemaNode(getSchema());
-        writer.startContainerNode(provideNodeIdentifier(), childSizeHint());
+
+        if (writer instanceof NormalizedNodeStreamAttributeWriter && getAttributes() != null) {
+            ((NormalizedNodeStreamAttributeWriter) writer).startContainerNode(provideNodeIdentifier(), childSizeHint(),
+                    getAttributes());
+        } else {
+            writer.startContainerNode(provideNodeIdentifier(), childSizeHint());
+        }
+
         super.write(writer);
         writer.endNode();
     }