Native Image Format Metadata Queries
This topic provides an overview of the metadata query language queries for reading and writing metadata supported by GIF, PNG, TIFF and JPEG images.It includes metadata that is specific to each image format, as well as metadata that is supported by multiple formats.
This topic contains the following sections.
- Prerequisites
- Photo Metadata Policy Expression
- File Format Specific Metadata
- File Format Independent Metadata
- Related topics
Prerequisites
To understand this topic, you should be familiar with the Windows Imaging Component (WIC) metadata system as described in the WIC Metadata Overview. You should also be familiar with the query language used to read and write metadata, as described in Metadata Query Language Overview.
Photo Metadata Policy Expression
In addition to supporting the metadata query language, WIC also accepts canonical property names from the Windows Property System. WIC supports a subset of the Windows property namespace that is relevant to image formats, as described in Photo Metadata Policies. A Windows property that is used as a WIC metadata query is referred to as a photo metadata policy expression.
For example, the photo metadata policy expression for the EXIF orientation flag is:
In general, policy expressions are recommended over native metadata queries for common image metadata items that are covered by the Windows property namespace. The metadata query language is best suited for cases where low-level access to specific image metadata items is needed, or for custom or advanced metadata items that are not supported by the Windows property system. For more information, see Photo Metadata Policy Expressions.
File Format Specific Metadata
The following sections contain tables that list the available metadata queries for each image file type. Each table has the following columns:
- Path - The query path used to retrieve the metadata item.
- Name - The name of the metadata item.
- Type - The type of the metadata item retrieved from the query path. Metadata retrieved by WIC is returned in the form of PROPVARIANT, which reports the data type using the VARTYPE enumeration.on.
The query paths are used by the WIC metadata API to access the embedded metadata of an image. The following example code demonstrates using an IWICMetadataQueryReader to query for a JPEG's IFD metadata block.
// Not shown: image decoding
IWICMetadataQueryReader *pQueryReader = NULL;
IWICMetadataQueryReader *pIFDReader = NULL;
// Get the query reader.
if (SUCCEEDED(hr))
{
hr = pFrameDecode->GetMetadataQueryReader(&pQueryReader);
}
if (SUCCEEDED(hr))
{
// Get the nested IFD reader.
hr = pQueryReader->GetMetadataByName(L"/app1/ifd", &value);
if (value.vt == VT_UNKNOWN)
{
hr = value.punkVal->QueryInterface(IID_IWICMetadataQueryReader, (void **)&pIFDReader);
}
PropVariantClear(&value); // Clear value for new query.
}
GIF Metadata
The Graphics Interchange Format (GIF) image format supports both global and frame level metadata. The following two sections provide the metadata query paths available for GIF's global and frame level metadata.
Note
For a full list of GIF metadata along with more detailed information, see the GIF standard on the W3C website.
Global Metadata
The following table provides the available metadata query paths that can be used to access global GIF metadata.
Path | Name | Type |
---|---|---|
/commentext or /[*]commentext where * = 0 to N | Comment Extension | VT_UNKNOWN - A query reader/writer |
/commentext/TextEntry | VT_LPSTR | |
/logscrdesc | Logical Screen Description | VT_UNKNOWN - A query reader/writer |
/logscrdesc/Signature | VT_UI1 | VT_VECTOR | |
/logscrdesc/Width | VT_UI2 | |
/logscrdesc/Height | VT_UI2 | |
/logscrdesc/GlobalColorTableFlag | VT_BOOL | |
/logscrdesc/ColorResolution | VT_UI1 | |
/logscrdesc/SortFlag | VT_BOOL | |
/logscrdesc/GlobalColorTableSize | VT_UI1 | |
/logscrdesc/BackgroundColorIndex | VT_UI1 | |
/logscrdesc/PixelAspectRatio | VT_UI1 | |
/appext or /[*]appext where * = 0 to N | Application Extension | VT_UNKNOWN - A query reader/writer |
/appext/Application | VT_UI1 | VT_VECTOR | |
/appext/Data | VT_UI1 | VT_VECTOR |
Frame Metadata
The following table provides the available metadata query paths that can be used to access frame level GIF metadata.
Path | Name | Type |
---|---|---|
/grctlext | Graphic Control Extension | VT_UNKNOWN - query reader/writer |
/grctlext/Disposal | VT_UI1 | |
/grctlext/UserInputFlag | VT_BOOL | |
/grctlext/TransparencyFlag | VT_BOOL | |
/grctlext/Delay | VT_UI2 | |
/grctlext/TransparentColorIndex | VT_UI1 | |
/imgdesc | Image Descriptor | VT_UNKNOWN - query reader/writer |
/imgdesc/Left | VT_UI2 | |
/imgdesc/Top | VT_UI2 | |
/imgdesc/Width | VT_UI2 | |
/imgdesc/Height | VT_UI2 | |
/imgdesc/LocalColorTableFlag | VT_BOOL | |
/imgdesc/InterlaceFlag | VT_BOOL | |
/imgdesc/SortFlag | VT_BOOL | |
/imgdesc/LocalColorTableSize | VT_UI1 |
PNG Metadata
The Portable Network Graphics (PNG) image format supports frame level metadata.
Note
For a full list of PNG metadata along with more detailed information, see the PNG standard on the W3C website.
Frame Metadata
The following table provides the available metadata query paths that can be used to access frame level PNG metadata.
Path | Name | Type |
---|---|---|
/tEXt or /[*]tEXt where * = 0 to N | Text Chunk | VT_UNKNOWN - tEXt query reader/writer |
/tEXt/{str=*} where * = identifying keyword for text | VT_LPSTR | |
/gAMA | Gama Chunk | VT_UNKNOWN - gAMA query reader/writer |
/gAMA/ImageGamma | VT_UI4 | |
/iTXt or /[*]iTXt where * = 0 to N | IText Chunk | VT_UNKNOWN - iTXt query reader/writer |
/iTXt/Keyword | VT_LPSTR | |
/iTXt/CompressionFlag | VT_UI1 | |
/iTXt/LanguageTag | LPSTR | |
/iTXt/TranslatedKeyword | LPWSTR | |
/iTXt/TextEntry | LPWSTR | |
/cHRM | HRM Chunk | VT_UNKNOWN - cHRM query reader/writer |
/cHRM/WhitePointX | VT_UI4 | |
/cHRM/WhitePointY | VT_UI4 | |
/cHRM/RedX | VT_UI4 | |
/cHRM/RedY | VT_UI4 | |
/cHRM/GreenX | VT_UI4 | |
/cHRM/GreenY | VT_UI4 | |
/cHRM/BlueX | VT_UI4 | |
/cHRM/BlueY | VT_UI4 | |
/sRGB | sRGB Chuck | VT_UNKNOWN - sRGB query reader/writer |
/sRGB/RenderingIntent | VT_UI1 | |
/tIME | Time Chunk | VT_UNKNOWN - tIME query reader/writer |
/tIME/Year | VT_UI2 | |
/tIME/Month | VT_UI1 | |
/tIME/Day | VT_UI1 | |
/tIME/Hour | VT_UI1 | |
/tIME/Minute | VT_UI1 | |
/tIME/Second | VT_UI1 | |
/bKGD | Background Chunk | VT_UNKNOWN - bKGB query reader/writer |
/bKGD/BackgroundColor | VT_UI1, VT_UI2 or VT_UI2 | VT_VECTOR | |
/hIST | hIST Chunk | VT_UNKNOWN - hIST query reader/writer |
/hIST/Frequencies | VT_VECTOR | VT_UI2 | |
/iCCP | iCCP Chunk | VT_UNKNOWN - iCCP query reader/writer |
/iCCP/ProfileName | VT_LPSTR | |
/iCCP/ProfileData | VT_VECTOR | VT_UI1 |
TIFF Metadata
The Tagged Image File Format (TIFF) image format supports frame level metadata.
Note
For a full list of TIFF metadata along with more detailed information, see the TIFF standard.
Frame Metadata
The following table provides the available metadata query paths that can be used to access frame level TIFF metadata.
Path | Name | Type |
---|---|---|
/ifd | 0 IFD | VT_UNKNOWN - A query reader/writer |
/ifd/{ushort=*} where * = 0 to 65535 | IFD Entry by ID | Variable |
/ifd/thumb or /ifd/{ushort=330} | Thumbnail IFD | VT_UNKNOWN - A query reader/writer |
/ifd/xmp or /ifd/{ushort=700} | XMP | VT_UNKNOWN - A query reader/writer |
/ifd/exif or /ifd/{ushort=34665} | EXIF | VT_UNKNOWN - A query reader/writer |
/ifd/gps or /ifd/{ushort=34853} | GPS | VT_UNKNOWN - A query reader/writer |
/ifd/exif/interop or /ifd/exif/{ushort=40965} | Interop | VT_UNKNOWN - A query reader/writer |
/ifd/iptc or /ifd/{ushort=33723} | IPTC | VT_UNKNOWN - A query reader/writer |
/ifd/iptc/{str=*} where * = IPTC keyword | IPTC Entry | Variable |
/ifd/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN - A query reader/writer |
/ifd/irb/8bimiptc/iptc/{str=*} | IPTC Entry | Variable |
JPEG Metadata
The JPEG image format supports frame level metadata.
Note
For full list of JPEG metadata along with more detailed information, see the EXIF JPEG standard.
Frame Metadata
The following table provides the available metadata query paths that can be used to access frame level JPEG metadata.
Path | Name | Type |
---|---|---|
/app0 | App0 | VT_UNKNOWN - App0 Query Reader/Writer |
/app0/{ushort=0} | Version | VT_UI2 |
/app0/{ushort=1} | Units | VT_UI1 |
/app0/{ushort=2} | DpiX | VT_UI2 |
/app0/{ushort=3} | DpiY | VT_UI2 |
/app0/{ushort=4} | Xthumbnail | VT_UI1 |
/app0/{ushort=5} | Ythumbnail | VT_UI1 |
/app0/{ushort=6} | ThumbnailData | VT_BLOB |
/app1 | App1 | VT_UNKNOWN - App1 Query Reader/Writer |
/app1/ifd or /app1/{ushort=0} | 0 IFD | VT_UNKNOWN - IFD Query Reader/Writer |
/app1/ifd/exif or /app1/ifd/{ushort=34665} | EXIF IFD | VT_UNKNOWN – EXIF Query Reader/Writer |
/app1/thumb or /app1/{ushort=1} | Thumbnail IFD | VT_UNKNOWN - SubIFD Query Reader/Writer |
/app13 | App13 | VT_UNKNOWN - App13 Query Reader/Writer |
/app13/irb or /app13/{ushort=0} | IRB | VT_UNKNOWN - IRB Query Reader/Writer |
/app13/irb/{ulonglong=*} where * = IRB Identifier (see IRB spec) | IRB Entry | VT_UNKNOWN - Unknown Query Reader/Writer |
/app13/irb/{ulonglong=*}/{} | IRB Entry Contents | VT_BLOB |
/app13/irb/8bimiptc or /app13/irb/{ulonglong=61857348781060} | 8BIMIPTC | VT_UNKNOWN - 8BIMIPTC Query Reader/Writer |
/app13/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN - IPTC Query Reader/Writer |
/app13/irb/8bimiptc/iptc/{str=*} | IPTC Entry | Variable |
/app13/irb/8bimResInfo or /app13/irb/{ulonglong=61857348781037} | 8BIM Resolution Info | VT_UNKNOWN - Query Reader/Writer |
/app13/irb/8bimResInfo/PString | VT_LPSTR | |
/app13/irb/8bimResInfo/HResolution | VT_UI4 | |
/app13/irb/8bimResInfo/VResolution | VT_UI4 | |
/app13/irb/8bimResInfo/WidthUnit | VT_UI2 | |
/app13/irb/8bimResInfo/HeightUnit | VT_UI2 | |
/app13/irb/8bimResInfo/HResolutionUnit | VT_UI2 | |
/app13/irb/8bimResInfo/VResolutionUnit | VT_UI2 | |
/com | JPEG Comment | VT_UNKNOWN - Comment Query Reader/Writer |
/com/TextEntry | LPSTR | |
/luminance | Luminance | VT_UNKNOWN - Luminance Query Reader/Writer |
/luminance/TableEntry | VT_UI1 | VT_VECTOR | |
/chrominance | Chrominance | VT_UNKNOWN - Chrominance Query Reader/Writer |
/chrominance/TableEntry | VT_UI1 | VT_VECTOR | |
/xmp | XMP | VT_UNKNOWN - XMP Query Reader/Writer |
File Format Independent Metadata
The following sections contain information concerning metadata formats that are supported by multiple image formats. Each table has the following columns:
- Relative Path - The query path used to retrieve the metadata item, relative to the metadata block.
- Name - The name of the metadata item.
- Type - The type of the metadata item retrieved from the query path. Metadata retrieved by WIC is returned in the form of PROPVARIANT, which reports the data type using the VARTYPE enumeration.
Note
The tables here only provide the relative path to access a metadata item within the particular metadata format. To get the fully qualified metadata query, append this relative path to the metadata block query for the particular metadata format.
For example, to access the Orientation flag in a JPEG file, use the following expression:
- /app1/ifd/{ushort=274}
In a TIFF file, use the following expression:
- /ifd/{ushort=274}
In this example, note that different image formats may store a particular metadata block differently, and so the fully qualified metadata query to access a particular metadata item may be image format specific. See each format’s table to find the appropriate metadata query to access a particular metadata block.
IFD Metadata
An IFD, or Image File Directory, is a data structure defined in the TIFF standard that can contain image metadata. It identifies each metadata item using a tag of type ushort. JPEG, TIFF, and JPEG-XR support IFD metadata. Third party formats, like some camera raw formats, may also support IFD metadata.
The table here provides relative metadata query paths to access some commonly used IFD metadata items. The IFD data structure allows for third party extensibility and this table is not an exhaustive list. See the TIFF standard for more information.
Note
Although JPEG and other formats support the IFD data structure, they may not use all of the metadata items that it defines. Refer to each format’s standard for more information.
Note
Certain metadata items in the table here require additional interpretation or information to properly use, refer to the TIFF standard. For example, the PhotometricInterpretation metadata item returns a PROPVARIANT of type VT_UI2. However, according to the TIFF standard it is interpreted as an enumeration. See the TIFF standard for more information.
Relative Path | Name | Type |
---|---|---|
/{ushort=256} | ImageWidth | VT_UI2 or VT_UI4 |
/{ushort=257} | ImageLength | VT_UI2 or VT_UI4 |
/{ushort=258} | BitsPerSample | VT_UI2 |
/{ushort=259} | Compression | VT_UI2 |
/{ushort=262} | PhotometricInterpretation | VT_UI2 |
/{ushort=274} | Orientation | VT_UI2 |
/{ushort=277} | SamplesPerPixel | VT_UI2 |
/{ushort=284} | PlanarConfiguration | VT_UI2 |
/{ushort=530} | YCbCrSubSampling | VT_VECTOR | VT_UI2 |
/{ushort=531} | YCbCrPositioning | VT_UI2 |
/{ushort=282} | XResolution | VT_UI8 |
/{ushort=283} | YResolution | VT_UI8 |
/{ushort=296} | ResolutionUnit | VT_UI2 |
/{ushort=306} | DateTime | VT_LPSTR |
/{ushort=270} | ImageDescription | VT_LPSTR |
/{ushort=271} | Make | VT_LPSTR |
/{ushort=272} | Model | VT_LPSTR |
/{ushort=305} | Software | VT_LPSTR |
/{ushort=315} | Artist | VT_LPSTR |
/{ushort=33432} | Copyright | VT_LPSTR |
/{ushort=338} | ExtraSamples | VT_UI2 |
/{ushort=254} | NewSubfileType | VT_UI4 |
/{ushort=278} | RowsPerStrip | VT_UI2 or VT_UI4 |
/{ushort=279} | StripByteCounts | VT_VECTOR | VT_UI2 or VT_VECTOR | VT_UI4 |
/{ushort=273} | StripOffsets | VT_VECTOR | VT_UI2 or VT_VECTOR | VT_UI4 |
EXIF Metadata
EXIF metadata is defined as part of the EXIF JPEG specification. EXIF metadata is based on the IFD data structure as defined in the TIFF standard, and provides additional attributes such as information about the devices and photographic attributes used to create the image. It identifies each metadata item using a tag of type ushort. JPEG, TIFF, and JPEG-XR support EXIF metadata. Third party formats, such as some camera raw formats, may also support EXIF metadata.
The following table provides relative metadata query paths to access some commonly used EXIF metadata items. The EXIF data structure allows for third party extensibility and this table is not an exhaustive list; refer to the EXIF standard for more information.
Note
Many EXIF metadata items are defined in the EXIF standard as type "RATIONAL" or "SRATIONAL". A "RATIONAL" consists of a numerator and denominator, both of which are 32 bit unsigned integers. The numerator is contained in the high 32 bits, and the denominator in the low 32 bits. In WIC, these are returned as PROPVARIANT with a type of VT_UI8 or VT_I8, respectively; the actual value is stored as ULARGE_INTEGER or LARGE_INTEGER, respectively. To access the numerator and denominator, read the HighPart and LowPart members of the ULARGE_INTEGER or LARGE_INTEGER value.
Note
Certain metadata items in the below table require additional interpretation or information to properly use. For example, the ColorSpace metadata item returns a PROPVARIANT of type VT_UI2. However, according to the EXIF standard it is interpreted as an enumeration. See the EXIF standard for more information.
Relative Path | Name | Type |
---|---|---|
/{ushort=36864} | ExifVersion | VT_BLOB |
/{ushort=40960} | FlashpixVersion | VT_BLOB |
/{ushort=40961} | ColorSpace | VT_UI2 |
/{ushort=40962} | PixelXDimension | VT_UI2 or VT_UI4 |
/{ushort=40963} | PixelYDimension | VT_UI2 or VT_UI4 |
/{ushort=37500} | MakerNote | VT_BLOB |
/{ushort=37510} | UserComment | VT_LPWSTR |
/{ushort=36867} | DateTimeOriginal | VT_LPSTR |
/{ushort=36868} | DateTimeDigitized | VT_LPSTR |
/{ushort=42016} | ImageUniqueID | VT_LPSTR |
/{ushort=42032} | CameraOwnerName | VT_LPSTR |
/{ushort=42033} | BodySerialNumber | VT_LPSTR |
/{ushort=42034} | LensSpecification | VT_VECTOR | VT_UI8 |
/{ushort=42035} | LensMake | VT_LPSTR |
/{ushort=42036} | LensModel | VT_LPSTR |
/{ushort=42037} | LensSerialNumber | VT_LPSTR |
/{ushort=33434} | ExposureTime | VT_UI8 |
/{ushort=33437} | FNumber | VT_UI8 |
/{ushort=34850} | ExposureProgram | VT_UI2 |
/{ushort=34852} | SpectralSensitivity | VT_LPSTR |
/{ushort=34855} | PhotographicSensitivity | VT_VECTOR | VT_UI2 |
/{ushort=34856} | OECF | VT_BLOB |
/{ushort=34864} | SensitivityType | VT_UI2 |
/{ushort=34865} | StandardOutputSensitivity | VT_UI4 |
/{ushort=34866} | RecommendedExposureIndex | VT_UI4 |
/{ushort=34867} | ISOSpeed | VT_UI4 |
/{ushort=34868} | ISOSpeedLatitudeyyy | VT_UI4 |
/{ushort=34869} | ISOSpeedLatitudezzz | VT_UI4 |
/{ushort=37377} | ShutterSpeedValue | VT_I8 |
/{ushort=37378} | ApertureValue | VT_UI8 |
/{ushort=37379} | BrightnessValue | VT_I8 |
/{ushort=37380} | ExposureBiasValue | VT_I8 |
/{ushort=37381} | MaxApertureValue | VT_UI8 |
/{ushort=37382} | SubjectDistance | VT_UI8 |
/{ushort=37383} | MeteringMode | VT_UI2 |
/{ushort=37384} | LightSource | VT_UI2 |
/{ushort=37385} | Flash | VT_UI2 |
/{ushort=37386} | FocalLength | VT_UI8 |
/{ushort=37396} | SubjectArea | VT_VECTOR | VT_UI2 |
/{ushort=41483} | FlashEnergy | VT_UI8 |
/{ushort=41484} | SpatialFrequencyResponse | VT_BLOB |
/{ushort=41486} | FocalPlaneXResolution | VT_UI8 |
/{ushort=41487} | FocalPlaneYResolution | VT_UI8 |
/{ushort=41488} | FocalPlaneResolutionUnit | VT_UI2 |
/{ushort=41492} | SubjectLocation | VT_VECTOR | VT_UI2 |
/{ushort=41493} | ExposureIndex | VT_UI8 |
/{ushort=41495} | SensingMethod | VT_UI2 |
/{ushort=41728} | FileSource | VT_BLOB |
/{ushort=41729} | SceneType | VT_BLOB |
/{ushort=41730} | CFAPattern | VT_BLOB |
/{ushort=41985} | CustomRendered | VT_UI2 |
/{ushort=41986} | ExposureMode | VT_UI2 |
/{ushort=41987} | WhiteBalance | VT_UI2 |
/{ushort=41988} | DigitalZoomRatio | VT_UI8 |
/{ushort=41989} | FocalLengthIn35mmFilm | VT_UI2 |
/{ushort=41990} | SceneCaptureType | VT_UI2 |
/{ushort=41991} | GainControl | VT_UI8 |
/{ushort=41992} | Contrast | VT_UI2 |
/{ushort=41993} | Saturation | VT_UI2 |
/{ushort=41994} | Sharpness | VT_UI2 |
/{ushort=41995} | DeviceSettingDescription | VT_BLOB |
/{ushort=41996} | SubjectDistanceRange | VT_UI2 |
GPS Metadata
GPS metadata contains geolocation information and is defined as part of the EXIF JPEG specification. It identifies each metadata item using a tag of type ushort. JPEG, TIFF, and JPEG-XR support GPS metadata; third party formats, like some camera raw formats, may also support GPS metadata.
The following table provides relative metadata query paths to access some commonly used GPS metadata items. This table is not an exhaustive list; refer to the EXIF standard for more information.
Note
Many GPS metadata items are defined in the EXIF standard as type "RATIONAL". A "RATIONAL" consists of a numerator and denominator, both of which are 32 bit unsigned integers. The numerator is contained in the high 32 bits, and the denominator in the low 32 bits. In WIC, these are returned as PROPVARIANT with a type of VT_UI8. The actual value is stored as ULARGE_INTEGER. To access the numerator and denominator, read the HighPart and LowPart members of the ULARGE_INTEGER value.
Note
Certain metadata items in the table here require additional interpretation or information to properly use. For example, the GPSLatitudeRef metadata item returns a PROPVARIANT of type VT_LPSTR. According to the EXIF standard this string is either "N" or "S", representing North or South latitude. See the EXIF standard for more information.
Relative Path | Name | Type |
---|---|---|
{ushort=0} | GPSVersionID | VT_VECTOR | VT_UI1 |
{ushort=1} | GPSLatitudeRef | VT_LPSTR |
{ushort=2} | GPSLatitude | VT_VECTOR | VT_UI8 |
{ushort=3} | GPSLongitudeRef | VT_LPSTR |
{ushort=4} | GPSLongitude | {ushort=4} GPSLongitude VT_VECTOR | VT_UI8 |
{ushort=5} | GPSAltitudeRef | VT_UI1 |
{ushort=6} | GPSAltitude | VT_UI8 |
{ushort=7} | GPSTimeStamp | VT_VECTOR | VT_UI8 |
{ushort=8} | GPSSatellites | VT_LPSTR |
{ushort=9} | GPSStatus | VT_LPSTR |
{ushort=10} | GPSMeasureMode | VT_LPSTR |
{ushort=11} | GPSDOP | VT_UI8 |
{ushort=12} | GPSSpeedRef | VT_LPSTR |
{ushort=13} | GPSSpeed | VT_UI8 |
{ushort=14} | GPSTrackRef | VT_LPSTR |
{ushort=15} | GPSTrack | VT_UI8 |
XMP Metadata
XMP is an XML-based, extensible metadata standard. Metadata items can be hierarchical and contain complex data structures. JPEG, TIFF, and JPEG-XR support XMP metadata. Third party formats, like some camera raw formats, may also support XMP metadata.
The XMP standard can be obtained from: https://www.adobe.com/devnet/xmp.html.
XMP and allows third party entities to publish their own schemas, or namespaces, which allow them to define new metadata items without having to modify the XMP standard. An XMP schema is uniquely identified by a URL, but WIC provides a set of friendly identifiers for well-known schemas.
XMP metadata items are identified by a string name as well as a schema identifier. As a best practice, every XMP metadata query should specify both the schema and name. If the schema identifier is missing, then JPEG will attempt to match the metadata name across all of the namespaces present within the XMP metadata packet.
For example, to obtain the Rating property as defined by the XMP schema in a JPEG image, use the following query:
- /xmp/{wstr=https://ns.adobe.com/xap/1.0/}:Rating
The first part, "/xmp", retrieves the XMP metadata reader/writer for the image. "https://ns.adobe.com/xap/1.0/" is the URL of the XMP schema, as defined in the XMP standard. The URL is enclosed in a data expression to allow the use of characters such as a forward slash (/). Finally, "Rating" is the actual metadata item name as defined by the XMP schema and it is separated from the schema identifier by a colon (:).
In this example, WIC provides a friendly identifier for the XMP schema which can be used in place of the full URL. So, the previous query can be rewritten as:
- /xmp/xmp:Rating
WIC provides friendly schema prefixes for the following commonly used schemas:
If there is no friendly schema prefix for a particular schema, for example if an image contains XMP metadata using a custom third party schema, the metadata query should use the full schema URL.
Related topics
-
Conceptual