wiki:ISO2ebRIM

Version 5 (modified by heikki, 15 years ago) ( diff )

--

ebXML : Transforming ISO19139 metadata to ebRIM

author: Heikki Doeleman

This page describes GeoNetwork's implementation of the transformation of ISO19139 metadata to ebRIM data. This is specified in OGC 07-038, section F.


Introduction

The specification in OGC 07-038 section F about how to register ISO metadata in a ebRIM registry is rather obscure. I will attempt to describe the process on this page. The implementation in GeoNetwork is in the form of an XSLT transformation. The input for this transformation is an ISO 19139 metadata document; the output is a list of ebRIM RegistryObjects, of various types. The RegistryObjects created by this transformation need unique IDs, which are generated in Java; thus the result of the transformation needs a post-processing step in Java, where placeholders for IDs are replaced by newly generated IDs.

A list of uncertainties about the interpretation of this specification is here.


The transformation of ISO 19139 to ebRIM

The transformation takes the following actions :

a RegistryObjectList is created. It contains :

  1. an Extrinsic Object 'MetadataInformation'.
  1. an Extrinsic Object '!Datametadata' or 'ServiceMetadata'. This depends on the presence of either gmd:MD_metadata/gmd:identificationInfo/gmd:MD_DataIdentification or gmd:MD_metadata/gmd:identificationInfo/gmd:MD_ServiceIdentification (in both cases 'MetadataInformation' is created) or gmd:MD_metadata/gmd:identificationInfo/srv:SV_ServiceIdentification ('ServiceMetadata' is created).

The transformation does this for each gmd:identificationInfo; the caller of the transformation is supposed to check the 1..1 cardinality on that element imposed by the CIM profile.

  1. if gmd:parentIdentifier is present, a second 'MetadataInformation' is created representing the parent.

Note: See TracWiki for help on using the wiki.