Metadata Elements

This section explains how to process metadata elements using the KeyView API.

Standardized Elements

When KeyView understands the meaning of a metadata field in a document, it outputs that data in a standardized element - a MetadataElement object where:

  • the IsStandard() method returns true.
  • the StandardKey property contains the standard key, which indicates the meaning of the element. For a list of standardized keys, see Standardized Metadata Elements. The standard key will not be equal to MetadataKey.Other.
  • the Key property contains a string that is uniquely determined by the standard key. If you are handling the value of a standardized element based on its standard key, you can ignore this value. It is provided so that standardized elements can optionally be handled in the same way as non-standardized elements.
  • the HasStandardAlternative property is false.
  • the IsSuperseded property specifies whether this element has been superseded, meaning that this element exists only to preserve backwards compatibility. An element can be superseded to fix issues with the key or value type. When this property is true, the same metadata is available through an improved MetadataElement in the same Metadata object.

Each standardized element is guaranteed to occur at most once in the metadata output. For example, a Metadata object will contain zero or one MetadataElement objects with the standard key MetadataKey.Title. To get a specific standard element from a Metadata object, pass the standard key to the Find() method.

Non-standardized Elements

Non-standard elements represent native metadata fields. Some non-standard elements might have been used to create a standardized element, and therefore have a standardized alternative. User-created metadata fields, and fields that are unique to one file format, are usually available only as non-standard elements. For a non-standard metadata element:

  • the IsStandard() method returns false.
  • the StandardKey property is MetadataKey.Other.
  • the Key property contains a string representation of a field's key. If a field key exists in the document, that value is returned. Otherwise, KeyView generates a value.
  • the HasStandardAlternative property specifies whether the element has a standardized alternative. When this property is true, this element contains metadata that also exists in a standardized element in the same Metadata object. The standardized element might present the metadata with different units.
  • the IsSuperseded property specifies whether this element has been superseded, meaning that this element exists only to preserve backwards compatibility. An element can be superseded to fix issues with the key or value type. When this property is true, the same metadata is available through an improved MetadataElement element in the same Metadata object.