Xbase++
Xbase++
Get a Structure Property Value from XMP
See more XMP Examples
Demonstrates how to open a JPG or TIF image file, access the XMP metadata, and fetch the value of a structure property, such as the Iptc4xmpCore:CiTelWork (found within the Iptc4xmpCore:CreatorContactInfo structure).Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oXmp
LOCAL oXml
LOCAL cPropVal
nSuccess := 0
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oXmp := CreateObject("Chilkat.Xmp")
// Load a JPG or TIF image file.
// Sample JPG's with XMP metadata may be found at:
// http://www.chilkatsoft.com/testData/xmp/sample1.jpg
// http://www.chilkatsoft.com/testData/xmp/sample2.jpg
// http://www.chilkatsoft.com/testData/xmp/sample3.jpg
nSuccess := oXmp:LoadAppFile("sample1.jpg")
IF (nSuccess != 1)
? oXmp:LastErrorText
oXmp:destroy()
RETURN
ENDIF
? "Num embedded XMP docs: " + Str(oXmp:NumEmbedded)
// Assuming there is at least one, get the 1st.
// (There is typically never more than one, but theoretically it's possible.)
oXml := oXmp:GetEmbedded(0)
IF (oXmp:LastMethodSuccess == 1)
cPropVal := oXmp:GetStructValue(oXml, "Iptc4xmpCore:CreatorContactInfo", "Iptc4xmpCore:CiTelWork")
IF (oXmp:LastMethodSuccess != 1)
? "Not found."
ELSE
? cPropVal
ENDIF
oXml:destroy()
ELSE
? oXmp:LastErrorText
ENDIF
oXmp:destroy()