Filtering using IN Operator in Geoserver
The OGC filter encoding standard – for whatever reason – lacks the useful IN operator we know and love from other languages like SQL [1]. Geoserver developers have therefore implemented this functionality as a non-standard SLD function [2]. Unfortunately this implementation requires prior knowledge of the number of arguments in the IN clause and it’s limited to 10 arguments.
An example filter would look like this:
<ogc:Filter> <ogc:PropertyIsEqualsTo> <ogc:Function name="in3"> <ogc:PropertyName>first_name</ogc:PropertyName> <ogc:Literal>Paul</ogc:Literal> <ogc:Literal>Mary</ogc:Literal> <ogc:Literal>Luke</ogc:Literal> </ogc:Function> <ogc:Literal>true</ogc:Literal> </ogc:PropertyIsEqualsTo> </ogc:Filter>
[1] https://underdark.wordpress.com/2010/06/14/the-missing-in-operator-ogc-filter-standards/
[2] http://docs.geoserver.org/stable/en/user/styling/sld-tipstricks/mixed-geometries.html#using-non-standard-sld-functions