There's a description how to import multipolygon relations and handle all the edge cases that occur in real-world data in the osm wiki: Relation:multipolygon/Algorithm. Our parser (in OsmRelation.cpp) still needs some extensions to handle the remaining edge cases.
Description
Description
Related Objects
Related Objects