On Sep 26, 2011, at 11:22 PM, Mr. Puneet Kishor wrote:

> On Sep 26, 2011, at 11:04 PM, Stephen Woodbridge wrote:
> 
>> On 9/26/2011 10:29 PM, Puneet Kishor wrote:
>>> I am using OpenLayers as the front-end, requesting a WMS layer from 
>>> MapServer that is getting data from Pg. My DATA statement is like so
>>> 
>>>     DATA "the_geom FROM (SELECT gid, pc, the_geom FROM table) t USING 
>>> UNIQUE gid USING srid=4326"
>>>        FILTER "pc = 'na'"
>>> 
>>> The above works fine. However, I would like to send the value of "pc" from 
>>> OpenLayers (that is another problem that I am experiencing; I have asked on 
>>> OL list on how to send query params to WMS layers, but if any of you know 
>>> the solution, I would welcome that). In any case, I thought (naively), that 
>>> I could change my FILTER statement like so
>>> 
>>>     FILTER "pc = '[pc]'"
>>> 
>>> I tried sending a WMS query directly to test the above like so 
>>> [http://server/cgi-bin/app?.. blah ..&pc=na] but no joy. Forcing a query 
>>> error showed me that MapServer was executing the following
>>> 
>>>     select .. from (..) t where the_geom&&  GeomFromText(..) and (pc = 
>>> '[pc]')
>>> 
>>> How can I dynamically supply MapServer a filter value?
>> 
>> Does this doc answer your question?
>> http://mapserver.org/cgi/runsub.html
>> 
> 
> 
> Yes it does. I had not seen that doc (hence, I was naively trying [var] kinda 
> sub)


So, it seems I can't use Perl compatible regexps inside the map file for 
runtime substitution. For example, the following fails

        'pc_validation_pattern' '^\w\w$'

with "msValidateParameter(): Regular expression error. Parameter pattern 
validation failed." But the following works

        'pc_validation_pattern' '^[a-zA-Z][a-zA-Z]$'

Is there a compile time switch to make MapServer Perl-savvy?

--
Puneet Kishor_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to