void ReadWriteXMLCompound::WriteValue(XMLWritingMachine& writer, const TreeValue* value) const { const TreeCompound* compoundobject = static_cast<const TreeCompound*>( value ); for (size_t index = 0; index < compoundobject->NumElements(); index++) { const TreeCompoundNode* node = compoundobject->Node(index); writer.WriteValue(node->Name(), node->Value()); } }
void ReadWriteXMLList::WriteValue(XMLWritingMachine& writer, const TreeValue* value) const { const TreeList* listobject = static_cast<const TreeList*>( value ); const std::vector<TreeValue*>& value_list = listobject->ElementArray(); for (std::vector<TreeValue*>::const_iterator value_iter( value_list.begin() ); value_iter != value_list.end(); value_iter++) { writer.WriteValue(listobject->ElementName(), *value_iter); } }