pycsw
pycsw copied to clipboard
pycsw does not split comma-separated typeNames (CSW GetRecords requests)
Description
pycsw does not split the different (comma-separated) typeNames, like mentionned in the specification OGC 07-006r1 (page 219) ex: csw:Record,gmd:MD_Metadata OK when requesting each typeName individually.
For information, GeoNetwork is compliant to this requirement.
Environment
- operating system: ?
- Python version: ?
- pycsw version: 1.10.2
- source/distribution
- [ ] git clone
- [ ] DebianGIS/UbuntuGIS
- [ ] PyPI
- [ ] zip/tar.gz
- [ ] other (please specify):
- web server
- [ ] Apache/mod_wsgi
- [ ] CGI
- [ ] other (please specify):
Steps to Reproduce
Check CSW GetRecord (Post) on following servers: https://data.noaa.gov/csw Fail http://demo.pycsw.org/services/csw Fail http://www.fao.org/geonetwork/srv/eng/csw OK
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <csw:GetRecords xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" service="CSW" version="2.0.2" resultType="results" startPosition="1" maxRecords="1" outputFormat="application/xml" outputSchema="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"> <csw:Query typeNames="csw:Record,gmd:MD_Metadata"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>csw:AnyText</ogc:PropertyName> <ogc:Literal>WAVEWATCH</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Additional Information
Thanks for the report. OGC 07-006r1 Table 65 says typeNames
should be comma separated. However in the rest of the document typeNames
is expressed as space separated. As well, if you try to validate the request XML in this ticket it fails validation if comma-separated, but passes if space separated.
Given pycsw is validating against the official schemas, it sounds like there is an inconsistency between the spec and the schema which should be clarified with OGC.