Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"
IncludeFile "CkXmp.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    xmp.i = CkXmp::ckCreate()
    If xmp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; 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
    success = CkXmp::ckLoadAppFile(xmp,"qa_data/xmp/sample1.jpg")
    If success <> 1
        Debug CkXmp::ckLastErrorText(xmp)
        CkXmp::ckDispose(xmp)
        ProcedureReturn
    EndIf

    Debug "Num embedded XMP docs: " + Str(CkXmp::ckNumEmbedded(xmp))

    ; Assuming there is at least one, get the 1st.
    ; (There is typically never more than one, but theoretically it's possible.)
    xml.i = CkXmp::ckGetEmbedded(xmp,0)
    If CkXmp::ckLastMethodSuccess(xmp) = 0
        Debug "No XMP metadata found."
        CkXmp::ckDispose(xmp)
        ProcedureReturn
    EndIf

    Debug CkXml::ckGetXml(xml)

    ; 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

    rdf_Description_rdf_about.s
    rdf_Description_xmlns_xmpPLUS.s
    rdf_Description_xmlns_Iptc4xmpCore.s
    rdf_Description_xmlns_exif.s
    rdf_Description_xmlns_pdf.s
    rdf_Description_xmlns_photoshop.s
    rdf_Description_xmlns_tiff.s
    rdf_Description_xmlns_xap.s
    rdf_Description_xmlns_stRef.s
    rdf_Description_xmlns_xapMM.s
    rdf_Description_xmlns_xapRights.s
    rdf_Description_xmlns_dc.s
    xmpPLUS_CreditLineReq.s
    xmpPLUS_ReuseAllowed.s
    Iptc4xmpCore_IntellectualGenre.s
    Iptc4xmpCore_Location.s
    Iptc4xmpCore_CountryCode.s
    Iptc4xmpCore_CreatorContactInfo_rdf_parseType.s
    Iptc4xmpCore_CiAdrExtadr.s
    Iptc4xmpCore_CiAdrCity.s
    Iptc4xmpCore_CiAdrRegion.s
    Iptc4xmpCore_CiAdrPcode.i
    Iptc4xmpCore_CiAdrCtry.s
    Iptc4xmpCore_CiTelWork.s
    Iptc4xmpCore_CiEmailWork.s
    Iptc4xmpCore_CiUrlWork.s
    rdf_li.i
    exif_ColorSpace.i
    exif_PixelXDimension.i
    exif_PixelYDimension.i
    photoshop_AuthorsPosition.s
    photoshop_Headline.s
    photoshop_CaptionWriter.s
    photoshop_DateCreated.s
    photoshop_City.s
    photoshop_State.s
    photoshop_Country.s
    photoshop_TransmissionReference.s
    photoshop_Instructions.s
    photoshop_Credit.s
    photoshop_Source.s
    tiff_XResolution.s
    tiff_YResolution.s
    tiff_ResolutionUnit.i
    tiff_Orientation.i
    xap_CreateDate.s
    xap_ModifyDate.s
    xap_MetadataDate.s
    xap_CreatorTool.s
    xapMM_DerivedFrom_rdf_parseType.s
    stRef_instanceID.s
    stRef_documentID.s
    xapMM_DocumentID.s
    xapRights_Marked.s
    xapRights_WebStatement.s
    rdf_li_xml_lang.s
    strRdf_li.s
    dc_format.s
    j.i
    count_j.i

    x_xmpmeta_xmlns_x.s = CkXml::ckGetAttrValue(xml,"xmlns:x")
    x_xmpmeta_x_xmptk.s = CkXml::ckGetAttrValue(xml,"x:xmptk")
    rdf_RDF_xmlns_rdf.s = CkXml::ckChilkatPath(xml,"rdf:RDF|(xmlns:rdf)")
    rdf_RDF_xmlns_iX.s = CkXml::ckChilkatPath(xml,"rdf:RDF|(xmlns:iX)")
    i.i = 0
    count_i.i = CkXml::ckNumChildrenHavingTag(xml,"rdf:RDF|rdf:Description")
    While i < count_i
        CkXml::setCkI(xml, i)
        rdf_Description_rdf_about = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(rdf:about)")
        rdf_Description_xmlns_xmpPLUS = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:xmpPLUS)")
        rdf_Description_xmlns_Iptc4xmpCore = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:Iptc4xmpCore)")
        rdf_Description_xmlns_exif = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:exif)")
        rdf_Description_xmlns_pdf = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:pdf)")
        rdf_Description_xmlns_photoshop = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:photoshop)")
        rdf_Description_xmlns_tiff = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:tiff)")
        rdf_Description_xmlns_xap = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:xap)")
        rdf_Description_xmlns_stRef = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:stRef)")
        rdf_Description_xmlns_xapMM = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:xapMM)")
        rdf_Description_xmlns_xapRights = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:xapRights)")
        rdf_Description_xmlns_dc = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|(xmlns:dc)")
        xmpPLUS_CreditLineReq = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xmpPLUS:CreditLineReq")
        xmpPLUS_ReuseAllowed = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xmpPLUS:ReuseAllowed")
        Iptc4xmpCore_IntellectualGenre = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:IntellectualGenre")
        Iptc4xmpCore_Location = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:Location")
        Iptc4xmpCore_CountryCode = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CountryCode")
        Iptc4xmpCore_CreatorContactInfo_rdf_parseType = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|(rdf:parseType)")
        Iptc4xmpCore_CiAdrExtadr = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrExtadr")
        Iptc4xmpCore_CiAdrCity = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrCity")
        Iptc4xmpCore_CiAdrRegion = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrRegion")
        Iptc4xmpCore_CiAdrPcode = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrPcode")
        Iptc4xmpCore_CiAdrCtry = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiAdrCtry")
        Iptc4xmpCore_CiTelWork = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiTelWork")
        Iptc4xmpCore_CiEmailWork = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiEmailWork")
        Iptc4xmpCore_CiUrlWork = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:CreatorContactInfo|Iptc4xmpCore:CiUrlWork")
        rdf_li = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:SubjectCode|rdf:Bag|rdf:li")
        rdf_li = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|Iptc4xmpCore:Scene|rdf:Bag|rdf:li")
        exif_ColorSpace = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|exif:ColorSpace")
        exif_PixelXDimension = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|exif:PixelXDimension")
        exif_PixelYDimension = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|exif:PixelYDimension")
        photoshop_AuthorsPosition = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:AuthorsPosition")
        photoshop_Headline = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:Headline")
        photoshop_CaptionWriter = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:CaptionWriter")
        photoshop_DateCreated = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:DateCreated")
        photoshop_City = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:City")
        photoshop_State = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:State")
        photoshop_Country = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:Country")
        photoshop_TransmissionReference = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:TransmissionReference")
        photoshop_Instructions = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:Instructions")
        photoshop_Credit = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:Credit")
        photoshop_Source = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|photoshop:Source")
        tiff_XResolution = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|tiff:XResolution")
        tiff_YResolution = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|tiff:YResolution")
        tiff_ResolutionUnit = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|tiff:ResolutionUnit")
        tiff_Orientation = CkXml::ckGetChildIntValue(xml,"rdf:RDF|rdf:Description[i]|tiff:Orientation")
        xap_CreateDate = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xap:CreateDate")
        xap_ModifyDate = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xap:ModifyDate")
        xap_MetadataDate = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xap:MetadataDate")
        xap_CreatorTool = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xap:CreatorTool")
        xapMM_DerivedFrom_rdf_parseType = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|(rdf:parseType)")
        stRef_instanceID = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|stRef:instanceID")
        stRef_documentID = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapMM:DerivedFrom|stRef:documentID")
        xapMM_DocumentID = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapMM:DocumentID")
        xapRights_Marked = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapRights:Marked")
        xapRights_WebStatement = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapRights:WebStatement")
        rdf_li_xml_lang = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|xapRights:RightsUsageTerms|rdf:Alt|rdf:li|(xml:lang)")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapRights:RightsUsageTerms|rdf:Alt|rdf:li")
        rdf_li_xml_lang = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|xapRights:UsageTerms|rdf:Alt|rdf:li|(xml:lang)")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|xapRights:UsageTerms|rdf:Alt|rdf:li")
        dc_format = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:format")
        rdf_li_xml_lang = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|dc:description|rdf:Alt|rdf:li|(xml:lang)")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:description|rdf:Alt|rdf:li")
        rdf_li_xml_lang = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|dc:title|rdf:Alt|rdf:li|(xml:lang)")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:title|rdf:Alt|rdf:li")
        rdf_li_xml_lang = CkXml::ckChilkatPath(xml,"rdf:RDF|rdf:Description[i]|dc:rights|rdf:Alt|rdf:li|(xml:lang)")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:rights|rdf:Alt|rdf:li")
        strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:creator|rdf:Seq|rdf:li")
        j = 0
        count_j = CkXml::ckNumChildrenHavingTag(xml,"rdf:RDF|rdf:Description[i]|dc:subject|rdf:Bag|rdf:li")
        While j < count_j
            CkXml::setCkJ(xml, j)
            strRdf_li = CkXml::ckGetChildContent(xml,"rdf:RDF|rdf:Description[i]|dc:subject|rdf:Bag|rdf:li[j]")
            j = j + 1
        Wend
        i = i + 1
    Wend

    CkXml::ckDispose(xml)



    CkXmp::ckDispose(xmp)


    ProcedureReturn
EndProcedure