= 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 [http://portal.opengeospatial.org/files/?artifact_id=20596 OGC 07-038], section F. [[BR]] ---- == Introduction == The specification in [http://portal.opengeospatial.org/files/?artifact_id=20596 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 ISO19139 metadata document; the output is a list of ebRIM !RegistryObjects, of various types. The !RegistryObjects created by this transformation receive unique IDs, but since these are not UUIDs (as they should be) the result of the transformation is post-processed in Java, where they are replaced by newly generated UUIDs. A list of uncertainties about the interpretation of this specification is [wiki:ISO2ebRIMIssues here]. ---- == The transformation of ISO19139 to ebRIM == The transformation takes the following actions : a !RegistryObjectList is created. It contains : 1. an Extrinsic Object '!MetadataInformation'. 2. 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 '!DataMetadata' 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 [http://portal.opengeospatial.org/files/?artifact_id=20596 CIM profile] in section F.3.1. 3. if gmd:parentIdentifier is present, a second '!MetadataInformation' is created representing the parent. ----