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