WFS GetFeature Filter multiplicity

Kralidis,Tom [Burlington] Tom.Kralidis at EC.GC.CA
Wed Feb 9 17:15:59 PST 2005


Hi,

Can MapServer WFS Server handle filter with multiple conditions within
logical operators?

I find that if I try a PropertyIsLike query within an Or block, it only
handles up to two PropertyIsLike conditions.

This works:

<Filter>
 <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
  <PropertyName>abstract</PropertyName>
  <Literal>mercalli</Literal>
 </PropertyIsLike>
</Filter>

This works:

<Filter>
 <Or>
  <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
   <PropertyName>title</PropertyName>
   <Literal>mercalli</Literal>
  </PropertyIsLike>
  <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
   <PropertyName>abstract</PropertyName>
   <Literal>mercalli</Literal>
  </PropertyIsLike>
 </Or>
</Filter>

This does not work:

<Filter>
 <Or>
  <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
   <PropertyName>title</PropertyName>
   <Literal>mercalli</Literal>
  </PropertyIsLike>
  <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
   <PropertyName>abstract</PropertyName>
   <Literal>mercalli</Literal>
  </PropertyIsLike>
  <PropertyIsLike wildCard='*' singleChar='.' escape='!'>
   <PropertyName>keywords</PropertyName>
   <Literal>mercalli</Literal>
  </PropertyIsLike>
 </Or>
</Filter>


It looks like the third PropertyIsLike condition is totally ignored and
not queried.  That is, if I enter a search term which I know will only
satisfy the 3rd PropertyIsLike condition, I get no results.

I haven't tried this with the other operators, but I'm guessing the
behaviour would be the same.

..Tom



More information about the MapServer-users mailing list