It’s standard practice for communities to define profiles of existing metadata standards to enable interoperability. We are focused on ISO19139-encoded metadata, and developing a conformance class 1 profile for geologic information (http://lab.usgin.org/profiles/doc/use-iso-19139-xml-schema-describe-geoscience-information-resources).
The question is how to specify that a given metadata record conforms to a particular profile. In the context of ISO19115, it appears that the MD_Metadata.metadataStandardName is the intended place for this information. The scope note in ISO19115; 2003, Table B.2.1 states “name of the metadata standard (including profile name) used”. Obviously in order for generic clients to use this information there needs to be some convergence on the exact syntax for specifying the base standard and profile. However, GeoNetwork 2.4 (from subversion trunk 1/27/10) uses URI’s from the namespace declarations in an xml document to distinguish documents using different profiles, not the metadataStandardName (see details on the precise logic below). Thus, given the current code base, in order to introduce a new profile of ISO19139 (conformance class 1—no new elements added) that GeoNetwork will recognize, we have to put in a namespace declaration that serves to identify the profile.
Is this a widely used, undocumented convention for specifying profiles in ISO19139 metadata? Why doesn’t GeoNetwork use the metadataStandardName? My guess is we need a registry for metadataStandardName/profile strings. Its tempting to think that the URI’s geonetwork is using to identify profiles could just as well go in the metadataStandardName, perhaps with an ‘ISO:’ prefix of some sort.
steve
GeoNetwork schema detection logic
In GeoNetwork 2.4, we have determined that the schema detection algorithm works by first looking at the xml root element to detect FGDC, dc, the old ISO19115 xml, and CSW:Record metadata schema. If none of those match and http://www.isotc211.org/2005/gmd is not a declared namespace URI, then autodetect fails at this point.
If http://www.isotc211.org/2005/gmd is a declared namespace URI in the xml file (there may be many namespace declarations), then GeoNetwork attempts to match the xml file to one of the schemas defined in geonetwork\xml\schemas with the following logic:
If http://www.isotc211.org/2005/gmd is not the namespace URI for the root element in the xml being scanned, then GeoNetwork checks to see if the root element URI matches the ‘prime namespace URI’ defined by one of the geonetwork\xml\schemas; this ‘prime namespace’ is the target namespace in schemas<schema>\schema.xsd. If so that identifies the schema, otherwise autodetect fails.
If http://www.isotc211.org/2005/gmd is the namespace URI for the root element in the xml being scanned, then GeoNetwork checks the XML file’s other namespace declarations to see if any of the declared namespace URI’s match one of the geonetwork\xml\schemas prime namespace URIs. If so, then the matching schema is determined to be the file’s schema. If no matching schema is found, then the GeoNetwork ISO19139 profile is used, and what ever is in the metadataStandardName field in the imported metadata record is overwritten with “ISO 19115:2003/19139”, so if there is a profile specified, it is lost.
···
--
Stephen M. Richard
Section Chief, Geoinformatics
Arizona Geological Survey
416 W. Congress St., #100
Tucson, Arizona, 85701 USA
Phone:
Office: (520) 209-4127
Reception: (520) 770-3500
FAX: (520) 770-3505
email: [steve.richard@anonymised.com](mailto:steve.richard@anonymised.com)