Yes, exactly. I as the author of the not-contained filter confirm that you need all 3 alternatives in your rule. The expression you were missing ('$(route_ref1)') matches if route_ref1 is already present on the way but the relation being currently processed has ref already found and proccessed before. If '$(route_ref1)' is missing in such a situation, the rule would mean actually: set route_ref1 = '${ref}'.
So with your sequence 362, 363, 3, 3 that would imply that after processing the first three numbers, your route_ref1 looks like '362, 363, 3'. But when '3' is being found for the second time, route_ref1 is reassigned to just 3.
 
If the rule is complete (with all 3 alternatives), then while processing the last '3', the rule is reduced to: set route_ref1 = '$(route_ref1)', so it remains as it was before and could be processed further.
 
Just a little bit explanation, why it works this way ;-)
 
Max
 
Gesendet: Donnerstag, 14. Dezember 2017 um 20:25 Uhr
Von: "demon.box" <e.rossini73@alice.it>
An: mkgmap-dev@lists.mkgmap.org.uk
Betreff: Re: [mkgmap-dev] expression not-contained
Hi Gerd, finally I understand!

The problem it's not the blank but my code:

This don't work:
set route_ref1='$(route_ref1), ${ref|not-contained:, :route_ref1}' |
'${ref}';

This work perfectly (also with blank):
set route_ref1='$(route_ref1), ${ref|not-contained:, :route_ref1}' |
'$(route_ref1)' | '${ref}';

Thanks very, very, very much ;-)

--enrico





--
Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev