
On Thu, Apr 02, 2009 at 10:00:24AM +0300, Marko Mäkelä wrote:
I think that the splitting of the node should be made explicit in the style file. Then, some special cases could still be handled differently. Something like this:
amenity=fuel;shop [ 0x2e06 resolution 19 ] amenity=fuel;* { split amenity=fuel, amenity=+5 }
The syntax is just a suggestion.
On a second thought, the +5 is a bad idea because of multi-byte characters and character set conversions (e.g., latin1 is 1 or 2 bytes per character in UTF-8 but 1 byte per charater in latin1). Come to think of it, the * on the right-hand-side could expand to what the * matched on the left-hand-side: amenity=fuel;* { split amenity=fuel, amenity=* } This would also allow you to say amenity=shop;*;fuel { split amenity=fuel;shop, amenity=* } amenity=*;fuel { split amenity=fuel, amenity=* } just to name crazy examples. I don't think that it's necessary to have the split operator create more than two nodes, but that could be done too. For simplicity, I'd limit it to one * on the left-hand-side, though. (Sorry that I'm just throwing ideas and not writing any code.) Marko