--- svg-parser.pl	2010-06-18 23:09:21.941648053 +0000
+++ svg-parser-2.pl	2010-06-18 23:09:18.206898258 +0000
@@ -42,13 +42,16 @@
 	    my $s = $atts{'d'};
 	    do {
 		my @points = format_point (\$s,@m);
-		if (!defined(@bbox_pts) && ($atts{'style'} =~ m/rgb\(100%,100%,100%\)/))
+		if (!defined(@bbox_pts))
 		{
-		    @bbox_pts = minmax(@points);
+		    @bbox_pts = minmax(@points) if ($atts{'style'} =~ m/rgb\(100%,100%,100%\)/);
 		}
-		elsif (defined(@bbox_pts) && defined(@points))
+		elsif (defined(@points))
 		{
-		    $relations[$refrel] .= "$refways ";
+		    # On précède les refs associées au bâtiments sans mur par un -
+		    # rgb(100%,89.802551%,59.999084%) : sans mur
+		    # rgb(100%,79.998779%,19.999695%) : avec mur
+		    $relations[$refrel] .= (($atts{'style'} =~ m/rgb\(100%,8/) ? "-" : "") ."$refways ";
 		    new_way(@points);
 		}
 	    } while ($s =~ m/M (-?\d*\.?\d*) (-?\d*\.?\d*) L/);
@@ -163,15 +166,20 @@
     if (@relways >1) {
 	foreach $i (@relways)
 	{
-	    my $refway = -1-$i;
+	    my $j = abs $i;
+	    my $refway = -1-$j;
 	    print "<way id=\"$refway\">\n";
-	    foreach $node (split (/ /,$ways[$i]))
+	    foreach $node (split (/ /,$ways[$j]))
 	    {
 		my $ref = -1 - $node;
 		print " <nd ref=\"$ref\"/>\n";
 	    }
 	    print " <tag k=\"source\" v=\"$tag_source\"/>\n";
-	    print " <tag k=\"building\" v=\"yes\"/>\n" if ($i == $relways[0]);
+	    if ($i == $relways[0])
+	    {
+		print " <tag k=\"building\" v=\"yes\"/>\n";
+		print " <tag k=\"wall\" v=\"no\"/>\n" if ($i < 0);
+	    }
 	    print "</way>\n";
 	}
 	my $refrel = -1-$i;
@@ -191,15 +199,17 @@
     }
     else
     {
-	my $refway = -1 - $relways[0];
+	my $j = abs $relways[0];
+	my $refway = -1 - $j;
 	print "<way id=\"$refway\">\n";
-	foreach $node (split (/ /,$ways[$relways[0]]))
+	foreach $node (split (/ /,$ways[$j]))
 	{
 	    my $ref = -1 - $node;
 	    print " <nd ref=\"$ref\"/>\n";
 	}
 	print " <tag k=\"source\" v=\"$tag_source\"/>\n";
 	print " <tag k=\"building\" v=\"yes\"/>\n";
+	print " <tag k=\"wall\" v=\"no\"/>\n" if ($relways[0] < 0);
 	print "</way>\n";
     }
 }
