I have tried to use it, but it doesn't seem to work (mkgmap trunk svn version 823). I assume I'm using somehow wrong syntax and need more explanation.

a)
concerning relations I simply wrote this line to relations file to line 7:
type=route route=bus { apply { set route=bus; add rn='${route_no}' ; }}

this is what I got:
D:\Garmin\mkgmap_680>java -jar -Xmx1256M d:\garmin\mkgmap_svn\dist\mkgmap.jar --description=Osm_Mtb_Austria3 --family-id=4013 --style-file=mtbx --product-id=1 --levels=0:24,1:22,2:20,3:18,4:16,5:14,6:12,7:10 --area-name=austria3 --mapname=63240030 austria.osm
Error in style: Error: (relations:7): Invalid rule file (expr =)
Could not open style null

b)
Also multiple Tag parsing does not seem to work for me.

I added the following two lines to the beginning of the "lines" file in the style-file
highway=path & mtb=yes [0x140 resolution 16]
highway=footway & mtb=yes [0x141 resolution 16]

And created a new file called "overlays" with the following two lines:
0x140: 0x11, 0x0e
0x141: 0x2a, 0x0e

Error in style: Error: (overlays:2): List of numbers expected
Could not open style null

D:\Garmin\mkgmap_680>move 63240030.img d:\garmin\osm_austria
The system cannot find the file specified.

If in overlays there are the following lines

Line1:0x140: 0x11, 0x0e
Line2:0x141: 0x2a, 0x0e
Line3:

with Line 3 being empty, then the following error is produced:
Exception in thread "main" java.lang.NullPointerException
        at uk.me.parabola.mkgmap.general.MapDetails.addLine(MapDetails.java:70)
        at uk.me.parabola.mkgmap.osmstyle.StyledConverter$1.add(StyledConverter.java:61)
        at uk.me.parabola.mkgmap.osmstyle.OverlayReader.addLine(OverlayReader.java:106)
        at uk.me.parabola.mkgmap.osmstyle.StyleImpl$1.add(StyleImpl.java:203)
        at uk.me.parabola.mkgmap.general.NullClipper.clipLine(NullClipper.java:28)
        at uk.me.parabola.mkgmap.osmstyle.StyledConverter.addLine(StyledConverter.java:194)
        at uk.me.parabola.mkgmap.osmstyle.StyledConverter.convertWay(StyledConverter.java:100)
        at uk.me.parabola.mkgmap.reader.osm.xml.Osm5XmlHandler.endDocument(Osm5XmlHandler.java:258)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:737)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:515)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at uk.me.parabola.mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:72)
        at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:125)
        at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:44)
        at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java:146)
        at uk.me.parabola.mkgmap.CommandArgs$Filename.processArg(CommandArgs.java:360)
        at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:119)
        at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)

Steve Ratcliffe wrote:
Re: [mkgmap-dev] Relations and Multiple Tag Parsing Style Rules

Hi Felix

> 2.  Could Multiple Tag parsing be implemented into the style rules somehow?
>
> I know that I could use combinations like highway=path & mtb:scale=0 --> 0x01
> and highwway=path & mtb:scale=1 --> 0x02

> Solution: If a way has two tags that are listed in the style file, both
> should be included seperately into the image. By using a .typ file one
> can then decide how to map them. Using transparency it's easy to see at
> the same time 4-5 different tags. I.e. you have the way in the middle.

I have implemented something that I hope will do what you want to do here.
It is in the trunk version 801.

It uses the new 'overlays' file in the style.

Example:

<<<version>>>
0

<<<lines>>>
highway=path & mtb:scale=0 [ 0x140 ]
highway=path & mtb:scale=1 [ 0x141 ]

<<<overlays>>>
0x140: 0x7, 0x18
0x141: 0x7, 0x19

So for a path of scale 0, you would get two lines drawn on top
of each other with types 7 and 18.  For scale 1, 7 and 19.

You can have more than two.

The good thing is that if mkgmap ever supports large type numbers, you can
just remove the overlays file and use 0x140 and 0x141 etc directly.

.Steve
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev