Skip to content

The History of the gmi Namespace

Ted Habermann edited this page Jun 5, 2015 · 22 revisions

Introduction

The gmi namespace was created shortly after ISO 19115-2 (the conceptual model) was published in order to provide an XML implementation for the concepts included in ISO 19115-2. There are a number of schema implementations available for this namespace. These versions were created by users that needed them to use 19115-2. This page tries to recreate the history of the namespace as if we were using git to track versions.

The directory structure for the repository reflects the structure we are trying to encourage for the ISO TC211 Schema Repository: namespace/version/date (yyyy-mm-dd)/*.xsd

The date directories were created using the dates of the actual schema edits. The root directory is where changes are merged into the current best schema.

Document/Schema Timeline

Three critical documents were created as ISO 19115-2 neared final status:

  1. The Final Committee Draft (Doc. # 2171) - 2007-03-08

  2. The Draft International Standard (Doc. # 2287) - 2007-09-19

  • The Initial Schema - 2008-04-04
  1. The International Standard (Doc. # 2492) - 2008-07-21
  • The NGDC Schema - 2009-04-30
  1. 19139-2 The XML Implementation Project Team initial meeting - 2011-05-23

  2. ISO/TC211 Doc. #3305 - Final text for TS, ISO/DTS 19139-2 (2012-03-26)

  3. ISO/TC211 Doc. #3307 - Internal note related to document N 3305 (2012-03-26)

  1. 19139-2 (Doc. #3411) Final Technical Specification - 2012-10-24

Initial Schemas

The first schemas were created on April 4, 2008 at IGN, several months after the Draft International Standard was published. They include an initial comment that says "edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS)" and documentation that says "This file was generated from ISO TC/211 UML class diagrams == 04-04-2008 17:12:48 ======".

The details of how these schema were created are not clear. As far as I know, no automated mechanism for schema generation existed during 2008. There are also several inconsistencies between Figures A.8 and A.9 in ISO/DIS 19115-2. In any case, there were a number of errors and omissions in the schemas. For example, the MI_EnvironmentalRecord class was omitted, MD_Identifiers were missing from several classes, and cardinalities were incorrect in many cases.

#The NGDC Schemas (2009-05-01) The metadata group at NOAA's National Geophysical Data Center (NGDC) was working to encourage the adoption of ISO 19115-2 in NOAA. A schema that matched the International Standard was critical in this adoption process. Ted Habermann and Anna Milan, in consultation with Nicholas Lesage and others at IGN, made a series of edits that brought the schema closer to compliance with the published standard. Missing elements were added and cardinalities were corrected as noted in comments in these schema documents. The fact that the MI_EnvironmentalRecord class was missing was not noticed at NGDC, so it was not added to the schema.

These corrections were added to the git repository in the branch NGDC-Fixes-to-19115-2.

#ISO 19139-2 The XML Implementation Creation of the offical XML Implementation of 19115-2 (ISO 19139-2) started with a new work item proposal during 2010 and the final ISO Technical Specification was published during 2012. The final schemas were generated from ISO TC/211 UML class diagrams during July 2011. They include the statement "This file was generated from ISO TC/211 UML class diagrams == 07-30-2010 11:34:36 ======".

These schemas are available from in the ISO TC211 schema repository at http://www.isotc211.org/2005/gmi. This directory was created during July 2011, a year after the schemas were created. The files were uploaded during March of 2012, at the same time as the release of the final text for 19139-2 (Doc. #3305) and an internal note (Doc. #3307) describing XMG responsibilities with respect to those schemas.

According to the documentation in these schemas, they were generated from the ISO/TC/211 UML diagrams, but it is not clear exactly how this was done. Unfortunately, the order of the classes in this version of the schema is completely different from the order of the classes in the NGDC schema, making it difficult to identify specific differences. This order does not effect the performance of the schema, but it makes it difficult to understand the changes. In order to simplify this process, the order of the classes were changes in the Adjust-order branch of the 2010-07-30 directory in the repository. Once that was done, the individual files could be examined for differences and compared to ISO 19115-2.

overview

schemaLocations - The 2010-07-30 schemas use the PubliclyAvailableStandards/ISO_19139_Schemas repository for the gmd and gco namespaces while the NGDC schemas (derived from the 2008 schemas) use the isotc211/2005 repositories with relative links (e.g. ../gco/gco.xsd).

maxOccurs - Many of the differences between the 2010-07-30 schema and the NGDC schema involve the specification of a value for the maxOccurs attribute of the xs:element element. The 2010 schemas take advantage of the fact that the default value for this attribute is 1 and omits the attribute for cardinalities like [0..1]. In contrast, the NGDC schemas (derived from the 2008 schemas) include the maxOccurs="1" attribute. There is no "correct" approach here.

##dataQualityInformation

  1. softwareReference cardinality - The NGDC schema and 19115-3 schema have maxOccurs = "1". 19115-2 has maxOccurs = "unbounded". This is likely an error in the harmonized model. See #31.

  2. LI_ProcessStep element ordering

  • NGDC - processingInformation, output, report
  • 2010-07-30 - output, report, processingInformation
  • 19115-3 - processingInformation, report, output

Logic (if applicable) would support the 19115-3 implementation and the transform from 19139 to 19115-3 should correct the order for either NGDC or 2010-07-30 instance documents.

  1. QE_CoverageResult element ordering NGDC - spatialRepresentationType, resultFile, resultSpatialRepresentation, resultContentDescription, resultFormat 19115-3 - spatialRepresentationType, resultFile, resultSpatialRepresentation, resultContentDescription, resultFormat 2010-07-30 - spatialRepresentationType, resultSpatialRepresentation, resultContentDescription, resultFormat, resultFile

  2. MX_Datafile - definition included in 2010-07-30/dataQualityInformation.xsd, not included in corresponding NGDC or 19115-3 schema. The NGDC schema imports namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd" to get the definition of this type. 19115-3 defines this type in mdt/metadataTransfer.xsd as an extension of AbstractMX_File (adds featureTypes to fileName, fileDescription, and fileType).

##contentInformation All differences covered in the overview.

##spatialRepresentationInformation

  1. platformParameters - The 2010-07-30 schema reintroduces the MI_Georeferenceable/platformParameters element that was removed in the NGDC schema in order to match 19115-2. This element also exists in 19115-3 which suggests that it is an error in the Harmonized Model. See Issue.

  2. MI_Georectified/geolocationIdentification - The 2010-07-30 schemas reintroduces the MI_Georectified/geolocationIdentification element that was deleted from 19115-2. The transform should not include this element.

  3. MI_GCP/accuracyReport - The MI_GCP/accuracyReport element that was removed from 19115-2 is back in 19115-3. This suggests that it is an error in the Harmonized Model. See Issue.

  4. AbstractMI_GeolocationInformation/qualityInfo The AbstractMI_GeolocationInformation/qualityInfo element that was removed from 19115-2 is back in 19115-3. This suggests that it is an error in the Harmonized Model. See Issue.

##acquisitionInformation MI_Operation/identifier - 2010-07-30 has MI_Operation/identifier as an optional element but 19115-2 has is as required.

MI_Operation element order - 19115-3, NGDC - description, citation, identifier, status, type, parentOperation, childOperation, platform, objective, plan, significantEvent 2010-07-30 - description, citation, identifier, status, type, objective, plan, childOperation, significantEvent, platform

AcquisitionInformation element order - NGDC - instrument, operation, platform, acquisitionPlan, objective, acquisitionRequirement 2010-07-30 - acquisitionRequirement, objective, instrument, acquisitionPlan, operation, platform, environmentalConditions 19115-3 - instrument, operation, platform, acquisitionPlan, objective, acquisitionRequirement, environmentalConditions

MI_EnvironmentalRecord - 2010-07-30 - includes MI_EnvironmentalRecord, as does 19115-3. NGDC - missing MI_EnvironmentalRecord.

#Standards.iso.org schema During early 2015 the absence of a reference to the gmx namespace in 19139-2 was noted along with the incorrect redefinition of gmx:MX_DataFile as gmi:MX_DataFile noted above. All of these problems, taken together, indicated that a new version of the gmi schema was required. The revisions included replacing the relative import paths (e.g. ../gco/gco.xsd) to other namespaces with the PubliclyAvailableStandards/ISO_19139_Schemas, adding the gmx import, and using the order of the UML. These revisions are now available at http://standards.iso.org/iso/19115/-2/gmi/1.0/.