Provides access to members that control what happens when synchronization occurs.
Description
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.
Members
Name | Description | |
---|---|---|
ClassID | The class ID of the metadata synchronizer. | |
Name | The name of the metadata synchronizer. | |
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;}
Description
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;}
Description
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
);
Description
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.
Remarks
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). |
Remarks
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.