Changeset 706 in josm for trunk/styles


Ignore:
Timestamp:
2008-07-12T19:11:25+02:00 (16 years ago)
Author:
(none)
Message:

first version of overview stylesheet that produces really usable output - still needs some more work though

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/styles/standard/overview.xsl

    r705 r706  
    1414
    1515
    16 <xsl:variable name="xscale">20</xsl:variable>
     16<xsl:variable name="column-width">2</xsl:variable>
     17<xsl:variable name="xscale">10</xsl:variable>
    1718<xsl:variable name="yscale">10</xsl:variable>
     19<xsl:variable name="areaoffset">4</xsl:variable>
     20
     21
     22<xsl:template name="node-attributes">
     23        <xsl:param name="id" />
     24        <xsl:param name="x" />
     25        <xsl:param name="y" />
     26
     27       
     28        <xsl:variable name="lon">
     29                <xsl:choose>
     30                        <xsl:when test="$x &gt;= 1000"><xsl:value-of select="$x" /></xsl:when>
     31                        <xsl:when test="$x &gt;= 100">0<xsl:value-of select="$x" /></xsl:when>
     32                        <xsl:when test="$x &gt;= 10">00<xsl:value-of select="$x" /></xsl:when>
     33                        <xsl:otherwise>000<xsl:value-of select="$x" /></xsl:otherwise>
     34                </xsl:choose>
     35        </xsl:variable>
     36
     37        <xsl:variable name="lat">
     38                <xsl:choose>
     39                        <xsl:when test="$y &gt;= 1000"><xsl:value-of select="$y" /></xsl:when>
     40                        <xsl:when test="$y &gt;= 100">0<xsl:value-of select="$y" /></xsl:when>
     41                        <xsl:when test="$y &gt;= 10">00<xsl:value-of select="$y" /></xsl:when>
     42                        <xsl:otherwise>000<xsl:value-of select="$y" /></xsl:otherwise>
     43                </xsl:choose>
     44        </xsl:variable>
     45       
     46
     47        <xsl:attribute name="id"><xsl:value-of select="$id" /></xsl:attribute>
     48        <xsl:attribute name="user">overview-creator</xsl:attribute>
     49        <xsl:attribute name="visible">true</xsl:attribute>
     50        <xsl:attribute name="lat">-0.0<xsl:value-of select="$lat" /></xsl:attribute>
     51        <xsl:attribute name="lon">0.0<xsl:value-of select="$lon" /></xsl:attribute>
     52
     53        <!-- debugging
     54        <xsl:element name="tag">
     55                <xsl:attribute name="k">x</xsl:attribute>
     56                <xsl:attribute name="v"><xsl:value-of select="$x" /></xsl:attribute>
     57        </xsl:element>
     58       
     59        <xsl:element name="tag">
     60                <xsl:attribute name="k">y</xsl:attribute>
     61                <xsl:attribute name="v"><xsl:value-of select="$y" /></xsl:attribute>
     62        </xsl:element>
     63        -->
     64
     65        <!-- debugging
     66        <xsl:element name="tag">
     67                <xsl:attribute name="k">lat</xsl:attribute>
     68                <xsl:attribute name="v"><xsl:value-of select="$lat" /></xsl:attribute>
     69        </xsl:element>
     70       
     71        <xsl:element name="tag">
     72                <xsl:attribute name="k">lon</xsl:attribute>
     73                <xsl:attribute name="v"><xsl:value-of select="$lon" /></xsl:attribute>
     74        </xsl:element>
     75        -->
     76       
     77</xsl:template>
    1878
    1979       
    2080       
    2181<xsl:template name="rule">
    22         <xsl:param name="inpos" />
     82        <xsl:param name="index" />
    2383        <xsl:param name="xpos" />
    2484        <xsl:param name="ypos" />
    2585
    2686       
    27         <xsl:variable name="xoutpos">
    28                 <xsl:choose>
    29                         <xsl:when test="$xpos &gt;= 100"><xsl:value-of select="$xpos" /></xsl:when>
    30                         <xsl:when test="$xpos &gt;= 10">0<xsl:value-of select="$xpos" /></xsl:when>
    31                         <xsl:otherwise>00<xsl:value-of select="$xpos" /></xsl:otherwise>
    32                 </xsl:choose>
    33         </xsl:variable>
    34        
    35         <xsl:variable name="youtpos">
    36                 <xsl:choose>
    37                         <xsl:when test="$ypos &gt;= 100"><xsl:value-of select="$ypos" /></xsl:when>
    38                         <xsl:when test="$ypos &gt;= 10">0<xsl:value-of select="$ypos" /></xsl:when>
    39                         <xsl:otherwise>00<xsl:value-of select="$ypos" /></xsl:otherwise>
    40                 </xsl:choose>
    41         </xsl:variable>
    42        
     87        <xsl:variable name="xoffset"><xsl:value-of select="number( ($xpos) * ($xscale + $column-width*$xscale) )" /></xsl:variable>
     88        <xsl:variable name="yoffset"><xsl:value-of select="number($ypos*$yscale)" /></xsl:variable>
     89        <xsl:variable name="idbase"><xsl:value-of select="number($xpos * 20000 + $ypos * 200)" /></xsl:variable>
     90
     91       
     92
     93        <!-- ICON example -->
    4394        <xsl:element name="node">
    44                 <xsl:attribute name="id">-<xsl:value-of select="$xpos" />000<xsl:value-of select="$ypos" /></xsl:attribute>
     95                <xsl:call-template name="node-attributes">
     96                        <xsl:with-param name="id" select="-number($idbase + 0)"/>
     97                        <xsl:with-param name="x" select="number( 0*$xscale + $xoffset )"/>
     98                        <xsl:with-param name="y" select="$yoffset"/>
     99                </xsl:call-template>
     100
     101                <xsl:element name="tag">
     102                        <xsl:attribute name="k"><xsl:value-of select = "rule[$index]/condition/@k" /></xsl:attribute>
     103                        <xsl:attribute name="v"><xsl:value-of select = "rule[$index]/condition/@v" /></xsl:attribute>
     104                </xsl:element>
     105                <xsl:element name="tag">
     106                        <xsl:attribute name="k">name</xsl:attribute>
     107                        <xsl:attribute name="v"><xsl:value-of select = "rule[$index]/condition/@v" /></xsl:attribute>
     108                </xsl:element>
     109        </xsl:element>
     110
     111
     112        <!-- AREA / LINE example -->
     113       
     114        <xsl:element name="node">
     115                <xsl:call-template name="node-attributes">
     116                        <xsl:with-param name="id" select="-number($idbase + 1)"/>
     117                        <xsl:with-param name="x" select="number($xoffset - $areaoffset)"/>
     118                        <xsl:with-param name="y" select="number($yoffset - $areaoffset)"/>
     119                </xsl:call-template>
     120                <xsl:element name="tag">
     121                        <xsl:attribute name="k">pos</xsl:attribute>
     122                        <xsl:attribute name="v">nw</xsl:attribute>
     123                </xsl:element>
     124        </xsl:element>
     125       
     126        <xsl:element name="node">
     127                <xsl:call-template name="node-attributes">
     128                        <xsl:with-param name="id" select="-number($idbase + 2)"/>
     129                        <xsl:with-param name="x" select="number($xoffset + $areaoffset + 2*$xscale)"/>
     130                        <xsl:with-param name="y" select="number($yoffset - $areaoffset)"/>
     131                </xsl:call-template>
     132                <xsl:element name="tag">
     133                        <xsl:attribute name="k">pos</xsl:attribute>
     134                        <xsl:attribute name="v">ne</xsl:attribute>
     135                </xsl:element>
     136        </xsl:element>
     137       
     138        <xsl:element name="node">
     139                <xsl:call-template name="node-attributes">
     140                        <xsl:with-param name="id" select="-number($idbase + 3)"/>
     141                        <xsl:with-param name="x" select="number($xoffset + $areaoffset + 2*$xscale)"/>
     142                        <xsl:with-param name="y" select="number($yoffset + $areaoffset)"/>
     143                </xsl:call-template>
     144                <xsl:element name="tag">
     145                        <xsl:attribute name="k">pos</xsl:attribute>
     146                        <xsl:attribute name="v">se</xsl:attribute>
     147                </xsl:element>
     148        </xsl:element>
     149       
     150        <xsl:element name="node">
     151                <xsl:call-template name="node-attributes">
     152                        <xsl:with-param name="id" select="-number($idbase + 4)"/>
     153                        <xsl:with-param name="x" select="number($xoffset - $areaoffset)"/>
     154                        <xsl:with-param name="y" select="number($yoffset + $areaoffset)"/>
     155                </xsl:call-template>
     156                <xsl:element name="tag">
     157                        <xsl:attribute name="k">pos</xsl:attribute>
     158                        <xsl:attribute name="v">sw</xsl:attribute>
     159                </xsl:element>
     160        </xsl:element>
     161       
     162       
     163        <xsl:element name="way">
     164                <xsl:attribute name="id"><xsl:value-of select="-number($idbase + 4)" /></xsl:attribute>
    45165                <xsl:attribute name="user">overview-creator</xsl:attribute>
    46166                <xsl:attribute name="visible">true</xsl:attribute>
    47                 <xsl:attribute name="lat">-0.0<xsl:value-of select="$youtpos" /></xsl:attribute>
    48                 <xsl:attribute name="lon">0.0<xsl:value-of select="$xoutpos" /></xsl:attribute>
    49 
    50                 <xsl:element name="tag">
    51                         <xsl:attribute name="k"><xsl:value-of select = "rule[$inpos]/condition/@k" /></xsl:attribute>
    52                         <xsl:attribute name="v"><xsl:value-of select = "rule[$inpos]/condition/@v" /></xsl:attribute>
     167
     168                <xsl:element name="nd">
     169                        <xsl:attribute name="ref"><xsl:value-of select = "-number($idbase + 1)" /></xsl:attribute>
     170                </xsl:element>
     171                <xsl:element name="nd">
     172                        <xsl:attribute name="ref"><xsl:value-of select = "-number($idbase + 2)" /></xsl:attribute>
     173                </xsl:element>
     174                <xsl:element name="nd">
     175                        <xsl:attribute name="ref"><xsl:value-of select = "-number($idbase + 3)" /></xsl:attribute>
     176                </xsl:element>
     177                <xsl:element name="nd">
     178                        <xsl:attribute name="ref"><xsl:value-of select = "-number($idbase + 4)" /></xsl:attribute>
     179                </xsl:element>
     180                <xsl:element name="nd">
     181                        <xsl:attribute name="ref"><xsl:value-of select = "-number($idbase + 1)" /></xsl:attribute>
     182                </xsl:element>
     183               
     184                <xsl:element name="tag">
     185                        <xsl:attribute name="k"><xsl:value-of select = "rule[$index]/condition/@k" /></xsl:attribute>
     186                        <xsl:attribute name="v"><xsl:value-of select = "rule[$index]/condition/@v" /></xsl:attribute>
    53187                </xsl:element>
    54188                <xsl:element name="tag">
    55189                        <xsl:attribute name="k">name</xsl:attribute>
    56                         <xsl:attribute name="v"><xsl:value-of select = "rule[$inpos]/condition/@v" /></xsl:attribute>
     190                        <xsl:attribute name="v"><xsl:value-of select = "rule[$index]/condition/@v" /></xsl:attribute>
    57191                </xsl:element>
    58192        </xsl:element>
     
    63197
    64198        <xsl:param name="key"/>
    65         <xsl:param name="inpos"/>
     199        <xsl:param name="index"/>
    66200        <xsl:param name="xpos"/>
    67201        <xsl:param name="ypos"/>
    68202       
    69         <xsl:if test="rule[$inpos]/condition/@k=$key">
     203        <xsl:if test="rule[$index]/condition/@k=$key">
    70204                <xsl:call-template name="rule">
    71                         <xsl:with-param name="inpos" select="$inpos"/>
     205                        <xsl:with-param name="index" select="$index"/>
    72206                        <xsl:with-param name="xpos" select="$xpos"/>
    73207                        <xsl:with-param name="ypos" select="$ypos"/>
    74208                </xsl:call-template>
    75209
    76                 <!-- recursive call - increasing in- and output counters -->
     210                <xsl:choose>
     211                        <xsl:when test="$ypos &lt; 44">
     212                                <!-- recursive call - increasing index and output counters -->
     213                            <xsl:call-template name="posed_rules">
     214                                        <xsl:with-param name="key" select="$key"/>
     215                                        <xsl:with-param name="index" select="$index + 1"/>
     216                                        <xsl:with-param name="xpos" select="$xpos"/>
     217                                        <xsl:with-param name="ypos" select="$ypos + 1"/>
     218                            </xsl:call-template>
     219                        </xsl:when>
     220                        <xsl:otherwise>
     221                                <!-- recursive call - increasing index and output counters -->
     222                            <xsl:call-template name="posed_rules">
     223                                        <xsl:with-param name="key" select="$key"/>
     224                                        <xsl:with-param name="index" select="$index + 1"/>
     225                                        <xsl:with-param name="xpos" select="$xpos + 1"/>
     226                                        <xsl:with-param name="ypos" select="35"/>
     227                            </xsl:call-template>
     228                        </xsl:otherwise>
     229                </xsl:choose>
     230        </xsl:if>
     231
     232        <xsl:if test="rule[$index]/condition/@k!=$key">
     233                <!-- recursive call - only increasing the index counter -->
    77234            <xsl:call-template name="posed_rules">
    78235                        <xsl:with-param name="key" select="$key"/>
    79                         <xsl:with-param name="inpos" select="$inpos + 1"/>
    80                         <xsl:with-param name="xpos" select="$xpos"/>
    81                         <xsl:with-param name="ypos" select="$ypos + $yscale"/>
    82             </xsl:call-template>
    83         </xsl:if>
    84 
    85         <xsl:if test="rule[$inpos]/condition/@k!=$key">
    86                 <!-- recursive call - only increasing the in-counter -->
    87             <xsl:call-template name="posed_rules">
    88                         <xsl:with-param name="key" select="$key"/>
    89                         <xsl:with-param name="inpos" select="$inpos + 1"/>
     236                        <xsl:with-param name="index" select="$index + 1"/>
    90237                        <xsl:with-param name="xpos" select="$xpos"/>
    91238                        <xsl:with-param name="ypos" select="$ypos"/>
     
    96243
    97244
    98 <xsl:template name="key_rules">
     245<xsl:template name="topic">
     246
    99247        <xsl:param name="key"/>
    100         <xsl:param name="xpos"/>
    101 
    102 
    103         <xsl:variable name="xoffset"><xsl:value-of select="number($xpos*$xscale)" /></xsl:variable>
     248        <xsl:param name="row"/>
     249        <xsl:param name="column"/>
     250
     251
     252        <xsl:variable name="xoffset"><xsl:value-of select="number( ($column) * ($xscale + $column-width*$xscale) )" /></xsl:variable>
     253        <xsl:variable name="yoffset"><xsl:value-of select="number($row*$yscale)" /></xsl:variable>
     254        <xsl:variable name="idbase"><xsl:value-of select="number($column * 20000 + $row * 200)" /></xsl:variable>
    104255
    105256       
    106257        <!-- header item -->
    107         <xsl:variable name="xoutpos">
    108                 <xsl:choose>
    109                         <xsl:when test="$xoffset &gt;= 100"><xsl:value-of select="$xoffset" /></xsl:when>
    110                         <xsl:when test="$xoffset &gt;= 10">0<xsl:value-of select="$xoffset" /></xsl:when>
    111                         <xsl:otherwise>00<xsl:value-of select="$xoffset" /></xsl:otherwise>
    112                 </xsl:choose>
    113         </xsl:variable>
    114        
    115258        <xsl:element name="node">
    116                 <xsl:attribute name="id">-<xsl:value-of select="$xoffset" />0000</xsl:attribute>
    117                 <xsl:attribute name="user">overview-creator</xsl:attribute>
    118                 <xsl:attribute name="visible">true</xsl:attribute>
    119                 <xsl:attribute name="lat">-0.0</xsl:attribute>
    120                 <xsl:attribute name="lon">0.0<xsl:value-of select="$xoutpos" /></xsl:attribute>
     259                <xsl:call-template name="node-attributes">
     260                        <xsl:with-param name="id" select="-number($idbase)"/>
     261                        <xsl:with-param name="x" select="number($xoffset)"/>
     262                        <xsl:with-param name="y" select="number($yoffset)"/>
     263                </xsl:call-template>
    121264               
    122265                <xsl:element name="tag">
    123266                        <xsl:attribute name="k"><xsl:value-of select = "'tourism'" /></xsl:attribute>
    124                         <xsl:attribute name="v"><xsl:value-of select = "'attraction'" /></xsl:attribute>
     267                        <xsl:attribute name="v"><xsl:value-of select = "'information'" /></xsl:attribute>
    125268                </xsl:element>
    126269                <xsl:element name="tag">
     
    133276    <xsl:call-template name="posed_rules">
    134277                <xsl:with-param name="key" select="$key"/>
    135                 <xsl:with-param name="inpos" select="1"/>
    136                 <xsl:with-param name="xpos" select="$xoffset"/>
    137                 <xsl:with-param name="ypos" select="$yscale"/>
     278                <xsl:with-param name="index" select="1"/>
     279                <xsl:with-param name="xpos" select="$column"/>
     280                <xsl:with-param name="ypos" select="number($row + 1)"/>
    138281    </xsl:call-template>
    139282</xsl:template>
     
    142285<xsl:template match="rules">
    143286
     287        <xsl:comment>DO NOT EDIT! THIS FILE IS GENERATED!!!</xsl:comment>
    144288        <xsl:element name="osm">
    145289        <xsl:attribute name="version">0.5</xsl:attribute>
     
    147291       
    148292       
    149     <xsl:call-template name="key_rules">
     293    <xsl:call-template name="topic">
    150294                <xsl:with-param name="key" select="'highway'"/>
    151                 <xsl:with-param name="xpos" select="1"/>
    152     </xsl:call-template>
    153        
    154     <xsl:call-template name="key_rules">
     295                <xsl:with-param name="column" select="1"/>
     296                <xsl:with-param name="row" select="1"/>
     297    </xsl:call-template>
     298
     299    <xsl:call-template name="topic">
    155300                <xsl:with-param name="key" select="'cycleway'"/>
    156                 <xsl:with-param name="xpos" select="2"/>
    157     </xsl:call-template>
    158        
    159     <xsl:call-template name="key_rules">
     301                <xsl:with-param name="column" select="2"/>
     302                <xsl:with-param name="row" select="1"/>
     303    </xsl:call-template>       
     304    <xsl:call-template name="topic">
    160305                <xsl:with-param name="key" select="'tracktype'"/>
    161                 <xsl:with-param name="xpos" select="3"/>
    162     </xsl:call-template>
    163        
    164     <xsl:call-template name="key_rules">
     306                <xsl:with-param name="column" select="2"/>
     307                <xsl:with-param name="row" select="10"/>
     308    </xsl:call-template>
     309    <xsl:call-template name="topic">
     310                <xsl:with-param name="key" select="'surface'"/>
     311                <xsl:with-param name="column" select="2"/>
     312                <xsl:with-param name="row" select="15"/>
     313    </xsl:call-template>
     314    <xsl:call-template name="topic">
     315                <xsl:with-param name="key" select="'abutters'"/>
     316                <xsl:with-param name="column" select="2"/>
     317                <xsl:with-param name="row" select="20"/>
     318    </xsl:call-template>
     319    <xsl:call-template name="topic">
     320                <xsl:with-param name="key" select="'bridge'"/>
     321                <xsl:with-param name="column" select="2"/>
     322                <xsl:with-param name="row" select="22"/>
     323    </xsl:call-template>
     324    <xsl:call-template name="topic">
     325                <xsl:with-param name="key" select="'tunnel'"/>
     326                <xsl:with-param name="column" select="2"/>
     327                <xsl:with-param name="row" select="24"/>
     328    </xsl:call-template>
     329    <xsl:call-template name="topic">
     330                <xsl:with-param name="key" select="'mountain_pass'"/>
     331                <xsl:with-param name="column" select="2"/>
     332                <xsl:with-param name="row" select="26"/>
     333    </xsl:call-template>
     334    <xsl:call-template name="topic">
     335                <xsl:with-param name="key" select="'junction'"/>
     336                <xsl:with-param name="column" select="2"/>
     337                <xsl:with-param name="row" select="28"/>
     338    </xsl:call-template>
     339    <xsl:call-template name="topic">
     340                <xsl:with-param name="key" select="'route'"/>
     341                <xsl:with-param name="column" select="2"/>
     342                <xsl:with-param name="row" select="35"/>
     343    </xsl:call-template>
     344       
     345    <xsl:call-template name="topic">
     346                <xsl:with-param name="key" select="'access'"/>
     347                <xsl:with-param name="column" select="3"/>
     348                <xsl:with-param name="row" select="1"/>
     349    </xsl:call-template>
     350    <xsl:call-template name="topic">
     351                <xsl:with-param name="key" select="'bicycle'"/>
     352                <xsl:with-param name="column" select="3"/>
     353                <xsl:with-param name="row" select="3"/>
     354    </xsl:call-template>
     355    <xsl:call-template name="topic">
     356                <xsl:with-param name="key" select="'foot'"/>
     357                <xsl:with-param name="column" select="3"/>
     358                <xsl:with-param name="row" select="5"/>
     359    </xsl:call-template>
     360    <xsl:call-template name="topic">
     361                <xsl:with-param name="key" select="'goods'"/>
     362                <xsl:with-param name="column" select="3"/>
     363                <xsl:with-param name="row" select="7"/>
     364    </xsl:call-template>
     365    <xsl:call-template name="topic">
     366                <xsl:with-param name="key" select="'hgv'"/>
     367                <xsl:with-param name="column" select="3"/>
     368                <xsl:with-param name="row" select="9"/>
     369    </xsl:call-template>
     370    <xsl:call-template name="topic">
     371                <xsl:with-param name="key" select="'horse'"/>
     372                <xsl:with-param name="column" select="3"/>
     373                <xsl:with-param name="row" select="11"/>
     374    </xsl:call-template>
     375    <xsl:call-template name="topic">
     376                <xsl:with-param name="key" select="'motorcycle'"/>
     377                <xsl:with-param name="column" select="3"/>
     378                <xsl:with-param name="row" select="13"/>
     379    </xsl:call-template>
     380    <xsl:call-template name="topic">
     381                <xsl:with-param name="key" select="'motorcar'"/>
     382                <xsl:with-param name="column" select="3"/>
     383                <xsl:with-param name="row" select="15"/>
     384    </xsl:call-template>
     385    <xsl:call-template name="topic">
     386                <xsl:with-param name="key" select="'psv'"/>
     387                <xsl:with-param name="column" select="3"/>
     388                <xsl:with-param name="row" select="17"/>
     389    </xsl:call-template>
     390    <xsl:call-template name="topic">
     391                <xsl:with-param name="key" select="'motorboat'"/>
     392                <xsl:with-param name="column" select="3"/>
     393                <xsl:with-param name="row" select="19"/>
     394    </xsl:call-template>
     395    <xsl:call-template name="topic">
     396                <xsl:with-param name="key" select="'boat'"/>
     397                <xsl:with-param name="column" select="3"/>
     398                <xsl:with-param name="row" select="21"/>
     399    </xsl:call-template>
     400        <xsl:call-template name="topic">
     401                <xsl:with-param name="key" select="'oneway'"/>
     402                <xsl:with-param name="column" select="3"/>
     403                <xsl:with-param name="row" select="23"/>
     404    </xsl:call-template>
     405        <xsl:call-template name="topic">
     406                <xsl:with-param name="key" select="'noexit'"/>
     407                <xsl:with-param name="column" select="3"/>
     408                <xsl:with-param name="row" select="25"/>
     409    </xsl:call-template>
     410        <xsl:call-template name="topic">
     411                <xsl:with-param name="key" select="'maxweight'"/>
     412                <xsl:with-param name="column" select="3"/>
     413                <xsl:with-param name="row" select="27"/>
     414    </xsl:call-template>
     415        <xsl:call-template name="topic">
     416                <xsl:with-param name="key" select="'maxheight'"/>
     417                <xsl:with-param name="column" select="3"/>
     418                <xsl:with-param name="row" select="29"/>
     419    </xsl:call-template>
     420        <xsl:call-template name="topic">
     421                <xsl:with-param name="key" select="'maxwidth'"/>
     422                <xsl:with-param name="column" select="3"/>
     423                <xsl:with-param name="row" select="31"/>
     424    </xsl:call-template>
     425        <xsl:call-template name="topic">
     426                <xsl:with-param name="key" select="'maxlength'"/>
     427                <xsl:with-param name="column" select="3"/>
     428                <xsl:with-param name="row" select="33"/>
     429    </xsl:call-template>
     430        <xsl:call-template name="topic">
     431                <xsl:with-param name="key" select="'maxspeed'"/>
     432                <xsl:with-param name="column" select="3"/>
     433                <xsl:with-param name="row" select="35"/>
     434    </xsl:call-template>
     435        <xsl:call-template name="topic">
     436                <xsl:with-param name="key" select="'minspeed'"/>
     437                <xsl:with-param name="column" select="3"/>
     438                <xsl:with-param name="row" select="37"/>
     439    </xsl:call-template>
     440        <xsl:call-template name="topic">
     441                <xsl:with-param name="key" select="'maxstay'"/>
     442                <xsl:with-param name="column" select="3"/>
     443                <xsl:with-param name="row" select="39"/>
     444    </xsl:call-template>
     445        <xsl:call-template name="topic">
     446                <xsl:with-param name="key" select="'toll'"/>
     447                <xsl:with-param name="column" select="3"/>
     448                <xsl:with-param name="row" select="41"/>
     449    </xsl:call-template>
     450        <xsl:call-template name="topic">
     451                <xsl:with-param name="key" select="'barrier'"/>
     452                <xsl:with-param name="column" select="3"/>
     453                <xsl:with-param name="row" select="43"/>
     454    </xsl:call-template>
     455               
     456    <xsl:call-template name="topic">
     457                <xsl:with-param name="key" select="'railway'"/>
     458                <xsl:with-param name="column" select="4"/>
     459                <xsl:with-param name="row" select="1"/>
     460    </xsl:call-template>
     461    <xsl:call-template name="topic">
     462                <xsl:with-param name="key" select="'service'"/>
     463                <xsl:with-param name="column" select="4"/>
     464                <xsl:with-param name="row" select="20"/>
     465    </xsl:call-template>
     466    <xsl:call-template name="topic">
    165467                <xsl:with-param name="key" select="'waterway'"/>
    166                 <xsl:with-param name="xpos" select="4"/>
    167     </xsl:call-template>
    168        
    169     <xsl:call-template name="key_rules">
    170                 <xsl:with-param name="key" select="'railway'"/>
    171                 <xsl:with-param name="xpos" select="5"/>
    172     </xsl:call-template>
    173        
    174     <xsl:call-template name="key_rules">
     468                <xsl:with-param name="column" select="4"/>
     469                <xsl:with-param name="row" select="25"/>
     470    </xsl:call-template>
     471       
     472    <xsl:call-template name="topic">
    175473                <xsl:with-param name="key" select="'aeroway'"/>
    176                 <xsl:with-param name="xpos" select="6"/>
    177     </xsl:call-template>
    178        
    179     <xsl:call-template name="key_rules">
     474                <xsl:with-param name="column" select="5"/>
     475                <xsl:with-param name="row" select="1"/>
     476    </xsl:call-template>
     477       
     478    <xsl:call-template name="topic">
    180479                <xsl:with-param name="key" select="'aerialway'"/>
    181                 <xsl:with-param name="xpos" select="7"/>
    182     </xsl:call-template>
    183        
    184     <xsl:call-template name="key_rules">
     480                <xsl:with-param name="column" select="5"/>
     481                <xsl:with-param name="row" select="25"/>
     482    </xsl:call-template>
     483       
     484    <xsl:call-template name="topic">
     485                <xsl:with-param name="key" select="'piste:difficulty'"/>
     486                <xsl:with-param name="column" select="5"/>
     487                <xsl:with-param name="row" select="35"/>
     488    </xsl:call-template>
     489       
     490
     491
     492    <xsl:call-template name="topic">
     493                <xsl:with-param name="key" select="'amenity'"/>
     494                <xsl:with-param name="column" select="7"/>
     495                <xsl:with-param name="row" select="1"/>
     496    </xsl:call-template>
     497       
     498    <xsl:call-template name="topic">
     499                <xsl:with-param name="key" select="'leisure'"/>
     500                <xsl:with-param name="column" select="8"/>
     501                <xsl:with-param name="row" select="1"/>
     502    </xsl:call-template>
     503       
     504    <xsl:call-template name="topic">
     505                <xsl:with-param name="key" select="'tourism'"/>
     506                <xsl:with-param name="column" select="9"/>
     507                <xsl:with-param name="row" select="1"/>
     508    </xsl:call-template>
     509       
     510    <xsl:call-template name="topic">
     511                <xsl:with-param name="key" select="'historic'"/>
     512                <xsl:with-param name="column" select="9"/>
     513                <xsl:with-param name="row" select="25"/>
     514    </xsl:call-template>
     515       
     516    <xsl:call-template name="topic">
     517                <xsl:with-param name="key" select="'man_made'"/>
     518                <xsl:with-param name="column" select="10"/>
     519                <xsl:with-param name="row" select="1"/>
     520    </xsl:call-template>
     521    <xsl:call-template name="topic">
    185522                <xsl:with-param name="key" select="'power'"/>
    186                 <xsl:with-param name="xpos" select="8"/>
    187     </xsl:call-template>
    188        
    189     <xsl:call-template name="key_rules">
    190                 <xsl:with-param name="key" select="'man_made'"/>
    191                 <xsl:with-param name="xpos" select="9"/>
    192     </xsl:call-template>
    193        
    194     <xsl:call-template name="key_rules">
    195                 <xsl:with-param name="key" select="'leisure'"/>
    196                 <xsl:with-param name="xpos" select="10"/>
    197     </xsl:call-template>
    198        
    199     <xsl:call-template name="key_rules">
    200                 <xsl:with-param name="key" select="'amenity'"/>
    201                 <xsl:with-param name="xpos" select="11"/>
    202     </xsl:call-template>
    203        
    204     <xsl:call-template name="key_rules">
     523                <xsl:with-param name="column" select="10"/>
     524                <xsl:with-param name="row" select="25"/>
     525    </xsl:call-template>
     526    <xsl:call-template name="topic">
     527                <xsl:with-param name="key" select="'military'"/>
     528                <xsl:with-param name="column" select="10"/>
     529                <xsl:with-param name="row" select="35"/>
     530    </xsl:call-template>
     531       
     532    <xsl:call-template name="topic">
    205533                <xsl:with-param name="key" select="'shop'"/>
    206                 <xsl:with-param name="xpos" select="12"/>
    207     </xsl:call-template>
    208        
    209     <xsl:call-template name="key_rules">
    210                 <xsl:with-param name="key" select="'tourism'"/>
    211                 <xsl:with-param name="xpos" select="13"/>
    212     </xsl:call-template>
    213        
    214     <xsl:call-template name="key_rules">
    215                 <xsl:with-param name="key" select="'historic'"/>
    216                 <xsl:with-param name="xpos" select="14"/>
    217     </xsl:call-template>
    218        
    219     <xsl:call-template name="key_rules">
     534                <xsl:with-param name="column" select="11"/>
     535                <xsl:with-param name="row" select="1"/>
     536    </xsl:call-template>
     537       
     538
     539
     540       
     541    <xsl:call-template name="topic">
     542                <xsl:with-param name="key" select="'sport'"/>
     543                <xsl:with-param name="column" select="13"/>
     544                <xsl:with-param name="row" select="1"/>
     545    </xsl:call-template>
     546
     547    <xsl:call-template name="topic">
     548                <xsl:with-param name="key" select="'religion'"/>
     549                <xsl:with-param name="column" select="14"/>
     550                <xsl:with-param name="row" select="1"/>
     551    </xsl:call-template>
     552    <xsl:call-template name="topic">
     553                <xsl:with-param name="key" select="'power_source'"/>
     554                <xsl:with-param name="column" select="14"/>
     555                <xsl:with-param name="row" select="25"/>
     556    </xsl:call-template>       
     557    <xsl:call-template name="topic">
     558                <xsl:with-param name="key" select="'building'"/>
     559                <xsl:with-param name="column" select="14"/>
     560                <xsl:with-param name="row" select="35"/>
     561    </xsl:call-template>       
     562       
     563
     564
     565       
     566    <xsl:call-template name="topic">
    220567                <xsl:with-param name="key" select="'landuse'"/>
    221                 <xsl:with-param name="xpos" select="15"/>
    222     </xsl:call-template>
    223        
    224     <xsl:call-template name="key_rules">
    225                 <xsl:with-param name="key" select="'military'"/>
    226                 <xsl:with-param name="xpos" select="16"/>
    227     </xsl:call-template>
    228        
    229     <xsl:call-template name="key_rules">
     568                <xsl:with-param name="column" select="16"/>
     569                <xsl:with-param name="row" select="1"/>
     570    </xsl:call-template>
     571       
     572    <xsl:call-template name="topic">
    230573                <xsl:with-param name="key" select="'natural'"/>
    231                 <xsl:with-param name="xpos" select="17"/>
    232     </xsl:call-template>
    233        
    234     <xsl:call-template name="key_rules">
    235                 <xsl:with-param name="key" select="'route'"/>
    236                 <xsl:with-param name="xpos" select="18"/>
    237     </xsl:call-template>
    238        
    239     <xsl:call-template name="key_rules">
     574                <xsl:with-param name="column" select="16"/>
     575                <xsl:with-param name="row" select="25"/>
     576    </xsl:call-template>
     577       
     578    <xsl:call-template name="topic">
     579                <xsl:with-param name="key" select="'place'"/>
     580                <xsl:with-param name="column" select="17"/>
     581                <xsl:with-param name="row" select="1"/>
     582    </xsl:call-template>
     583            <xsl:call-template name="topic">
    240584                <xsl:with-param name="key" select="'boundary'"/>
    241                 <xsl:with-param name="xpos" select="19"/>
    242     </xsl:call-template>
    243        
    244     <xsl:call-template name="key_rules">
    245                 <xsl:with-param name="key" select="'sport'"/>
    246                 <xsl:with-param name="xpos" select="20"/>
    247     </xsl:call-template>
    248        
    249     <xsl:call-template name="key_rules">
    250                 <xsl:with-param name="key" select="'abutters'"/>
    251                 <xsl:with-param name="xpos" select="21"/>
    252     </xsl:call-template>
    253        
    254     <xsl:call-template name="key_rules">
    255                 <xsl:with-param name="key" select="'access'"/>
    256                 <xsl:with-param name="xpos" select="22"/>
    257     </xsl:call-template>
    258        
    259     <xsl:call-template name="key_rules">
    260                 <xsl:with-param name="key" select="'bridge'"/>
    261                 <xsl:with-param name="xpos" select="23"/>
    262     </xsl:call-template>
    263        
    264     <xsl:call-template name="key_rules">
    265                 <xsl:with-param name="key" select="'junction'"/>
    266                 <xsl:with-param name="xpos" select="24"/>
    267     </xsl:call-template>
    268        
    269     <xsl:call-template name="key_rules">
    270                 <xsl:with-param name="key" select="'oneway'"/>
    271                 <xsl:with-param name="xpos" select="24"/>
    272     </xsl:call-template>
    273        
    274     <xsl:call-template name="key_rules">
    275                 <xsl:with-param name="key" select="'place'"/>
    276                 <xsl:with-param name="xpos" select="25"/>
    277     </xsl:call-template>
    278        
    279     <xsl:call-template name="key_rules">
    280                 <xsl:with-param name="key" select="'route'"/>
    281                 <xsl:with-param name="xpos" select="26"/>
    282     </xsl:call-template>
    283        
    284     <xsl:call-template name="key_rules">
    285                 <xsl:with-param name="key" select="'surface'"/>
    286                 <xsl:with-param name="xpos" select="27"/>
     585                <xsl:with-param name="column" select="17"/>
     586                <xsl:with-param name="row" select="25"/>
    287587    </xsl:call-template>
    288588       
Note: See TracChangeset for help on using the changeset viewer.