IMetadataSynchronizer Interface

Provides access to members that control what happens when synchronization occurs.


Allowing ArcCatalog to automate the metadata process both minimizes work when creating metadata and ensures that metadata is current with changes in the data set properties

With the automatic updating option enabled (available at the Tools > Options > Metadata Tab), metadata is updated when a user selects a dataset in the ArcCatalog tree view while the Metadata Tab is active. In cases where metadata does not exist, metadata will be created rather than updated. Metadata may also be updated for a currently selected dataset when the Create/Update metadata button is clicked or programmatically by calling the IMetadata::Synchronize method.

Since the 9.0 release, ArcCatalog has shipped with three default metadata synchronizers, the FGDCSynchronizer, the ISOSynchronizer and the GNSynchronizer metadata synchronizer. It is also possible to develop a custom metadata synchronizer. Custom synchronizers must be registered before they can be used. The collection of registered metadata synchronization objects is managed by the synchronization manager. When metadata is synchronized, the synchronization manager passes the data property set to the Updatemethod of each active metadata synchronizer. Each active metadata synchronizer then writes to the data set's metadata. Writing instructions are held within the code for each specific metadata synchronizer.

When To Use

The IMetadataSynchronizerdefines the properties of a metadata synchronizer and is used to develop a custom synchronizer. The IMetadataSynchronizerinterface and the IMetadataSynchronizerManagerare the two interfaces that must be created when developing a custom metadata synchronizer.


Name Description
Read-only property ClassID The class ID of the metadata synchronizer.
Read-only property Name The name of the metadata synchronizer.
Method Update Updates the metadata item using the value passed in.

IMetadataSynchronizer.ClassID Property

The class ID of the metadata synchronizer.

Public ReadOnly Property ClassID As UID
public UID ClassID {get;}


A UID object that must be unique to the synchronizer.

IMetadataSynchronizer.Name Property

The name of the metadata synchronizer.

Public ReadOnly Property Name As String
public string Name {get;}


A string that identifies the synchronizer. The Name is used when managing metadata synchronizers through the IMetadataSynchronizationManager interface.

IMetadataSynchronizer.Update Method

Updates the metadata item using the value passed in.

Public Sub Update ( _
    ByVal PropertySet As IXmlPropertySet, _
    ByVal itemDesc As String, _
    ByVal Value As Object _
public void Update (
    IXmlPropertySet PropertySet,
    string itemDesc,
    object Value


This method is used to define the structure of the metadata that is written during synchronization. It is called once for each property of the dataset during synchronization. The method requires three parameters; pPropertySet, itemDesc, and Value.


The pPropertySetparameter is an XML property set representing the metadata of the dataset being synchronized.

The itemDescstring parameter describes what object is being passed in the Value parameter.

The Valueparameter ****is an object of the datasets whose metadata is being synchronized.

The different objects passed to the Update method, the Valueparameter, vary from the type of dataset that is being synchronized. Not all itemDescare supported for all data types. For instance, CoverageEntity objects only apply to ArcGIS for Desktop Advanced coverages and ArcGIS for Desktop Advanced tables.

A complete list of the expected Valuesfor the supported itemDescitems****is available in the Technical Paper "Creating a Custom Metadata Synchronizer," May 2001.

Classes that implement IMetadataSynchronizer

Classes Description
FGDCSynchronizer Esri FGDC Synchronizer object.
MetadataSynchronizer Esri Metadata Synchronizer object (singleton).


The IMetadataSynchronizerInterface is available from the MetadataSynchronizer CoClass. The interface defines the properties of a metadata synchronizer and is used to develop a custom synchronizer.

When creating a custom metadata synchronizer, two read-only properties (Name and ClassID) and one method (Update) must be supported.

Additional information on this subject can be found in the Technical Paper "Creating a Custom Metadata Synchronizer", May 2001.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.