Metadata Examples
If you want to process both standardized and non-standardized metadata elements, you can iterate over metadata elements without checking an element's standard key – both standardized and non-standardized metadata can be handled in the same way. However, standardization provides a way to handle common types of metadata - using the same code for all file formats. Below is an illustrative example.
// Open a document
using (Document myDocument = session.Open(inputFilePath))
using (Metadata metadata = myDocument.Metadata())
{
// Iterate over metadata fields
foreach (MetadataElement element in metadata) using (element)
{
// Skip non-standardized fields
if (element.StandardKey == MetadataKey.Other)
{
continue;
}
// Do something specific with the standardized Word Count field
if (element.StandardKey == MetadataKey.WordCount)
{
// Do something with the word count
}
// General processing for all standard fields
}
}
The following example demonstrates how to take advantage of field standardization, but also avoid processing a metadata field more than once.
using (Metadata metadata = myDocument.Metadata())
{
// Iterate over metadata fields
foreach (MetadataElement element in metadata) using (element)
{
// Process standardized elements where possible but also process
// non-standard elements that have no standardized alternative.
// Ignore duplicate elements output by KeyView for backwards compatibility.
if (!element.HasStandardAlternative && !element.IsSuperseded)
{
// process element
}
}
}