<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri,Arial,Helvetica,sans-serif,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;">
Hi all,<br>
<br>
I try to make up my mind about what is needed and what is not.<br>
<p>1) I did not yet find a good reason to have an else clause, so I think we should start without implementing it</p>
<p>unless one can give a good example.<br>
</p>
<p><br>
</p>
<p>2) The banch now implements the syntax<br>
</p>
if (EXPR) then<br>
...<br>
end<br>
by adding the expression EXPR  to each of the rules between 'then' and 'end' . Nested if-then are allowed.<br>
This might cause confusion in the following case:<br>
<br>
<p><span style="font-family:"Courier New",monospace">if (highway=proposed)</span><br>
</p>
<span style="font-family:"Courier New",monospace">  proposed=footway {delete highway}</span><br>
<span style="font-family:"Courier New",monospace">  surface=asphalt {echotags "test" } [... ]</span><br>
<span style="font-family:"Courier New",monospace">end</span><br>
What should happen for a way with highway=proposed, proposed=footway, surface=asphalt ?<br>
<p>I'd expect that the 2nd rule with echotags is triggered, but it is not because after the interpretation of the if-then clause the rules look like this:<br>
</p>
<p><span style="font-family:"Courier New",monospace">proposed=footway & highway=proposed {delete highway}</span><br>
</p>
<span style="font-family:"Courier New",monospace">surface=asphalt & highway=proposed {echotags "test" } [... ]</span><br>
<p>and since the first rule deletes the highway tag the 2nd isn't triggered.</p>
<p><br>
</p>
My suggested interpretation was like this:<br>
<span style="font-family:"Courier New",monospace">highway=proposed {set mkgmap:if:1000=true}</span><br>
<p><span style="font-family:"Courier New",monospace">proposed=footway & mkgmap:if:1000=true {delete highw</span><span style="font-family:"Courier New",monospace">ay}</span><br>
</p>
<p><span style="font-family:"Courier New",monospace">surface=asphalt & mkgmap:if:1000=true {echotags "test" } [... ]</span></p>
<p><span style="font-family:"Courier New",monospace"><br>
</span></p>
<p><span style="font-family:"Courier New",monospace"></span></p>
<div>And I think that we should make sure that those generated special tags like <span style="font-family:"Courier New",monospace">
mkgmap:if:1000</span> are not used directly by the style author .<br>
<br>
Another option might be to disallow the modification of any tag which appears in EXPR.<br>
No idea if that would be easier to implement but I fear that it would lead to very confusing error messages.<br>
<br>
<span style="font-family:"Courier New",monospace"></span></div>
Comments?
<p></p>
<p><br>
</p>
<p>ciao,<br>
</p>
<p>Gerd<br>
</p>
<p><br>
</p>
</div>
</body>
</html>