> Since there is a "maybe need" wouldn't it be a good idea (or
> maybe someone
> allready does ?) to create an xml version of the map feature ?

That is sort of what the perl script does, or tries to, I think.
Once it has the XML file the program can see whether a given feature
is in that file or not. It can then do further validation on the
values (as well as the keys). Here is a bit out of the middle of the
generated not-in-map_features.xml created by not-in-map_features.pl
(which if you run the [EMAIL PROTECTED] client is in the subfolder
maplint\tests\strict)

<xsl:when test="@k='boundary'">
  <xsl:choose>
    <xsl:when test="@v='administrative'" />
    <xsl:when test="@v='civil'" />
    <xsl:when test="@v='national_park'" />
    <xsl:when test="@v='political'" />
    <xsl:otherwise>
      <maplint:result>
        <xsl:value-of select="concat('Value not in map features: ',
@k, '=', @v)" />
      </maplint:result>
    </xsl:otherwise>
  </xsl:choose>
</xsl:when>
 
I think this then gets built into the tests.xml or tests.xsl files
in the maplint folder but I've not looked into it in quite that
detail to see how and when.

There are both advantages and disadvantages to maintaining an XML
version. In my opinion the advantages of parsing the Map Features
page include that I suspect it is easier for many users to add new
features to a wiki page than in an XML file. The disadvantages I see
are that users won't know that the page is parsed to extract the
information, and so might not know the rules the parsing uses (one
example might be that "User defined" allows any value in the Maplint
validation, but a user might just put a * in the value column to
allow anything. It might be, and I haven't checked, that the maplint
script will then check for a value of '*' as valid, and otherwise
report not in Map Features). 

I'm not saying either that the not-in-map_features.pl script can't
be amended, but the structure of Map Features was standardised (as I
understand it) to allow the automatic parsing (such as a set number
of columns in a table row, the correct tags for node/way/area in the
relevant column to know which tags are valid on which items, etc).
If a new column were to be added to one of the sections though it
would need adding to all of them and the line
        next unless $#columns == 5;
in sub parse_featuretemplate would need updating in the Perl script.

Ed



_______________________________________________
talk mailing list
talk@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk

Reply via email to