CSW 2.0.2 testsuite
Test made using teamengine :
- http://sourceforge.net/project/showfiles.php?group_id=172853&package_id=197871&release_id=589119
- http://cite.opengeospatial.org/te2/.
Running the testsuite
- Create clean install with no data
cd $GEONETWORK_HOME cd ../bin ./start-geonetwork.sh
- Administration page, batch import
- directory $GEONETWORK_HOME/csw/ogc-testsuite-metadata
- Run testsuite
./test.sh -source=/catalogue/OGC-CSW-2.0.2/cite/engine/beta/trunk/scripts/csw-2.0.2-latest/ctl -workdir=test -logdir=log > csw.log ./viewlog.sh -logdir=log -session=s0006
GeoNetwork 2.7.x (rev 8557)
- GeoNetwork rev 8557
- Date : 2012/01/25
CSW 2.0.2 ISO Application Profile
All test for GetCapabilties are ok if commenting LessThanOrEqualTo and GreaterThanOrEqualTo from capabilities.xml.
Test csw:level1.1 (s0001/w60aab3b3c71b3b1_1) Passed Test csw:InterfaceBindings.GetCapabilities-GetMethod (s0001/w60aab3b3c71b3b1_1/w28aab1b5c17_1) Passed Test csw:InterfaceBindings.GetRecords-SOAPPOSTMethod (s0001/w60aab3b3c71b3b1_1/w28aab1b5c19_1) Passed Test csw:InterfaceBindings.GetRecordById-SOAPMethod (s0001/w60aab3b3c71b3b1_1/w28aab1b5c21_1) Passed Test csw:InterfaceBindings.GetRecordById-GETMethod (s0001/w60aab3b3c71b3b1_1/w28aab1b5c23_1) Passed Test csw:InterfaceBindings.DescribeRecord-SOAPPOSTMethod (s0001/w60aab3b3c71b3b1_1/w28aab1b5c25_1) Passed Test csw:InterfaceBindings.GetRecords-InvalidRequest (s0001/w60aab3b3c71b3b1_1/w28aab1b5c27_1) Passed Test csw:InterfaceBindings.GetRecordById-InvalidVersion (s0001/w60aab3b3c71b3b1_1/w28aab1b5c29_1) Passed Test csw:level1.2 (s0001/w60aab3b3c71b3b3_1) Passed Test csw:CorrectRequestResponse.GetCapabilities-CapabilitiesDocument (s0001/w60aab3b3c71b3b3_1/w37aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c17_1/w37aab3b7b3_1) Passed Test csw:CorrectRequestResponse.GetRecords-ValidResponseStructures (s0001/w60aab3b3c71b3b3_1/w37aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c19_1/w37aab5b7b5b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c19_1/w37aab5b7b5b1_2) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c19_1/w37aab5b7b7_1) Passed Test csw:CorrectRequestResponse.GetRecords-ValidFilter (s0001/w60aab3b3c71b3b3_1/w37aab1b5c21_1) Passed Test csw:CorrectRequestResponse.GetRecordById-ValidResponseStructures (s0001/w60aab3b3c71b3b3_1/w37aab1b5c21_1/w37aab9b9b7_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c21_1/w37aab9b9b7_1/w37aac11b9b3_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c21_1/w37aab9b9b7_1/w37aac11b9b5_1) Passed Test csw:InterfaceBindings.DescribeRecord-ValidResponseStructure (s0001/w60aab3b3c71b3b3_1/w37aab1b5c23_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b3_1/w37aab1b5c23_1/w37aac13b7b3_1) Passed Test csw:level1.3 (s0001/w60aab3b3c71b3b5_1) Passed Test csw:CorrectRequestResponse.GetCapabilities-CapabilitiesDocumentContent (s0001/w60aab3b3c71b3b5_1/w44aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c17_1/w44aab3b7b3_1) Passed Test csw:CorrectRequestResponse.GetRecords-AnyTextFilter (s0001/w60aab3b3c71b3b5_1/w44aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c19_1/w44aab5b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c19_1/w44aab5b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c19_1/w44aab5b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-AndOrFilter (s0001/w60aab3b3c71b3b5_1/w44aab1b5c21_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c21_1/w44aab7b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c21_1/w44aab7b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-BBOXFilter (s0001/w60aab3b3c71b3b5_1/w44aab1b5c23_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c23_1/w44aab9b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c23_1/w44aab9b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c23_1/w44aab9b7b9b1_3) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c23_1/w44aab9b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-CollectionElementsFilter (s0001/w60aab3b3c71b3b5_1/w44aab1b5c25_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c25_1/w44aac11b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c25_1/w44aac11b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c25_1/w44aac11b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecordById-Full (s0001/w60aab3b3c71b3b5_1/w44aab1b5c27_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c27_1/w44aac13b7c11b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c27_1/w44aac13b7c13_1) Passed Test csw:CorrectRequestResponse.GetRecordById-GetKVPBrief (s0001/w60aab3b3c71b3b5_1/w44aab1b5c29_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c29_1/w44aac15b7c11b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b5_1/w44aab1b5c29_1/w44aac15b7c13_1) Passed Test csw:level1.4 (s0001/w60aab3b3c71b3b7_1) Passed Test csw:CorrectRequestResponse.GetRecords-ServicesFilter (s0001/w60aab3b3c71b3b7_1/w53aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b7_1/w53aab1b5c17_1/w53aab3b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b7_1/w53aab1b5c17_1/w53aab3b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-ServicesOpOnFilter (s0001/w60aab3b3c71b3b7_1/w53aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b7_1/w53aab1b5c19_1/w53aab5b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b7_1/w53aab1b5c19_1/w53aab5b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0001/w60aab3b3c71b3b7_1/w53aab1b5c19_1/w53aab5b7c11_1) Passed Test csw:level1.5 (s0001/w60aab3b3c71b3b9_1) Passed Test csw:MultiLanguage.GetRecords-MultiLingual (s0001/w60aab3b3c71b3b9_1/w57aab1b5c17_1) Passed
CSW 2.0.2
csw:Main Failure Executed tests capability-tests Failure GetCapabilities-GET Success csw-2.0.2-GetCapabilities-tc1.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc1.2 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc1.3 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc2.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc3.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc4.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc5.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc5.2 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc6.1 Success csw-2.0.2-GetCapabilities-tc7.1 Success SchematronValidatingParser Success csw-2.0.2-GetCapabilities-tc7.2 Success csw-2.0.2-GetCapabilities-tc8.1 Success DescribeRecord-POST Success csw-2.0.2-DescribeRecord-tc1.1 Success SchematronValidatingParser Success csw-2.0.2-DescribeRecord-tc2.1 Success SchematronValidatingParser Success csw-2.0.2-DescribeRecord-tc3.1 Success SchematronValidatingParser Success csw-2.0.2-DescribeRecord-tc4.1 Success csw-2.0.2-DescribeRecord-tc5.1 Success SchematronValidatingParser Success csw-2.0.2-DescribeRecord-tc6.1 Success SchematronValidatingParser Success csw-2.0.2-DescribeRecord-tc7.1 Success SchematronValidatingParser Success GetRecordById-GET Success csw-2.0.2-GetRecordById-tc1.1 Success csw-2.0.2-GetRecordById-tc1.2 Success csw-2.0.2-GetRecordById-tc2.1 Success csw-2.0.2-GetRecordById-tc2.2 Success csw-2.0.2-GetRecordById-tc3.1 Success csw-2.0.2-GetRecordById-tc4.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecordById-tc5.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecordById-tc6.1 Success SchematronValidatingParser Success GetRecords-POST Failure csw-2.0.2-GetRecords-tc1.1 Failure SchematronValidatingParser Failure csw-2.0.2-GetRecords-tc2.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc2.2 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc3.1 Success csw-2.0.2-GetRecords-tc4.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc4.2 Failure csw-2.0.2-GetRecords-tc5.1 Failure csw-2.0.2-GetRecords-tc5.2 Failure csw-2.0.2-GetRecords-tc6.1 Success csw-2.0.2-GetRecords-tc6.2 Failure csw-2.0.2-GetRecords-tc7.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc8.1 Success csw-2.0.2-GetRecords-tc8.2 Success csw-2.0.2-GetRecords-tc9.1 Failure SchematronValidatingParser Failure csw-2.0.2-GetRecords-tc10.1 Failure SchematronValidatingParser Failure csw-2.0.2-GetRecords-tc11.1 Success csw-2.0.2-GetRecords-tc11.2 Failure csw-2.0.2-GetRecords-tc12.1 Failure csw-2.0.2-GetRecords-tc13.1 Failure csw-2.0.2-GetRecords-tc14.1 Success csw-2.0.2-GetRecords-tc14.2 Failure csw-2.0.2-GetRecords-tc15.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc16.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc16.2 Failure csw-2.0.2-GetRecords-tc17.1 Failure csw-2.0.2-GetRecords-tc17.2 Failure csw-2.0.2-GetRecords-tc18.1 Failure csw-2.0.2-GetRecords-tc19.1 Success csw-2.0.2-GetRecords-tc20.1 Failure csw-2.0.2-GetRecords-tc21.1 Failure csw-2.0.2-GetRecords-tc22.1 Success csw-2.0.2-GetRecords-tc23.1 Success csw-2.0.2-GetRecords-tc24.1 Success csw-2.0.2-GetRecords-tc25.1 Success SchematronValidatingParser Success csw-2.0.2-GetRecords-tc26.1 Success SchematronValidatingParser Success
test: csw:csw-2.0.2-GetRecords-tc1.1
session: s0001/d41e6546_1/d41e6423_1/d41e2619_1 Assertion: A GetRecords request that omits all optional elements must produce a response containing only a summary of the result set. Test result:Failure Executed tests: ctl:SchematronValidatingParserFailure
Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>brief</csw:ElementSetName> </csw:Query> </csw:GetRecords>
test: ctl:SchematronValidatingParser
session: s0001/d41e6546_1/d41e6423_1/d41e2619_1/d41e2854_1 Assertion:Validate an XML instance against a Schematron schema using the given phase. Message Total number of errors detected: 1 Message Error 1: Line 21 - assertion failed:
csw:SearchResults/@numberOfRecordsReturned must have the value zero.
Test result:Failure
Comment
- OGC 07-006: p34 resultType Zero or one (Conditional) Default values specified by protocol binding or application profile
- OGC 07-045: p66 RESULTTYPE Optional. Default value is “hits”.
So this test could not expect "a summary of the result set".
test: csw:csw-2.0.2-GetRecords-tc4.2
session: s0001/d41e6546_1/d41e6423_1/d41e2645_1 Assertion: The response to a GetRecords request that specifies an ad hoc view and sorting criteria must include the corresponding csw:Record representations in the correct sort order. Message [FAILURE] Search results are not sorted correctly by dc:date in descending order. Message , , 2003-05-09Z Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:SortOrder>DESC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords>
Comment
Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc5.1
session: s0001/d41e6546_1/d41e6423_1/d41e2650_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a BBOX operator must include all matching record representations. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>/ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>47.0 -4.5</gml:lowerCorner> <gml:upperCorner>52.0 1.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Failed on: test="not($response/*)" but request returned a response. Odd. CHECKME
test: csw:csw-2.0.2-GetRecords-tc5.2
session: s0001/d41e6546_1/d41e6423_1/d41e2655_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a spatial operator that does not refer to a geometry-valued property must include an exception report. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>brief</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>dct:spatial</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>47.0 -4.5</gml:lowerCorner> <gml:upperCorner>52.0 1.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Spatial filter is applied to the records geometry whatever the property is. Only one geometry is defined per records (which could be a multipolygon).
test: csw:csw-2.0.2-GetRecords-tc6.2
session: s0001/d41e6546_1/d41e6423_1/d41e2666_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsEqualTo predicate (case-insensitive) must include all matching record representations. Message [FAILURE] Expected record is missing (urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a). Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>brief</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo matchCase="false"> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>pHYSIOGRAPHy</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Keyword are using a org.apache.lucene.analysis.KeywordAnalyzer by default (see config-lucene.xml). If user want a case insensitive search for Keyword, org.apache.lucene.analysis.standard.StandardAnalyzer could be used probably.
test: csw:csw-2.0.2-GetRecords-tc9.1
session: s0001/d41e6546_1/d41e6423_1/d41e2686_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsGreaterThan predicate must include matching record representations. Test result:Failure Executed tests: ctl:SchematronValidatingParserFailure
Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2004-01-01Z</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
test: ctl:SchematronValidatingParser
session: s0001/d41e6546_1/d41e6423_1/d41e2686_1/d41e4132_1 Assertion:Validate an XML instance against a Schematron schema using the given phase. Message Total number of errors detected: 1 Message Error 1: Line 21 - assertion failed:
csw:SearchResults/@numberOfRecordsMatched must be greater than zero.
Test result:Failure
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc10.1
session: s0001/d41e6546_1/d41e6423_1/d41e2691_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsLessThan predicate must include matching record representations. Test result:Failure Executed tests: ctl:SchematronValidatingParserFailure
Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLessThan> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2006-05-01Z</ogc:Literal> </ogc:PropertyIsLessThan> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
test: ctl:SchematronValidatingParser
session: s0001/d41e6546_1/d41e6423_1/d41e2691_1/d41e4252_1 Assertion:Validate an XML instance against a Schematron schema using the given phase. Message Total number of errors detected: 1 Message Error 1: Line 21 - assertion failed:
csw:SearchResults/@numberOfRecordsMatched must be greater than zero.
Test result:Failure
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc11.2
session: s0001/d41e6546_1/d41e6423_1/d41e2702_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsLike predicate must include matching record representations. Message [FAILURE] AT least one csw:Record element expected in response. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>200?-10-*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc12.1
session: s0001/d41e6546_1/d41e6423_1/d41e2707_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsLessThanOrEqualTo predicate must include matching record representations. Message [FAILURE] AT least two csw:Record elements expected in response. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2005-10-24Z</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc13.1
session: s0001/d41e6546_1/d41e6423_1/d41e2712_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a PropertyIsGreaterThanOrEqualTo predicate must include matching record representations. Message [FAILURE] AT least two csw:Record elements expected in response. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2006-03-26Z</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc14.2
session: s0001/d41e6546_1/d41e6423_1/d41e2722_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having a Not logical predicate must include only matching record representations. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords maxRecords="20" resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:Not> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>60.0 12.0</gml:lowerCorner> <gml:upperCorner>70.0 20.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Not> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
On the test dataset, only 3 records have a bounding box. Only 2 of them are matching the spatial condition. And GeoNetwork does not consider records not having a bounding box to be part of this query because they don't have a property BoundingBox.
Testsuite expect: "11-20 csw:Record elements expected in response"
Minor improvement done: http://trac.osgeo.org/geonetwork/ticket/761
test: csw:csw-2.0.2-GetRecords-tc16.2
session: s0001/d41e6546_1/d41e6423_1/d41e2738_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having the Or logical predicate must include only matching record representations. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:Or> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>47.0 -4.5</gml:lowerCorner> <gml:upperCorner>52.0 1.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2006-01-01Z</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Or> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
In GeoNetwork, spatial criteria is applied as a Lucene filter after Lucene search. This makes the spatial filter a AND operator. Combining complex AND/OR with spatial filter requires to make the spatial search part of Lucene Core Query types. This is a non-trivial task.
test: csw:csw-2.0.2-GetRecords-tc17.1
session: s0001/d41e6546_1/d41e6423_1/d41e2743_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having the And logical predicate must include only matching record representations. Message [FAILURE] 1-10 csw:SummaryRecord elements expected in response (0 included) Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>dc:format</ogc:PropertyName> <ogc:Literal>image/*</ogc:Literal> </ogc:PropertyIsLike> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:relation</ogc:PropertyName> <ogc:Literal>urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Relation" field="relation" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc17.2
session: s0001/d41e6546_1/d41e6423_1/d41e2748_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having the And logical predicate must include only matching record representations. Message [FAILURE] 1-10 csw:Record elements expected in response (0 included) Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>47.0 -4.5</gml:lowerCorner> <gml:upperCorner>52.0 1.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2006-01-01Z</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Same as csw:csw-2.0.2-GetRecords-tc4.2 Add in config-csw.xml http://trac.osgeo.org/geonetwork/ticket/762 :
<parameter name="Date" field="createDate" type="AdditionalQueryables" />
test: csw:csw-2.0.2-GetRecords-tc18.1
session: s0001/d41e6546_1/d41e6423_1/d41e2753_1 Assertion: The response to a GetRecords request that includes an ogc:Filter having the And logical predicate must include the specified view of records that satisfy all constraints. Message [FAILURE] 1-10 csw:Record elements expected in response (0 included) Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:Not> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>40.0 -9.0</gml:lowerCorner> <gml:upperCorner>50.0 -5.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Not> <ogc:PropertyIsEqualTo matchCase="false"> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>HTTP://purl.org/dc/dcmitype/dataset</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Issue related to matchCase. Works with:
<ogc:PropertyIsEqualTo matchCase="false"> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>http://purl.org/dc/dcmitype/Dataset</ogc:Literal> </ogc:PropertyIsEqualTo>
A StandardAnalyzer should fix it ?
test: csw:csw-2.0.2-GetRecords-tc20.1
session: s0001/d41e6546_1/d41e6423_1/d41e2764_1 Assertion: The csw:SummaryRecord view type cannot be queried. The response shall include an exception having @exceptionCode = "InvalidParameterValue" [10.2.5.3.3]. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecords resultType="results" service="CSW" version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:Query typeNames="csw:SummaryRecord"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike escapeChar="\" singleChar="." wildCard="*"> <ogc:PropertyName>/dc:title</ogc:PropertyName> <ogc:Literal>*lorem*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Typename defines "queryable entities in the catalogue's information model". In GeoNetwork, all entities are available and mapping may exist from one type to another.
test: csw:csw-2.0.2-GetRecords-tc21.1
session: s0001/d41e6546_1/d41e6423_1/d41e2769_1 Assertion: The csw:BriefRecord view type cannot be queried. The response shall include an exception having @exceptionCode = "InvalidParameterValue" [10.2.5.3.4]. Message [FAILURE] Missing or invalid response entity. Test result:Failure Submitted request: Method=
POSTURL= http://localhost:8080/geonetwork/srv/en/cswParameters:
NONE.
Request body:
<csw:GetRecordsresultType="results"service="CSW"version="2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:p="http://teamengine.sourceforge.net/parsers" xmlns:gml="http://www.opengis.net/gml" xmlns:parsers="http://www.occamlab.com/te/parsers" xmlns:ogc="http://www.opengis.net/ogc" xmlns:saxon="http://saxon.sf.net/" xmlns:te="http://www.occamlab.com/te" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tec="java:com.occamlab.te.TECore" xmlns:tems="java:com.occamlab.te.web.MonitorServlet" xmlns:ctl="http://www.occamlab.com/ctl" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"> <csw:QuerytypeNames="csw:BriefRecord"> <csw:ElementSetName>brief</csw:ElementSetName> <csw:Constraintversion="1.1.0"> <ogc:Filter> <ogc:PropertyIsLikeescapeChar="\"singleChar="."wildCard="*"> <ogc:PropertyName>/dc:title</ogc:PropertyName> <ogc:Literal>*lorem*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Comment
Typename defines "queryable entities in the catalogue's information model". In GeoNetwork, all entities are available and mapping may exist from one type to another.
See [GeoNetwork-users] GeoNetwork Harvest: CSW node error on the ML for discussion about outputSchema.
Test execution report - CSW 2.0.2 AP ISO
TODO
GeoNetwork 2.4.x
- See CSW.
- Tested in 2009
- One test failed: GetRecords-ValidFilter due to Spatial Filter embedded in an OR statement. Require more changes to spatial searcher.
CSW 2.0.2 ISO AP
Test csw:csw-main (s0002) Failed (Inherited Failure) Test csw:level1.1 (s0002/w8aab3b3c65b3b1_1) Passed Test csw:InterfaceBindings.GetCapabilities-GetMethod (s0002/w8aab3b3c65b3b1_1/w15aab1b5c17_1) Passed Test csw:InterfaceBindings.GetRecords-SOAPPOSTMethod (s0002/w8aab3b3c65b3b1_1/w15aab1b5c19_1) Passed Test csw:InterfaceBindings.GetRecordById-SOAPMethod (s0002/w8aab3b3c65b3b1_1/w15aab1b5c21_1) Passed Test csw:InterfaceBindings.GetRecordById-GETMethod (s0002/w8aab3b3c65b3b1_1/w15aab1b5c23_1) Passed Test csw:InterfaceBindings.DescribeRecord-SOAPPOSTMethod (s0002/w8aab3b3c65b3b1_1/w15aab1b5c25_1) Passed Test csw:InterfaceBindings.GetRecords-InvalidRequest (s0002/w8aab3b3c65b3b1_1/w15aab1b5c27_1) Passed Test csw:InterfaceBindings.GetRecordById-InvalidVersion (s0002/w8aab3b3c65b3b1_1/w15aab1b5c29_1) Passed Test csw:level1.2 (s0002/w8aab3b3c65b3b3_1) Failed (Inherited Failure) Test csw:CorrectRequestResponse.GetCapabilities-CapabilitiesDocument (s0002/w8aab3b3c65b3b3_1/w8aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c17_1/w8aab3b7b3_1) Passed Test csw:CorrectRequestResponse.GetRecords-ValidResponseStructures (s0002/w8aab3b3c65b3b3_1/w8aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c19_1/w8aab5b7b5b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c19_1/w8aab5b7b5b1_2) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c19_1/w8aab5b7b7_1) Passed Test csw:CorrectRequestResponse.GetRecords-ValidFilter (s0002/w8aab3b3c65b3b3_1/w8aab1b5c21_1) Failed Test csw:CorrectRequestResponse.GetRecordById-ValidResponseStructures (s0002/w8aab3b3c65b3b3_1/w8aab1b5c21_1/w8aab9b9b7_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c21_1/w8aab9b9b7_1/w8aac11b9b3_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c21_1/w8aab9b9b7_1/w8aac11b9b5_1) Passed Test csw:InterfaceBindings.DescribeRecord-ValidResponseStructure (s0002/w8aab3b3c65b3b3_1/w8aab1b5c23_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b3_1/w8aab1b5c23_1/w8aac13b7b3_1) Passed Test csw:level1.3 (s0002/w8aab3b3c65b3b5_1) Passed Test csw:CorrectRequestResponse.GetCapabilities-CapabilitiesDocumentContent (s0002/w8aab3b3c65b3b5_1/w8aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c17_1/w8aab3b7b3_1) Passed Test csw:CorrectRequestResponse.GetRecords-AnyTextFilter (s0002/w8aab3b3c65b3b5_1/w8aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c19_1/w8aab5b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c19_1/w8aab5b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c19_1/w8aab5b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-AndOrFilter (s0002/w8aab3b3c65b3b5_1/w8aab1b5c21_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c21_1/w8aab7b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c21_1/w8aab7b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-BBOXFilter (s0002/w8aab3b3c65b3b5_1/w8aab1b5c23_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c23_1/w8aab9b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c23_1/w8aab9b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c23_1/w8aab9b7b9b1_3) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c23_1/w8aab9b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-CollectionElementsFilter (s0002/w8aab3b3c65b3b5_1/w8aab1b5c25_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c25_1/w8aac11b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c25_1/w8aac11b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c25_1/w8aac11b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecordById-Full (s0002/w8aab3b3c65b3b5_1/w8aab1b5c27_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c27_1/w8aac13b7c11b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c27_1/w8aac13b7c13_1) Passed Test csw:CorrectRequestResponse.GetRecordById-GetKVPBrief (s0002/w8aab3b3c65b3b5_1/w8aab1b5c29_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c29_1/w8aac15b7c11b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b5_1/w8aab1b5c29_1/w8aac15b7c13_1) Passed Test csw:level1.4 (s0002/w8aab3b3c65b3b7_1) Passed Test csw:CorrectRequestResponse.GetRecords-ServicesFilter (s0002/w8aab3b3c65b3b7_1/w43aab1b5c17_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b7_1/w43aab1b5c17_1/w43aab3b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b7_1/w43aab1b5c17_1/w43aab3b7c11_1) Passed Test csw:CorrectRequestResponse.GetRecords-ServicesOpOnFilter (s0002/w8aab3b3c65b3b7_1/w43aab1b5c19_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b7_1/w43aab1b5c19_1/w43aab5b7b9b1_1) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b7_1/w43aab1b5c19_1/w43aab5b7b9b1_2) Passed Test ctl:XMLValidatingParser (s0002/w8aab3b3c65b3b7_1/w43aab1b5c19_1/w43aab5b7c11_1) Passed Test csw:level1.5 (s0002/w8aab3b3c65b3b9_1) Passed Test csw:MultiLanguage.GetRecords-MultiLingual (s0002/w8aab3b3c65b3b9_1/w24aab1b5c17_1) Passed
CSW 2.0.2
Test csw:Main (s0006) Failed (Inherited Failure) Test csw:SmokeTest (s0006/d39e6538_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6538_1/d39e6568_1) Passed Test csw:capability-tests (s0006/d39e6546_1) Failed (Inherited Failure) Test csw:GetCapabilities-GET (s0006/d39e6546_1/d39e6408_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc1.1 (s0006/d39e6546_1/d39e6408_1/d39e383_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e383_1/d39e498_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc1.2 (s0006/d39e6546_1/d39e6408_1/d39e388_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e388_1/d39e566_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc1.3 (s0006/d39e6546_1/d39e6408_1/d39e393_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e393_1/d39e634_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc2.1 (s0006/d39e6546_1/d39e6408_1/d39e399_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e399_1/d39e695_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc3.1 (s0006/d39e6546_1/d39e6408_1/d39e404_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e404_1/d39e768_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc4.1 (s0006/d39e6546_1/d39e6408_1/d39e409_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e409_1/d39e841_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc5.1 (s0006/d39e6546_1/d39e6408_1/d39e414_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e414_1/d39e909_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc5.2 (s0006/d39e6546_1/d39e6408_1/d39e419_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e419_1/d39e971_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc6.1 (s0006/d39e6546_1/d39e6408_1/d39e424_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc7.1 (s0006/d39e6546_1/d39e6408_1/d39e430_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6408_1/d39e430_1/d39e1103_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc7.2 (s0006/d39e6546_1/d39e6408_1/d39e435_1) Passed Test csw:csw-2.0.2-GetCapabilities-tc8.1 (s0006/d39e6546_1/d39e6408_1/d39e440_1) Passed Test csw:DescribeRecord-POST (s0006/d39e6546_1/d39e6413_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc1.1 (s0006/d39e6546_1/d39e6413_1/d39e1282_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1282_1/d39e1365_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc2.1 (s0006/d39e6546_1/d39e6413_1/d39e1287_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1287_1/d39e1429_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc3.1 (s0006/d39e6546_1/d39e6413_1/d39e1292_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1292_1/d39e1505_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc4.1 (s0006/d39e6546_1/d39e6413_1/d39e1298_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc5.1 (s0006/d39e6546_1/d39e6413_1/d39e1303_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1303_1/d39e1638_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc6.1 (s0006/d39e6546_1/d39e6413_1/d39e1308_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1308_1/d39e1710_1) Passed Test csw:csw-2.0.2-DescribeRecord-tc7.1 (s0006/d39e6546_1/d39e6413_1/d39e1313_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6413_1/d39e1313_1/d39e1782_1) Passed Test csw:GetRecordById-GET (s0006/d39e6546_1/d39e6418_1) Passed Test csw:csw-2.0.2-GetRecordById-tc1.1 (s0006/d39e6546_1/d39e6418_1/d39e1823_1) Passed Test csw:csw-2.0.2-GetRecordById-tc1.2 (s0006/d39e6546_1/d39e6418_1/d39e1830_1) Passed Test csw:csw-2.0.2-GetRecordById-tc2.1 (s0006/d39e6546_1/d39e6418_1/d39e1838_1) Passed Test csw:csw-2.0.2-GetRecordById-tc2.2 (s0006/d39e6546_1/d39e6418_1/d39e1845_1) Passed Test csw:csw-2.0.2-GetRecordById-tc3.1 (s0006/d39e6546_1/d39e6418_1/d39e1852_1) Passed Test csw:csw-2.0.2-GetRecordById-tc4.1 (s0006/d39e6546_1/d39e6418_1/d39e1857_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6418_1/d39e1857_1/d39e2417_1) Passed Test csw:csw-2.0.2-GetRecordById-tc5.1 (s0006/d39e6546_1/d39e6418_1/d39e1862_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6418_1/d39e1862_1/d39e2496_1) Passed Test csw:csw-2.0.2-GetRecordById-tc6.1 (s0006/d39e6546_1/d39e6418_1/d39e1867_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6418_1/d39e1867_1/d39e2575_1) Passed Test csw:GetRecords-POST (s0006/d39e6546_1/d39e6423_1) Failed (Inherited Failure) Test csw:csw-2.0.2-GetRecords-tc1.1 (s0006/d39e6546_1/d39e6423_1/d39e2619_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2619_1/d39e2854_1) Passed Test csw:csw-2.0.2-GetRecords-tc2.1 (s0006/d39e6546_1/d39e6423_1/d39e2624_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2624_1/d39e2921_1) Passed Test csw:csw-2.0.2-GetRecords-tc2.2 (s0006/d39e6546_1/d39e6423_1/d39e2629_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2629_1/d39e2996_1) Passed Test csw:csw-2.0.2-GetRecords-tc3.1 (s0006/d39e6546_1/d39e6423_1/d39e2635_1) Passed Test csw:csw-2.0.2-GetRecords-tc4.1 (s0006/d39e6546_1/d39e6423_1/d39e2640_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2640_1/d39e3163_1) Passed Test csw:csw-2.0.2-GetRecords-tc4.2 (s0006/d39e6546_1/d39e6423_1/d39e2645_1) Passed Test csw:csw-2.0.2-GetRecords-tc5.1 (s0006/d39e6546_1/d39e6423_1/d39e2650_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2650_1/d39e3476_1) Passed Test csw:csw-2.0.2-GetRecords-tc5.2 (s0006/d39e6546_1/d39e6423_1/d39e2655_1) Failed Test csw:csw-2.0.2-GetRecords-tc6.1 (s0006/d39e6546_1/d39e6423_1/d39e2660_1) Passed Test csw:csw-2.0.2-GetRecords-tc6.2 (s0006/d39e6546_1/d39e6423_1/d39e2666_1) Failed Test csw:csw-2.0.2-GetRecords-tc7.1 (s0006/d39e6546_1/d39e6423_1/d39e2671_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2671_1/d39e3854_1) Passed Test csw:csw-2.0.2-GetRecords-tc8.1 (s0006/d39e6546_1/d39e6423_1/d39e2676_1) Passed Test csw:csw-2.0.2-GetRecords-tc8.2 (s0006/d39e6546_1/d39e6423_1/d39e2681_1) Passed Test csw:csw-2.0.2-GetRecords-tc9.1 (s0006/d39e6546_1/d39e6423_1/d39e2686_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2686_1/d39e4132_1) Passed Test csw:csw-2.0.2-GetRecords-tc10.1 (s0006/d39e6546_1/d39e6423_1/d39e2691_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2691_1/d39e4252_1) Passed Test csw:csw-2.0.2-GetRecords-tc11.1 (s0006/d39e6546_1/d39e6423_1/d39e2697_1) Failed Test csw:csw-2.0.2-GetRecords-tc11.2 (s0006/d39e6546_1/d39e6423_1/d39e2702_1) Passed Test csw:csw-2.0.2-GetRecords-tc12.1 (s0006/d39e6546_1/d39e6423_1/d39e2707_1) Passed Test csw:csw-2.0.2-GetRecords-tc13.1 (s0006/d39e6546_1/d39e6423_1/d39e2712_1) Failed Test csw:csw-2.0.2-GetRecords-tc14.1 (s0006/d39e6546_1/d39e6423_1/d39e2717_1) Failed Test csw:csw-2.0.2-GetRecords-tc14.2 (s0006/d39e6546_1/d39e6423_1/d39e2722_1) Failed Test csw:csw-2.0.2-GetRecords-tc15.1 (s0006/d39e6546_1/d39e6423_1/d39e2728_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2728_1/d39e5001_1) Passed Test csw:csw-2.0.2-GetRecords-tc16.1 (s0006/d39e6546_1/d39e6423_1/d39e2733_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2733_1/d39e5096_1) Passed Test csw:csw-2.0.2-GetRecords-tc16.2 (s0006/d39e6546_1/d39e6423_1/d39e2738_1) Passed Test csw:csw-2.0.2-GetRecords-tc17.1 (s0006/d39e6546_1/d39e6423_1/d39e2743_1) Failed Test csw:csw-2.0.2-GetRecords-tc17.2 (s0006/d39e6546_1/d39e6423_1/d39e2748_1) Passed Test csw:csw-2.0.2-GetRecords-tc18.1 (s0006/d39e6546_1/d39e6423_1/d39e2753_1) Failed Test csw:csw-2.0.2-GetRecords-tc19.1 (s0006/d39e6546_1/d39e6423_1/d39e2759_1) Passed Test csw:csw-2.0.2-GetRecords-tc20.1 (s0006/d39e6546_1/d39e6423_1/d39e2764_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2764_1/d39e5895_1) Passed Test csw:csw-2.0.2-GetRecords-tc21.1 (s0006/d39e6546_1/d39e6423_1/d39e2769_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2769_1/d39e5974_1) Passed Test csw:csw-2.0.2-GetRecords-tc22.1 (s0006/d39e6546_1/d39e6423_1/d39e2774_1) Passed Test csw:csw-2.0.2-GetRecords-tc23.1 (s0006/d39e6546_1/d39e6423_1/d39e2779_1) Passed Test csw:csw-2.0.2-GetRecords-tc24.1 (s0006/d39e6546_1/d39e6423_1/d39e2784_1) Failed Test csw:csw-2.0.2-GetRecords-tc25.1 (s0006/d39e6546_1/d39e6423_1/d39e2790_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2790_1/d39e6312_1) Passed Test csw:csw-2.0.2-GetRecords-tc26.1 (s0006/d39e6546_1/d39e6423_1/d39e2795_1) Passed Test ctl:SchematronValidatingParser (s0006/d39e6546_1/d39e6423_1/d39e2795_1/d39e6380_1) Passed
Issue
- GeoTools error when resolving srsName="urn:x-ogc:def:crs:EPSG:6.11:4326" csw:csw-2.0.2-GetRecords-tc5.2
<?xml version="1.0"?> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" version="2.0.2" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" resultType="results"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>/ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>47.0 -4.5</gml:lowerCorner> <gml:upperCorner>52.0 1.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
- How to handle matchCase="false" with Lucene ? csw:csw-2.0.2-GetRecords-tc6.2
- csw:csw-2.0.2-GetRecords-tc11.1 like operator with a like case sensitive:
<ogc:PropertyIsLike wildCard="*" singleChar="?" escapeChar="\"> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:Literal>Lorem ipsum*</ogc:Literal> </ogc:PropertyIsLike>
- csw:csw-2.0.2-GetRecords-tc13.1 An issue with RangeQuery inclusive on Date ?
<RangeQuery fld="{ogc:PropertyName}" lowerTxt="{ogc:Literal}" inclusive="true"/>
- csw:csw-2.0.2-GetRecords-tc14.1 : odd / StackOverflowError
<stack> <at class="org.fao.geonet.kernel.search.spatial.!OgcGenericFilters$GeomExtractor" file="OgcGenericFilters .java" line="250" method="visit" />
- csw:csw-2.0.2-GetRecords-tc14.2 : StackOverflowError
- csw:csw-2.0.2-GetRecords-tc17.1 : To be continued.
Fixed
- CSW / Fix DescribeRecords exception according to input parameters as expected by testsuite.
- CSW / Fix GetRecordById when multiple ids and one not found.
- CSW / Fix csw-record schema mapping, geonet:info element and ows:BoundingBox spatial indexing.
GeoNetwork 2.2.0
Implement CSW 2.0.1.