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 <[email protected]
<mailto:[email protected]>>
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
[email protected].__org
<mailto:[email protected]>
http://lists.osgeo.org/__mailman/listinfo/mapserver-__users
<http://lists.osgeo.org/mailman/listinfo/mapserver-users>
_________________________________________________
mapserver-users mailing list
[email protected].__org
<mailto:[email protected]>
http://lists.osgeo.org/__mailman/listinfo/mapserver-__users
<http://lists.osgeo.org/mailman/listinfo/mapserver-users>
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users