Hi,
this issue is a can of worms and there are multiple pitfalls here.
First, I am not sure if your definition of valid is correct. If the
gml/3.2 namespace is used in the metadata record, this means (probably)
that the XML record should be validated against the gml/3.2 XML schema and
not against the one provided by geonetwork. (which is gml/ ).
I admit that it would probably not be valid against the GN supplied one,
but using the oasis mechanism it should be possible to store the gml/3.2
schema files somewhere, too.
What I have done is to create a profile of iso19139, called
iso19139.wmocp, which used the gml/3.2 schema instead. Using the schema
recognition mechanism it should be possible to map your XML to such a
profile.
Second, there are issues with namespaces when returning XML via OAI. The
issue is that when the XML record is dumbly copied and pasted out of the
surrounding OAI XML, namespace definitions can get lost, if the same
namespace is used by both OAI and the embedded XML record. Note that this
is probably unrelated to your problem.
Finally, there is some confusion about what the ISO19139 specification
requires as GML namespace. In the specs it reads that ISO19136 is
required, which is GML 3.2.1, oddly having www.opengis.net/gml/3.2 as
namespace.
However, GN uses the www.opengis.net/gml namespace, which corresponds to
GML 3.2. To make matters more complicated, GML 3.2.1 and 3.2 are identical
but for some repackaging.
The conclusion we had is that really 3.2.1 and thus
www.opengis.net/gml/3.2 is needed for "real" (?) ISO19139, but I'd be
interested what others think about this.
best
Timo
Hello,
I am using GeoNetwork 2.6.4 to provide data using OAI-PMH protocol.
However,
I noticed that when I use the GetRecord request using ISO19139 format, the
returned metadata record cannot be validated. This is not because the
record
itself is not valid but because the GML schema namespace does not
correspond
with the namespaces used in ISO19139 GeoNetwork schema definition. The
example below should explain the issue:
<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:gts="http://www.isotc211.org/2005/gts"
xsi:schemaLocation="http://www.isotc211.org/2005/gmd
http://metadata.biodiversityireland.ie:80/geonetwork/xml/schemas/iso19139/schema.xsd">
In the above example the gml namespace is http://www.opengis.net/gml/3.2
and
therefore using version 3.2.1 of GML specification. However, the default
ISO19139 schema definition (XSDs) in Geonetwork 2.6.4 (and previous) is
using the gml namespace http://www.opengis.net/gml/ and so using version
3.1.1 of GML specification.
The above issue causes that the metadata record as provided cannot be
validated but after I replaced the ISO19139 schema definition with the
latest specification that I downloaded, I can validate it without any
problem.
I had a look into this issue and could not found where the
http://www.opengis.net/gml/3.2 namespace is configured so I presume that
is
hardcoded somewhere in GeoNetwork code. So I had to download GML schema
version 3.2.1, replace it in the ISO19139 schema definition and then fixed
all references to GML within ISO19139 schema to reference the appropriate
namespace http://www.opengis.net/gml/3.2 .
Hope this will help somebody.
Pavel
--
View this message in context:
http://osgeo-org.1803224.n2.nabble.com/Invalid-GML-namespace-using-OAI-PMH-tp6557907p6557907.html
Sent from the GeoNetwork users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
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