# HG changeset patch # User František Kučera # Date 1623347991 -7200 # Node ID c97b6152016aa6b74718d73b690aa421d76d5854 # Parent b11458587f200e7ffda479996da7a852a95a0e6d nested maps diff -r b11458587f20 -r c97b6152016a src/XMLDocumentConstructor.h --- a/src/XMLDocumentConstructor.h Thu Jun 10 01:23:36 2021 +0200 +++ b/src/XMLDocumentConstructor.h Thu Jun 10 19:59:51 2021 +0200 @@ -151,10 +151,8 @@ void mapStart(ssize_t size) { if (mode.back() == Mode::ROOT) { - current->set_attribute("value-type", "map"); } else if (mode.back() == Mode::ARRAY) { current = current->add_child(nameCodec.encode(itemName)); - current->set_attribute("value-type", "map"); } else if (mode.back() == Mode::MAP_VALUE) { mode.pop_back(); // TODO: remainingItems @@ -163,6 +161,8 @@ // …probably not } + current->set_attribute("value-type", "map"); + mode.push_back(Mode::MAP_KEY); remainingItems.push_back(size); writeCurrentTag(current);