#!/usr/bin/perl
$in_way=0;
$way_id=0;
$relinfo='';

while (<>) {
    if (!$in_way && /<way .*id=['"](.*)['"]/) {
	$in_way=1;
	$way_id=$1;
	print $_;
    } elsif ($in_way && /<tag .*k=['"](.*)['"]/) {
	$tag=$1;
	print $_ if $tag =~ /(source|boundary|admin_level)/;
	$relinfo .= $_ unless $tag =~ /source/;
    } elsif ($in_way && /<\/way>/) {
	$in_way=0;
	print $_;
	$rel_id=$way_id+1;
	print "  <relation id='$rel_id' visible='true'>\n";
	print "    <member type='way' ref='$way_id' role='outer' />\n";
	print "    <tag k='type' v='multipolygon' />\n";
	print $relinfo;
	print "  </relation>\n";
	$relinfo = '';
    } else {
	print $_;
    }
}
