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 KVMetadataElement object where:
eKey
is the standard key, which indicates the meaning of the element. For a list of standard keys, see Standardized Metadata Elements. The standard key will not be equal toKVMetadataKey_Other
.-
pKey
is uniquely determined byeKey
. If you are handling the value of a standardized element based on itseKey
, you can ignorepKey
.pKey
is provided so that standardized elements can optionally be handled in the same way as non-standardized elements. -
pValue
is converted to a standard type, and, where appropriate, standard units. -
bHasStandardAlternative
isfalse
. bIsSuperseded
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 value istrue
, the same metadata is available through an improvedKVMetadataElement
in the sameKVMetadataList
.
Each standardized element is guaranteed to occur at most once in the metadata output. For example, the metadata output will contain zero or one KVMetadataElement objects with eKey
equal to KVMetadataKey_Title
.
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:
eKey
is set toKVMetadataKey_Other
.pKey
contains a string representation of a field's key. If a field key exists in the document,pKey
is set to that string. Otherwise, KeyView generates a value.pValue
contains the field's value, stored in an appropriate data type.bHasStandardAlternative
specifies whether a non-standardized element has a standardized counterpart. When this member istrue
, this element contains metadata that also exists in a standardizedKVMetadataElement
in the sameKVMetadataList
. The standardized element might present the metadata with different units.bIsSuperseded
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 value istrue
, the same metadata is available through an improvedKVMetadataElement
in the sameKVMetadataList
.