[mapserver-users] validation block
Stephen Woodbridge
woodbri at swoodbridge.com
Tue Aug 21 11:15:34 PDT 2012
Typically the SQL syntax is column in (a,b,c,d)
So based on this
[id_bassin] in '%ID_BASSIN%'
would be problematic I think because your syntax is:
column in 'string'
Which is not valid. Also what is your validation for %ID_BASSIN%?
Is something like this? ^\([0-9]+(,[0-9]+)*\)$
where ID_BASSIN=(123,234,345)
or do you want something like:
[id_bassin] in (%ID_BASSIN%)
with a valdiation like: ^[0-9]+(,[0-9]+)*$
where ID_BASSIN=123,234,345
-Steve W
On 8/21/2012 1:33 PM, Marc-André Trottier wrote:
> here is an example of two class in 'adn_station_max_v.map' :
>
> CLASS
> NAME "Information non disponible (grande échelle)"
> EXPRESSION ( '[etat]' = 'GRIS' AND [id_bassin] in '%ID_BASSIN%')
> GROUP "BASSIN"
> MINSCALEDENOM 0
> MAXSCALEDENOM 150000
> STYLE
> SYMBOL 'circle'
> COLOR 128 128 128
> OUTLINECOLOR 0 0 0
> SIZE 9
> END
>
> LABEL
> COLOR 0 0 0
> OUTLINECOLOR 255 255 255
> ANTIALIAS FALSE
> TYPE TRUETYPE
> FONT "ubuntu"
> SIZE 14
> POSITION auto
> FORCE TRUE
> END
> END
>
> CLASS
> NAME "Seuil d\'inondation majeure"
> EXPRESSION ( '[etat]' = 'ROUGE' AND [region_admin_id] in '%ID_REG%')
> GROUP "REG_ADMIN"
> MINSCALEDENOM 110000
>
> STYLE
> SYMBOL 'circle'
> COLOR 255 0 0
> OUTLINECOLOR 0 0 0
> SIZE 14
> END
>
> LABEL
> WRAP "!"
> ALIGN CENTER
> COLOR 0 0 0
> OUTLINECOLOR 255 255 255
> ANTIALIAS FALSE
> TYPE TRUETYPE
> FONT "ubuntu"
> SIZE 14
> FORCE TRUE
> OFFSET 0 12
> END
> END
>
> if i understant this meant that for a layer, i must validate all
> variables of all class even if i don't use them all.
> My include of 'adn_station_max_v.map' contains X substitutions in X
> class so i must have X validations even if i don't use all X class.
>
> In my example, i include many class with 'adn_station_max_v.map' but i'm
> using only one variable at a time. All class in CLASSGROUP 'REG_ADMIN'
> only use 'ID_REG'.
>
>
> 2012/8/21 Stephen Woodbridge <woodbri at swoodbridge.com
> <mailto:woodbri at swoodbridge.com>>
>
> You probably need to quote:
>
> 'ID_BASSIN' '[[a-zA-Z0-9]{0,10},??]*'
>
> "#ID_REG' '[[a-zA-Z0-9]{0,10},??]*'
>
> And I would be very suspicious that '#ID_REG' is a value identifier
> because of the '#' character.
>
> -Steve W
>
>
> On 8/21/2012 11:38 AM, Marc-André Trottier wrote:
>
> there is my layer's definition :
>
> LAYER
> VALIDATION
> ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
> #ID_REG '[[a-zA-Z0-9]{0,10},??]*'
> END
> INCLUDE "../layers/bd/adn_station_max___v.map"
> CLASSGROUP "BASSIN"
> NAME "adn_station_bassin"
> END
>
> LAYER
> VALIDATION
> #ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
> ID_REG '[[a-zA-Z0-9]{0,10},??]*'
> END
> INCLUDE "../layers/bd/adn_station_max___v.map"
> CLASSGROUP "REG_ADMIN"
> NAME "adn_station_reg_admin"
> END
>
> with these commented lines a got this error :
> msValidateParameter(): Regular expression error. Parameter pattern
> validation failed.
>
> without comment, i got no error.
>
> CLASSGROUP 'BASSIN' contains many class but each class use only
> 'ID_BASSIN' and
> CLASSGROUP 'REG_ADMIN' contains many class but each class use
> only 'ID_REG'
>
> is it the right thing to do ? or like i thought, the validation
> block
> can contains only the variable used by the layer ?
>
>
>
> _________________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.__org
> <mailto:mapserver-users at lists.osgeo.org>
> http://lists.osgeo.org/__mailman/listinfo/mapserver-__users
> <http://lists.osgeo.org/mailman/listinfo/mapserver-users>
>
>
> _________________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.__org
> <mailto:mapserver-users at lists.osgeo.org>
> http://lists.osgeo.org/__mailman/listinfo/mapserver-__users
> <http://lists.osgeo.org/mailman/listinfo/mapserver-users>
>
>
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
More information about the MapServer-users
mailing list