Sample code for 30+ languages & platforms
Xbase++

Extract XMP MetaData as XML

See more XMP Examples

Demonstrates how to open a JPG or TIF image file and extract the XMP metadata as XML.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oXmp
LOCAL oXml
LOCAL cRdf_Description_rdf_about
LOCAL cRdf_Description_xmlns_xmpPLUS
LOCAL cRdf_Description_xmlns_Iptc4xmpCore
LOCAL cRdf_Description_xmlns_exif
LOCAL cRdf_Description_xmlns_pdf
LOCAL cRdf_Description_xmlns_photoshop
LOCAL cRdf_Description_xmlns_tiff
LOCAL cRdf_Description_xmlns_xap
LOCAL cRdf_Description_xmlns_stRef
LOCAL cRdf_Description_xmlns_xapMM
LOCAL cRdf_Description_xmlns_xapRights
LOCAL cRdf_Description_xmlns_dc
LOCAL cXmpPLUS_CreditLineReq
LOCAL cXmpPLUS_ReuseAllowed
LOCAL cIptc4xmpCore_IntellectualGenre
LOCAL cIptc4xmpCore_Location
LOCAL cIptc4xmpCore_CountryCode
LOCAL cIptc4xmpCore_CreatorContactInfo_rdf_parseType
LOCAL cIptc4xmpCore_CiAdrExtadr
LOCAL cIptc4xmpCore_CiAdrCity
LOCAL cIptc4xmpCore_CiAdrRegion
LOCAL nIptc4xmpCore_CiAdrPcode
LOCAL cIptc4xmpCore_CiAdrCtry
LOCAL cIptc4xmpCore_CiTelWork
LOCAL cIptc4xmpCore_CiEmailWork
LOCAL cIptc4xmpCore_CiUrlWork
LOCAL nRdf_li
LOCAL nExif_ColorSpace
LOCAL nExif_PixelXDimension
LOCAL nExif_PixelYDimension
LOCAL cPhotoshop_AuthorsPosition
LOCAL cPhotoshop_Headline
LOCAL cPhotoshop_CaptionWriter
LOCAL cPhotoshop_DateCreated
LOCAL cPhotoshop_City
LOCAL cPhotoshop_State
LOCAL cPhotoshop_Country
LOCAL cPhotoshop_TransmissionReference
LOCAL cPhotoshop_Instructions
LOCAL cPhotoshop_Credit
LOCAL cPhotoshop_Source
LOCAL cTiff_XResolution
LOCAL cTiff_YResolution
LOCAL nTiff_ResolutionUnit
LOCAL nTiff_Orientation
LOCAL cXap_CreateDate
LOCAL cXap_ModifyDate
LOCAL cXap_MetadataDate
LOCAL cXap_CreatorTool
LOCAL cXapMM_DerivedFrom_rdf_parseType
LOCAL cStRef_instanceID
LOCAL cStRef_documentID
LOCAL cXapMM_DocumentID
LOCAL cXapRights_Marked
LOCAL cXapRights_WebStatement
LOCAL cRdf_li_xml_lang
LOCAL cStrRdf_li
LOCAL cDc_format
LOCAL j
LOCAL nCount_j
LOCAL cX_xmpmeta_xmlns_x
LOCAL cX_xmpmeta_x_xmptk
LOCAL cRdf_RDF_xmlns_rdf
LOCAL cRdf_RDF_xmlns_iX
LOCAL i
LOCAL nCount_i

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:
//  https://www.chilkatsoft.com/testData/xmp/sample1.jpg
//  https://www.chilkatsoft.com/testData/xmp/sample2.jpg
//  https://www.chilkatsoft.com/testData/xmp/sample3.jpg
nSuccess := oXmp:LoadAppFile("qa_data/xmp/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 == 0)
    ? "No XMP metadata found."
    oXmp:destroy()
    RETURN
ENDIF

? oXml:GetXml()

//  Sample output:

//  <?xml version="1.0" encoding="utf-8"?>
//  <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP toolkit 3.0-28, framework 1.6">
//      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:iX="http://ns.adobe.com/iX/1.0/">
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:xmpPLUS="XMP Photographic Licensing Universal System (xmpPLUS, http://ns.adobe.com/xap/1.0/PLUS/)">
//              <xmpPLUS:CreditLineReq>False</xmpPLUS:CreditLineReq>
//              <xmpPLUS:ReuseAllowed>False</xmpPLUS:ReuseAllowed>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/">
//              <Iptc4xmpCore:IntellectualGenre>Profile</Iptc4xmpCore:IntellectualGenre>
//              <Iptc4xmpCore:Location>Lake Superior</Iptc4xmpCore:Location>
//              <Iptc4xmpCore:CountryCode>US</Iptc4xmpCore:CountryCode>
//              <Iptc4xmpCore:CreatorContactInfo rdf:parseType="Resource">
//                  <Iptc4xmpCore:CiAdrExtadr>John Doe Photography, 123 Maple Lane</Iptc4xmpCore:CiAdrExtadr>
//                  <Iptc4xmpCore:CiAdrCity>Champaign</Iptc4xmpCore:CiAdrCity>
//                  <Iptc4xmpCore:CiAdrRegion>Illinois</Iptc4xmpCore:CiAdrRegion>
//                  <Iptc4xmpCore:CiAdrPcode>61820</Iptc4xmpCore:CiAdrPcode>
//                  <Iptc4xmpCore:CiAdrCtry>USA</Iptc4xmpCore:CiAdrCtry>
//                  <Iptc4xmpCore:CiTelWork>+1 (217) 1234567</Iptc4xmpCore:CiTelWork>
//                  <Iptc4xmpCore:CiEmailWork>john@doe.com</Iptc4xmpCore:CiEmailWork>
//                  <Iptc4xmpCore:CiUrlWork>www.doe.com</Iptc4xmpCore:CiUrlWork>
//              </Iptc4xmpCore:CreatorContactInfo>
//              <Iptc4xmpCore:SubjectCode>
//                  <rdf:Bag>
//                      <rdf:li>14024001</rdf:li>
//                  </rdf:Bag>
//              </Iptc4xmpCore:SubjectCode>
//              <Iptc4xmpCore:Scene>
//                  <rdf:Bag>
//                      <rdf:li>012300</rdf:li>
//                  </rdf:Bag>
//              </Iptc4xmpCore:Scene>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:exif="http://ns.adobe.com/exif/1.0/">
//              <exif:ColorSpace>1</exif:ColorSpace>
//              <exif:PixelXDimension>288</exif:PixelXDimension>
//              <exif:PixelYDimension>432</exif:PixelYDimension>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"/>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
//              <photoshop:AuthorsPosition>Photographer</photoshop:AuthorsPosition>
//              <photoshop:Headline>Young boy yelling</photoshop:Headline>
//              <photoshop:CaptionWriter>John Doe</photoshop:CaptionWriter>
//              <photoshop:DateCreated>2004-08-19</photoshop:DateCreated>
//              <photoshop:City>Marquette</photoshop:City>
//              <photoshop:State>Michigan</photoshop:State>
//              <photoshop:Country>United States</photoshop:Country>
//              <photoshop:TransmissionReference>PO 34567</photoshop:TransmissionReference>
//              <photoshop:Instructions>Original RAW capture Nikon D2X, Adobe RGB 1998.</photoshop:Instructions>
//              <photoshop:Credit>John Doe Photography</photoshop:Credit>
//              <photoshop:Source>John Doe Photography</photoshop:Source>
//              <photoshop:History/>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
//              <tiff:XResolution>72/1</tiff:XResolution>
//              <tiff:YResolution>72/1</tiff:YResolution>
//              <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
//              <tiff:Orientation>1</tiff:Orientation>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:xap="http://ns.adobe.com/xap/1.0/">
//              <xap:CreateDate>2005-03-13T02:02:29-06:00</xap:CreateDate>
//              <xap:ModifyDate>2005-03-13T02:02:29-06:00</xap:ModifyDate>
//              <xap:MetadataDate>2005-03-13T02:02:29-06:00</xap:MetadataDate>
//              <xap:CreatorTool>Adobe Photoshop CS Windows</xap:CreatorTool>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/">
//              <xapMM:DerivedFrom rdf:parseType="Resource">
//                  <stRef:instanceID>uuid:f5b64171-9394-11d9-bb8e-a67e6693b6e9</stRef:instanceID>
//                  <stRef:documentID>adobe:docid:photoshop:e4d002a4-9392-11d9-bb8e-a67e6693b6e9</stRef:documentID>
//              </xapMM:DerivedFrom>
//              <xapMM:DocumentID>adobe:docid:photoshop:0f410647-9396-11d9-bb8e-a67e6693b6e9</xapMM:DocumentID>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:xapRights="http://ns.adobe.com/xap/1.0/rights/">
//              <xapRights:Marked>True</xapRights:Marked>
//              <xapRights:WebStatement>http://www.doe.com</xapRights:WebStatement>
//              <xapRights:RightsUsageTerms>
//                  <rdf:Alt>
//                      <rdf:li xml:lang="x-default">For consideration only, no reproduction without prior permission</rdf:li>
//                  </rdf:Alt>
//              </xapRights:RightsUsageTerms>
//              <xapRights:UsageTerms>
//                  <rdf:Alt>
//                      <rdf:li xml:lang="x-default">For consideration only, no reproduction without prior permission</rdf:li>
//                  </rdf:Alt>
//              </xapRights:UsageTerms>
//          </rdf:Description>
//          <rdf:Description rdf:about="uuid:0f410648-9396-11d9-bb8e-a67e6693b6e9" xmlns:dc="http://purl.org/dc/elements/1.1/">
//              <dc:format>image/jpeg</dc:format>
//              <dc:description>
//                  <rdf:Alt>
//                      <rdf:li xml:lang="x-default">Three year old African American boy yells with joy on beach during vacation.</rdf:li>
//                  </rdf:Alt>
//              </dc:description>
//              <dc:title>
//                  <rdf:Alt>
//                      <rdf:li xml:lang="x-default">20040819_pe_014578d.nef</rdf:li>
//                  </rdf:Alt>
//              </dc:title>
//              <dc:rights>
//                  <rdf:Alt>
//                      <rdf:li xml:lang="x-default">�2004 John Doe, all rights reserved</rdf:li>
//                  </rdf:Alt>
//              </dc:rights>
//              <dc:creator>
//                  <rdf:Seq>
//                      <rdf:li>John Doe</rdf:li>
//                  </rdf:Seq>
//              </dc:creator>
//              <dc:subject>
//                  <rdf:Bag>
//                      <rdf:li>boy</rdf:li>
//                      <rdf:li>gender</rdf:li>
//                      <rdf:li>human beings</rdf:li>
//                      <rdf:li>humans</rdf:li>
//                      <rdf:li>lad</rdf:li>
//                      <rdf:li>male</rdf:li>
//                      <rdf:li>people</rdf:li>
//                      <rdf:li>3-12 years old</rdf:li>
//                      <rdf:li>age</rdf:li>
//                      <rdf:li>child</rdf:li>
//                      <rdf:li>youth</rdf:li>
//                      <rdf:li>african american</rdf:li>
//                      <rdf:li>african-american</rdf:li>
//                      <rdf:li>black</rdf:li>
//                      <rdf:li>ethnic</rdf:li>
//                      <rdf:li>ethnicity</rdf:li>
//                      <rdf:li>people of color</rdf:li>
//                      <rdf:li>race</rdf:li>
//                      <rdf:li>beach</rdf:li>
//                      <rdf:li>nature</rdf:li>
//                      <rdf:li>scenery</rdf:li>
//                      <rdf:li>emotion</rdf:li>
//                      <rdf:li>emotional</rdf:li>
//                      <rdf:li>emotions</rdf:li>
//                      <rdf:li>happiness</rdf:li>
//                      <rdf:li>happy</rdf:li>
//                      <rdf:li>joy</rdf:li>
//                      <rdf:li>joyful</rdf:li>
//                      <rdf:li>joyous</rdf:li>
//                  </rdf:Bag>
//              </dc:subject>
//          </rdf:Description>
//      </rdf:RDF>
//  </x:xmpmeta>

//  You can generate parsing code using Chilkat's online tool : 
//  Generate Parsing Code from XML

cX_xmpmeta_xmlns_x := oXml:GetAttrValue("xmlns:x")
cX_xmpmeta_x_xmptk := oXml:GetAttrValue("x:xmptk")
cRdf_RDF_xmlns_rdf := oXml:ChilkatPath("rdf:RDF|(xmlns:rdf)")
cRdf_RDF_xmlns_iX := oXml:ChilkatPath("rdf:RDF|(xmlns:iX)")
i := 0
nCount_i := oXml:NumChildrenHavingTag("rdf:RDF|rdf:Description")
DO WHILE i < nCount_i
    oXml:I := i
    cRdf_Description_rdf_about := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(rdf:about)")
    cRdf_Description_xmlns_xmpPLUS := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:xmpPLUS)")
    cRdf_Description_xmlns_Iptc4xmpCore := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:Iptc4xmpCore)")
    cRdf_Description_xmlns_exif := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:exif)")
    cRdf_Description_xmlns_pdf := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:pdf)")
    cRdf_Description_xmlns_photoshop := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:photoshop)")
    cRdf_Description_xmlns_tiff := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:tiff)")
    cRdf_Description_xmlns_xap := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:xap)")
    cRdf_Description_xmlns_stRef := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:stRef)")
    cRdf_Description_xmlns_xapMM := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:xapMM)")
    cRdf_Description_xmlns_xapRights := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:xapRights)")
    cRdf_Description_xmlns_dc := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|(xmlns:dc)")
    cXmpPLUS_CreditLineReq := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xmpPLUS:CreditLineReq")
    cXmpPLUS_ReuseAllowed := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xmpPLUS:ReuseAllowed")
    cIptc4xmpCore_IntellectualGenre := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:IntellectualGenre")
    cIptc4xmpCore_Location := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:Location")
    cIptc4xmpCore_CountryCode := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CountryCode")
    cIptc4xmpCore_CreatorContactInfo_rdf_parseType := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|(rdf:parseType)")
    cIptc4xmpCore_CiAdrExtadr := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrExtadr")
    cIptc4xmpCore_CiAdrCity := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrCity")
    cIptc4xmpCore_CiAdrRegion := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrRegion")
    nIptc4xmpCore_CiAdrPcode := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrPcode")
    cIptc4xmpCore_CiAdrCtry := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrCtry")
    cIptc4xmpCore_CiTelWork := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiTelWork")
    cIptc4xmpCore_CiEmailWork := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiEmailWork")
    cIptc4xmpCore_CiUrlWork := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiUrlWork")
    nRdf_li := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:SubjectCode|rdf:Bag|rdf:li")
    nRdf_li := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|Iptc4xmpCore:Scene|rdf:Bag|rdf:li")
    nExif_ColorSpace := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|exif:ColorSpace")
    nExif_PixelXDimension := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|exif:PixelXDimension")
    nExif_PixelYDimension := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|exif:PixelYDimension")
    cPhotoshop_AuthorsPosition := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:AuthorsPosition")
    cPhotoshop_Headline := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:Headline")
    cPhotoshop_CaptionWriter := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:CaptionWriter")
    cPhotoshop_DateCreated := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:DateCreated")
    cPhotoshop_City := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:City")
    cPhotoshop_State := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:State")
    cPhotoshop_Country := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:Country")
    cPhotoshop_TransmissionReference := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:TransmissionReference")
    cPhotoshop_Instructions := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:Instructions")
    cPhotoshop_Credit := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:Credit")
    cPhotoshop_Source := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|photoshop:Source")
    cTiff_XResolution := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|tiff:XResolution")
    cTiff_YResolution := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|tiff:YResolution")
    nTiff_ResolutionUnit := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|tiff:ResolutionUnit")
    nTiff_Orientation := oXml:GetChildIntValue("rdf:RDF|rdf:Description[i]|tiff:Orientation")
    cXap_CreateDate := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xap:CreateDate")
    cXap_ModifyDate := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xap:ModifyDate")
    cXap_MetadataDate := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xap:MetadataDate")
    cXap_CreatorTool := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xap:CreatorTool")
    cXapMM_DerivedFrom_rdf_parseType := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|(rdf:parseType)")
    cStRef_instanceID := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|stRef:instanceID")
    cStRef_documentID := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|stRef:documentID")
    cXapMM_DocumentID := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapMM:DocumentID")
    cXapRights_Marked := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapRights:Marked")
    cXapRights_WebStatement := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapRights:WebStatement")
    cRdf_li_xml_lang := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|xapRights:RightsUsageTerms|rdf:Alt|rdf:li|(xml:lang)")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapRights:RightsUsageTerms|rdf:Alt|rdf:li")
    cRdf_li_xml_lang := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|xapRights:UsageTerms|rdf:Alt|rdf:li|(xml:lang)")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|xapRights:UsageTerms|rdf:Alt|rdf:li")
    cDc_format := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:format")
    cRdf_li_xml_lang := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|dc:description|rdf:Alt|rdf:li|(xml:lang)")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:description|rdf:Alt|rdf:li")
    cRdf_li_xml_lang := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|dc:title|rdf:Alt|rdf:li|(xml:lang)")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:title|rdf:Alt|rdf:li")
    cRdf_li_xml_lang := oXml:ChilkatPath("rdf:RDF|rdf:Description[i]|dc:rights|rdf:Alt|rdf:li|(xml:lang)")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:rights|rdf:Alt|rdf:li")
    cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:creator|rdf:Seq|rdf:li")
    j := 0
    nCount_j := oXml:NumChildrenHavingTag("rdf:RDF|rdf:Description[i]|dc:subject|rdf:Bag|rdf:li")
    DO WHILE j < nCount_j
        oXml:J := j
        cStrRdf_li := oXml:GetChildContent("rdf:RDF|rdf:Description[i]|dc:subject|rdf:Bag|rdf:li[j]")
        j := j + 1
    ENDDO
    i := i + 1
ENDDO

oXml:destroy()

oXmp:destroy()