hi,
I realize the handling of CSW requests can be somewhat confusing, due to
vagueness or inconsistency in the specifications, choices made by
GeoNetwork in those cases, and certain GeoNetwork-specific implementations.
In general I would advice to compose CSW request as much as possible
according to the specs in OGC 07-006 and OGC 07-045.
I'll try to describe how things are :
about typeNames:
-------------------------------------
see http://trac.osgeo.org/geonetwork/ticket/724 for some description on the
changes to handling of typeNames in combination with ElementName.
The value of typeNames should be either csw:Record or gmd:MD_Metadata
(though the namespace prefix can be different if you mapped it differently).
This is conform OGC 07-045 8.2.2.1.1: "Mandatory: Must support *one* of
“csw:Record” or “gmd:MD_Metadata” in a query. Default value is
“csw:Record”."
Note how OGC 07-045 mixes up a mandatory parameter that has a default value
! GeoNetwork goes for the more permissive default value option, rather than
the mandatory-ness. So: if typeNames is not present or empty, "csw:Record"
is used.
If the request does not contain exactly one (or both, comma-separated) of
these values specified in OGC 07-045, an exception is thrown. If both are
present "gmd:MD_Metadata" is preferred.
about outputSchema:
------------------------------------------
the value of outputSchema can be:
missing -- treated as Record ;
csw:Record -- treated as Record
csw:IsoRecord -- treated as IsoRecord
(according to me those two values above are invalid and should actually be
rejected, to comply with the specifications)
http://www.opengis.net/cat/csw/2.0.2 -- treated as Record
http://www.isotc211.org/2005/gmd -- treated as IsoRecord
Any other value causes the request to be rejected.
See OGC 07-006 10.8.4.5 and OGC 07-045 for specifications.
additional note about ElementNames:
--------------------------------------------------------
In case you use ElementNames (note the plural -- not ElementName), there
are the following options:
* For ElementNames, several strategies are implemented. Clients can
determine the behaviour by sending attribute
* "elementnameStrategy" with one of the following values:
*
* csw202
* relaxed
* context
* geonetwork26
*
* The default is 'relaxed'. The strategies cause the following
behaviour:
*
* csw202 -- compliant to the CSW2.0.2 specification. In particular
this means that complete metadata are returned
* that match the requested ElementNames, only if they are
valid for their XSD. This is because
* GeoNetwork only supports OutputFormat=application/xml,
which mandates that valid documents are
* returned. Because possibly not many of the catalog's
metadata are valid, this is not the default.
*
* relaxed -- like csw202, but dropped the requirement to only include
valid metadata. So this returns complete
* metadata that match the requested ElementNames. This is
the default strategy.
*
* context -- does not return complete metadata but only the elements
matching the request, in their context (i.e.
* all ancestor elements up to the root of the document are
retained). This strategy is similar to
* geonetwork26 but the context allows clients to determine
which of the elements returned corresponds to
* which of the elements requested (in case they have the
same name).
*
* geonetwork26 -- behaviour as in GeoNetwork 2.6. Just return the
requested elements, stripped of any context. This
* can make it impossible for the client to determine
which of the elements returned corresponds to
* which of the elements requested; for example if the
client asks for gmd:title, the response may
* contain various gmd:title elements taken from
different locations in the metadata document.
See OGC 07-006 10.8.4.8, OGC 07-045 8.2.2.1.1, and OGC 07-006 10.8.4.9 for
specifications.
I hope this helps,
kind regards
Heikki Doeleman
On Tue, Apr 16, 2013 at 8:00 AM, Terry Rankine <terry.rankine@anonymised.com>wrote:
Ahh - where did you get those keywords from? Can you share the post body
you
are using?
I had a look at the testCSW client built into geonetwork and there is an
example there.
http://example.org/geonetwork/srv/eng/test.csw
is this the example you are using?
It turns out that I was not setting a few of the parameters (although 2.6
never really minded for some reason...)
Terry
--
View this message in context:
http://osgeo-org.1560.x6.nabble.com/CSW-differences-2-6-vs-2-8-tp5047128p5047146.html
Sent from the GeoNetwork users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at
http://sourceforge.net/projects/geonetwork