
It would be great if we could print a message saying "outer polygon does not contain one or more inner polygons; should some outer and inner roles be swapped?"
Yep, I just have to think about how to code that. The idea to check if an outer polygon does not contain any inner polygon is a good starting point (sounds very simple but simple is good :-). Additionally I could check if the outer polygon is contained by an inner polygon that is not contained by an outer polgon. So we can swap the rule and say: Check all inner polygons that are not contained by an outer polygon and complain about that. Sounds good and too difficult to implement :-)
By the way, should we complain if there appear to be multiple outer polygons? I know that the outer polygon can consist of multiple role=outer lines (such as long coastlines split to 500 nodes each), but can there legitimately be multiple outer polygons? Hmm yes, thinking about administrative borders, such as Russia+Kaliningrad (Königsberg), Denmark+Greenland, or from the past West Germany + West Berlin.
It is defined in the description of the multipolygon relation (http://wiki.openstreetmap.org/wiki/Relation:multipolygon) that multiple outer polygons are allowed. And from my point of view it doesn't harm anything. WanMil