Provides access to members that manage and update metadata.
Members
Name | Description | |
---|---|---|
Metadata | The PropertySet containing metadata. | |
Synchronize | Updates metadata with the current properties; may create metadata if it doesn't already exist. |
IMetadata.Metadata Property
The PropertySet containing metadata.
Public Property Metadata As IPropertySet
public IPropertySet Metadata {get; set;}
Remarks
The variable to hold the data must be of IPropertySet data type.
The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/orIXmlPropertySet2 interfaces.
IMetadata.Synchronize Method
Updates metadata with the current properties; may create metadata if it doesn't already exist.
Public Sub Synchronize ( _
ByVal action As esriMetadataSyncAction, _
ByVal interval As Integer _
)
public void Synchronize (
esriMetadataSyncAction action,
int interval
);
Description
The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.
Errors Returned
This method cannot be used if the underlying object is a data element (i.e. DETable, DEFeatureClass).
Remarks
The following actions will result in synchronization given each of the listed conditions:
Action | Metadata status | Esri/Sync element | Interval parameter |
---|---|---|---|
esriMSAAccessed | Doesn't matter | Must not be FALSE | Must be less than actual interval |
esriMSAAlways | Doesn't matter | Doesn't matter | Doesn't matter |
esriMSACreated | Must not exist | Must not be FALSE | Must be less than actual interval |
esriMSANotCreated | Must exist | Must not be FALSE | Must be less than actual interval |
esriMSAOverwrite | Doesn't matter | Doesn't matter | Doesn't matter |
The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.
Classes that implement IMetadata
Classes | Description |
---|---|
CadDrawingName (esriDataSourcesFile) | Cad Drawing Name object |
DENetworkDataset | Network Dataset Data Element object. |
FeatureDatasetName | Esri Feature Dataset Name object. |
FgdbTableName (esriDataSourcesGDB) | File GeoDatabase Table Name object. |
FunctionRasterDataset (esriDataSourcesRaster) | A class for a function raster dataset. |
GeometricNetworkName | Esri Geometric Network Name object. |
NetworkDatasetName | A container for describing this network dataset's name properties. |
ObjectClassName | Esri Object Class Name object. |
RasterBand (esriDataSourcesRaster) | A representation of a single band of a raster dataset on disk. |
RasterBandName | A container for name information about a raster band. |
RasterDataset (esriDataSourcesRaster) | A representation of a raster dataset on disk. |
RasterDatasetName | A container for name information about a raster dataset. |
RelationshipClassName | Esri Relationship Class Name object. |
TableName | Esri Table Name object. |
Tin | The Esri TIN component. |
TinName | The Esri TinName component. |
TopologyName | Esri Topology Name object. |
UtilityNetworkName | A container for describing this utility network's name properties. |
Remarks
The IMetadata interface is implemented by the GxMetadata object and all other objects that support metadata (the bulk of GxObject types). Use this interface when you want to access the set of metadata associated with an object or you want to create new metadata for the object.