I have just heard back from the chair of the OGC WFS/FES technical committee. The Filter schemas and standard have now been updated to version 2.0.3, which includes matchCase on PropertyIsLike. I will patch our copy of this schema to include matchCase on PropertyIsLike. This will enable matchCase on PropertyIsLike in WFS 2.0 requests:
https://osgeo-org.atlassian.net/browse/GEOT-5343

Kind regards,
Ben.

On 23/01/16 16:14, Ben Caradoc-Davies wrote:
Nhan Vo,

I have contacted the chair of the OGC WFS/FES standard technical
committee, who has confirmed that the lack of matchCase on
PropertyIsLike in the Filter 2.0.2 schemas and standard is a known
issue. He is following up with OGC.

When the Filter 2.0 schemas are updated to include matchCase on
PropertyIsLike, we just need to apply this change to the schemas in
gt-xsd-fes and GeoServer will start permitting matchCase on PropertyIsLike.

We should also add test coverage for matchCase to gs-wfs
Filter_2_0_0_KvpParserTest, once this new test is merged and matchCase
is in the Filter 2.0 schemas. Test coverage will prevent any future
regressions.

Kind regards,
Ben.

On 22/01/16 01:23, Ben Caradoc-Davies wrote:
I looked a little deeper and matchCase="false" *should* be supported on
PropertyIsLike in GeoServer WFS 1.1 because Niels kindly updated
GeoTools to use the FES 1.1.3 schemas back in 2013 to add matchCase support:
http://osgeo-org.1560.x6.nabble.com/ogc-filter-1-1-doesn-t-support-matchCase-in-PropertyIsLike-td5079577.html
https://github.com/geotools/geotools/commit/4855cba310362f488d5686eda1fff17d7d02c714
http://schemas.opengis.net/filter/1.1.0/filter.xsd

I changed the GET request to use WFS 1.1 and can confirm that
matchCase="false" works. The request matches "illino*" to "Illinois":
http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=GetFeature&typename=topp:states&filter=%3Cogc:Filter%20xmlns:ogc=%22http://www.opengis.net/ogc%22%3E%3Cogc:PropertyIsLike%20matchCase=%22false%22%20wildCard=%22*%22%20singleChar=%22%23%22%20escapeChar=%22!%22%3E%3Cogc:PropertyName%3Etopp:STATE_NAME%3C/ogc:PropertyName%3E%3Cogc:Literal%3Eillino*%3C/ogc:Literal%3E%3C/ogc:PropertyIsLike%3E%3C/ogc:Filter%3E

*But* if I look at even the latest schemas and standard for FES 2.0.2,
there is no matchCase on PropertyIsLike:
http://schemas.opengis.net/filter/2.0/filter.xsd
http://docs.opengeospatial.org/is/09-026r2/09-026r2.html

I think this is a bug in the FES 2.0.2 schemas. I think GeoServer will
need updated schemas to fix this for WFS 2.0 (and we can see that the
XML parsing is horribly broken without this fix). We may need a change
request (or an email to the standard maintainer):
http://www.opengeospatial.org/standards/cr

If I add a single line to the definition of PropertyIsLikeType in the
copy of the FES 2.0 schemas in GeoTools gt-xsd-fes:
modules/extension/xsd/xsd-fes/src/main/resources/org/geotools/filter/v2_0/filter.xsd
<xsd:attribute name="matchCase" type="xsd:boolean" use="optional"
default="true"/>

then suddenly matchCase="false" on PropertyIsLike starts working for WFS
2.0 in GeoServer, just as as for WFS 1.1:
http://localhost:8080/geoserver/wfs?service=WFS&version=2.0.0&request=GetFeature&typenames=topp:states&filter=%3Cfes:Filter%20xmlns:fes=%22http://www.opengis.net/fes/2.0%22%3E%3Cfes:PropertyIsLike%20matchCase=%22false%22%20wildCard=%22*%22%20singleChar=%22%23%22%20escapeChar=%22!%22%3E%3Cfes:ValueReference%3Etopp:STATE_NAME%3C/fes:ValueReference%3E%3Cfes:Literal%3Eillino*%3C/fes:Literal%3E%3C/fes:PropertyIsLike%3E%3C/fes:Filter%3E


--
Ben Caradoc-Davies <b...@transient.nz>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to