summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/API/TXMPFiles_8hpp-source.html247
-rw-r--r--docs/API/TXMPFiles_8hpp.html40
-rw-r--r--docs/API/TXMPFiles_8hpp_source.html252
-rw-r--r--docs/API/TXMPFiles_8incl__cpp.html31
-rw-r--r--docs/API/TXMPIterator_8hpp.html48
-rw-r--r--docs/API/TXMPIterator_8hpp__dep__incl.pngbin0 -> 1732 bytes
-rw-r--r--docs/API/TXMPIterator_8hpp__incl.pngbin3612 -> 1742 bytes
-rw-r--r--docs/API/TXMPIterator_8hpp_source.html (renamed from docs/API/TXMPIterator_8hpp-source.html)126
-rw-r--r--docs/API/TXMPIterator_8incl__cpp.html33
-rw-r--r--docs/API/TXMPMeta_8hpp-source.html600
-rw-r--r--docs/API/TXMPMeta_8hpp.html39
-rw-r--r--docs/API/TXMPMeta_8hpp_source.html582
-rw-r--r--docs/API/TXMPMeta_8incl__cpp.html33
-rw-r--r--docs/API/TXMPUtils_8hpp-source.html348
-rw-r--r--docs/API/TXMPUtils_8hpp.html37
-rw-r--r--docs/API/TXMPUtils_8hpp_source.html356
-rw-r--r--docs/API/TXMPUtils_8incl__cpp.html33
-rw-r--r--docs/API/XMP_8incl__cpp.html42
-rw-r--r--docs/API/XMP_8incl__cpp__dep__incl.pngbin0 -> 1378 bytes
-rw-r--r--docs/API/XMP_8incl__cpp__incl.pngbin2138 -> 3656 bytes
-rw-r--r--docs/API/XMP__Const_8h-source.html814
-rw-r--r--docs/API/XMP__Const_8h.html2980
-rw-r--r--docs/API/XMP__Const_8h_source.html839
-rw-r--r--docs/API/annotated.html7
-rw-r--r--docs/API/classTXMPFiles-members.html63
-rw-r--r--docs/API/classTXMPFiles.html1082
-rw-r--r--docs/API/classTXMPIterator-members.html26
-rw-r--r--docs/API/classTXMPIterator.html324
-rw-r--r--docs/API/classTXMPMeta-members.html144
-rw-r--r--docs/API/classTXMPMeta.html3457
-rw-r--r--docs/API/classTXMPUtils-members.html86
-rw-r--r--docs/API/classTXMPUtils.html1893
-rw-r--r--docs/API/classXMP__Error-members.html18
-rw-r--r--docs/API/classXMP__Error.html88
-rw-r--r--docs/API/classes.html75
-rw-r--r--docs/API/files.html16
-rw-r--r--docs/API/functions.html535
-rw-r--r--docs/API/functions_func.html408
-rw-r--r--docs/API/functions_vars.html163
-rw-r--r--docs/API/globals.html644
-rw-r--r--docs/API/globals_0x78.html121
-rw-r--r--docs/API/globals_defs.html170
-rw-r--r--docs/API/globals_eval.html560
-rw-r--r--docs/API/globals_type.html49
-rw-r--r--docs/API/graph_legend.dot38
-rw-r--r--docs/API/graph_legend.html22
-rw-r--r--docs/API/index.html96
-rw-r--r--docs/API/structXMP__DateTime-members.html31
-rw-r--r--docs/API/structXMP__DateTime.html127
-rw-r--r--docs/API/structXMP__PacketInfo-members.html24
-rw-r--r--docs/API/structXMP__PacketInfo.html87
-rw-r--r--docs/API/structXMP__ThumbnailInfo-members.html80
-rw-r--r--docs/API/structXMP__ThumbnailInfo.html121
-rw-r--r--docs/API/structXMP__VersionInfo-members.html22
-rw-r--r--docs/API/structXMP__VersionInfo.html78
-rw-r--r--docs/API/tabs.css9
-rw-r--r--[-rwxr-xr-x]docs/API/xmp_tagline_small.jpgbin27209 -> 27209 bytes
-rw-r--r--docs/XMPProgrammersGuide.pdfbin1017908 -> 1041669 bytes
-rw-r--r--docs/XMPSpecificationPart1.pdfbin383892 -> 389248 bytes
-rw-r--r--docs/XMPSpecificationPart2.pdfbin481028 -> 512738 bytes
-rw-r--r--docs/XMPSpecificationPart3.pdfbin644542 -> 711945 bytes
61 files changed, 9148 insertions, 8996 deletions
diff --git a/docs/API/TXMPFiles_8hpp-source.html b/docs/API/TXMPFiles_8hpp-source.html
deleted file mode 100644
index af12992..0000000
--- a/docs/API/TXMPFiles_8hpp-source.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.hpp Source File</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-<h1>TXMPFiles.hpp</h1><a href="TXMPFiles_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPFiles_hpp__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPFiles_hpp__ 1</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
-<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
-<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00007"></a>00007 <span class="preprocessor"></span>
-<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
-<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
-<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2007 Adobe Systems Incorporated</span>
-<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
-<a name="l00012"></a>00012 <span class="comment">//</span>
-<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
-<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
-<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
-<a name="l00033"></a>00033 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="comment">// =================================================================================================</span>
-<a name="l00058"></a>00058 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt;
-<a name="l00062"></a><a class="code" href="classTXMPFiles.html">00062</a> <span class="keyword">class </span><a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> {
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">public</span>:
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="comment">// =============================================================================================</span>
-<a name="l00071"></a>00071 <span class="comment"></span>
-<a name="l00072"></a>00072 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00079"></a>00079 <span class="comment"></span>
-<a name="l00080"></a>00080 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * versionInfo );
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00091"></a>00091 <span class="comment"></span>
-<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a>();
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00110"></a>00110 <span class="comment"></span>
-<a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00120"></a>00120 <span class="comment"></span>
-<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8" title="Terminates use of the XMPFiles library.">Terminate</a>();
-<a name="l00122"></a>00122
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <span class="comment">// =============================================================================================</span>
-<a name="l00131"></a>00131 <span class="comment"></span>
-<a name="l00132"></a>00132 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00134"></a>00134 <span class="comment"></span>
-<a name="l00135"></a>00135 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a>();
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00143"></a>00143 <span class="comment"></span>
-<a name="l00144"></a>00144 <span class="keyword">virtual</span> <a class="code" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739" title="Destructor; typical virtual destructor.">~TXMPFiles</a>() <span class="keywordflow">throw</span>();
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00169"></a>00169 <span class="comment"></span>
-<a name="l00170"></a>00170 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
-<a name="l00171"></a>00171 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
-<a name="l00172"></a>00172 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00180"></a>00180 <span class="comment"></span>
-<a name="l00181"></a>00181 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
-<a name="l00182"></a>00182 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
-<a name="l00183"></a>00183 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00193"></a>00193 <span class="comment"></span>
-<a name="l00194"></a>00194 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; original );
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00202"></a>00202 <span class="comment"></span>
-<a name="l00203"></a>00203 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81" title="Assignment operator.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; rhs );
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00216"></a>00216 <span class="comment"></span>
-<a name="l00217"></a>00217 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj );
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00230"></a>00230 <span class="comment"></span>
-<a name="l00231"></a>00231 <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="code" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef</a>();
-<a name="l00232"></a>00232
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 <span class="comment">// =============================================================================================</span>
-<a name="l00241"></a>00241 <span class="comment"></span>
-<a name="l00242"></a>00242 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00273"></a>00273 <span class="comment"></span>
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo</a> ( <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format,
-<a name="l00276"></a>00276 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
-<a name="l00277"></a>00277
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280 <span class="comment">// =============================================================================================</span>
-<a name="l00285"></a>00285 <span class="comment"></span>
-<a name="l00286"></a>00286 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00296"></a>00296 <span class="comment"></span>
-<a name="l00297"></a>00297 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath );
-<a name="l00298"></a>00298
-<a name="l00299"></a>00299 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00313"></a>00313 <span class="comment"></span>
-<a name="l00314"></a>00314 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &amp;quot;package&amp;quot; folder...">CheckPackageFormat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> folderPath );
-<a name="l00315"></a>00315
-<a name="l00316"></a>00316 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00371"></a>00371 <span class="comment"></span>
-<a name="l00372"></a>00372
-<a name="l00373"></a>00373 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
-<a name="l00374"></a>00374 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
-<a name="l00375"></a>00375 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
-<a name="l00376"></a>00376
-<a name="l00377"></a>00377 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00382"></a>00382 <span class="comment"></span>
-<a name="l00383"></a>00383 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
-<a name="l00384"></a>00384 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
-<a name="l00385"></a>00385 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
-<a name="l00386"></a>00386
-<a name="l00387"></a>00387 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00408"></a>00408 <span class="comment"></span>
-<a name="l00409"></a>00409 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> closeFlags = 0 );
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00428"></a>00428 <span class="comment"></span>
-<a name="l00429"></a>00429 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo</a> ( tStringObj * filePath = 0,
-<a name="l00430"></a>00430 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * openFlags = 0,
-<a name="l00431"></a>00431 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> * format = 0,
-<a name="l00432"></a>00432 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
-<a name="l00433"></a>00433
-<a name="l00434"></a>00434 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00444"></a>00444 <span class="comment"></span>
-<a name="l00445"></a>00445 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc</a> ( <a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc,
-<a name="l00446"></a>00446 <span class="keywordtype">void</span> * abortArg );
-<a name="l00447"></a>00447
-<a name="l00449"></a>00449
-<a name="l00450"></a>00450 <span class="comment">// =============================================================================================</span>
-<a name="l00457"></a>00457 <span class="comment"></span>
-<a name="l00458"></a>00458 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00485"></a>00485 <span class="comment"></span>
-<a name="l00486"></a>00486 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP</a> ( SXMPMeta * xmpObj = 0,
-<a name="l00487"></a>00487 tStringObj * xmpPacket = 0,
-<a name="l00488"></a>00488 <a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> * packetInfo = 0 );
-<a name="l00489"></a>00489
-<a name="l00490"></a>00490 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00521"></a>00521 <span class="comment"></span>
-<a name="l00522"></a>00522 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail</a> ( <a class="code" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> * tnailInfo );
-<a name="l00523"></a>00523
-<a name="l00524"></a>00524 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00532"></a>00532 <span class="comment"></span>
-<a name="l00533"></a>00533 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00543"></a>00543 <span class="comment"></span>
-<a name="l00544"></a>00544 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
-<a name="l00545"></a>00545
-<a name="l00546"></a>00546 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00557"></a>00557 <span class="comment"></span>
-<a name="l00558"></a>00558 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
-<a name="l00559"></a>00559 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
-<a name="l00560"></a>00560
-<a name="l00561"></a>00561 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00595"></a>00595 <span class="comment"></span>
-<a name="l00596"></a>00596 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
-<a name="l00597"></a>00597
-<a name="l00598"></a>00598 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00606"></a>00606 <span class="comment"></span>
-<a name="l00607"></a>00607 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
-<a name="l00608"></a>00608
-<a name="l00609"></a>00609 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00620"></a>00620 <span class="comment"></span>
-<a name="l00621"></a>00621 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
-<a name="l00622"></a>00622 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
-<a name="l00623"></a>00623
-<a name="l00625"></a>00625
-<a name="l00626"></a>00626 <span class="comment">// =============================================================================================</span>
-<a name="l00627"></a>00627
-<a name="l00628"></a>00628 <span class="keyword">private</span>:
-<a name="l00629"></a>00629 <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesRef;
-<a name="l00630"></a>00630
-<a name="l00631"></a>00631 }; <span class="comment">// class TXMPFiles</span>
-<a name="l00632"></a>00632
-<a name="l00633"></a>00633 <span class="comment">// =================================================================================================</span>
-<a name="l00634"></a>00634
-<a name="l00635"></a>00635 <span class="preprocessor">#endif // __TXMPFiles_hpp__</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/TXMPFiles_8hpp.html b/docs/API/TXMPFiles_8hpp.html
index 5a4fdc5..c2d80b5 100644
--- a/docs/API/TXMPFiles_8hpp.html
+++ b/docs/API/TXMPFiles_8hpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.hpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPFiles.hpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,29 +55,35 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPFiles.hpp File Reference</h1>API for access to the main (document-level) metadata in a file_. <a href="#_details">More...</a>
-<p>
-
-<p>
-<a href="TXMPFiles_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td></tr>
+<h1>TXMPFiles.hpp File Reference</h1>
+<p>API for access to the main (document-level) metadata in a file_.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the main (document-level) metadata in a file. <a href="classTXMPFiles.html#_details">More...</a><br></td></tr>
+<p><a href="TXMPFiles_8hpp_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the main (document-level) metadata in a file. <a href="classTXMPFiles.html#_details">More...</a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-API for access to the main (document-level) metadata in a file_.
-<p>
-The Adobe XMP Toolkit's file handling component, XMPFiles, is a front end to a set of format-specific file handlers that support file I/O for XMP. The file handlers implement smart, efficient support for those file formats for which the means to embed XMP is defined in the XMP Specification. Where possible, this support allows: <ul>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>API for access to the main (document-level) metadata in a file_. </p>
+<p>The Adobe XMP Toolkit's file handling component, XMPFiles, is a front end to a set of format-specific file handlers that support file I/O for XMP. The file handlers implement smart, efficient support for those file formats for which the means to embed XMP is defined in the XMP Specification. Where possible, this support allows: </p>
+<ul>
<li>Injection of XMP where none currently exists </li>
<li>Expansion of XMP without regard to existing padding </li>
<li>Reconciliation of the XMP and other legacy forms of metadata.</li>
</ul>
-<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is designed for use by clients interested in the metadata and not in the primary file content; the Adobe Bridge application is a typical example. <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is not intended to be appropriate for files authored by an application; that is, those files for which the application has explicit knowledge of the file format. </div>
+<p><code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is designed for use by clients interested in the metadata and not in the primary file content; the Adobe Bridge application is a typical example. <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is not intended to be appropriate for files authored by an application; that is, those files for which the application has explicit knowledge of the file format. </p>
+</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPFiles_8hpp_source.html b/docs/API/TXMPFiles_8hpp_source.html
new file mode 100644
index 0000000..b3319d2
--- /dev/null
+++ b/docs/API/TXMPFiles_8hpp_source.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-5.1.2: TXMPFiles.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.6.3 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPFiles.hpp</h1><a href="TXMPFiles_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPFiles_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPFiles_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error &quot;Do not directly include, use XMP.hpp&quot;</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00033"></a>00033 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="comment">// =================================================================================================</span>
+<a name="l00058"></a>00058 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt;
+<a name="l00062"></a><a class="code" href="classTXMPFiles.html">00062</a> <span class="keyword">class </span><a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">public</span>:
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// =============================================================================================</span>
+<a name="l00071"></a>00071 <span class="comment"></span>
+<a name="l00072"></a>00072 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00079"></a>00079 <span class="comment"></span>
+<a name="l00080"></a>00080 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * versionInfo );
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00091"></a>00091 <span class="comment"></span>
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a>();
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00108"></a>00108 <span class="comment"></span>
+<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00118"></a>00118 <span class="comment"></span>
+<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#a1e8de80c252b60b332dc4bc524139fd8" title="Terminates use of the XMPFiles library.">Terminate</a>();
+<a name="l00120"></a>00120
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="comment">// =============================================================================================</span>
+<a name="l00129"></a>00129 <span class="comment"></span>
+<a name="l00130"></a>00130 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00132"></a>00132 <span class="comment"></span>
+<a name="l00133"></a>00133 <a class="code" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a>();
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00141"></a>00141 <span class="comment"></span>
+<a name="l00142"></a>00142 <span class="keyword">virtual</span> <a class="code" href="classTXMPFiles.html#a5eaa92724cc82d933a32eff9c4636739" title="Destructor; typical virtual destructor.">~TXMPFiles</a>() <span class="keywordflow">throw</span>();
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00165"></a>00165 <span class="comment"></span>
+<a name="l00166"></a>00166 <a class="code" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
+<a name="l00167"></a>00167 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00168"></a>00168 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00176"></a>00176 <span class="comment"></span>
+<a name="l00177"></a>00177 <a class="code" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
+<a name="l00178"></a>00178 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00179"></a>00179 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00189"></a>00189 <span class="comment"></span>
+<a name="l00190"></a>00190 <a class="code" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00198"></a>00198 <span class="comment"></span>
+<a name="l00199"></a>00199 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#a3f1483fcc92860460d3772216dfaef81" title="Assignment operator.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00212"></a>00212 <span class="comment"></span>
+<a name="l00213"></a>00213 <a class="code" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj );
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00226"></a>00226 <span class="comment"></span>
+<a name="l00227"></a>00227 <a class="code" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="code" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef</a>();
+<a name="l00228"></a>00228
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="comment">// =============================================================================================</span>
+<a name="l00237"></a>00237 <span class="comment"></span>
+<a name="l00238"></a>00238 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00268"></a>00268 <span class="comment"></span>
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo</a> ( <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format,
+<a name="l00271"></a>00271 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
+<a name="l00272"></a>00272
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <span class="comment">// =============================================================================================</span>
+<a name="l00280"></a>00280 <span class="comment"></span>
+<a name="l00281"></a>00281 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00292"></a>00292 <span class="comment"></span>
+<a name="l00293"></a>00293 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath );
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00309"></a>00309 <span class="comment"></span>
+<a name="l00310"></a>00310 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &amp;quot;package&amp;quot; folder...">CheckPackageFormat</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> folderPath );
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00365"></a>00365 <span class="comment"></span>
+<a name="l00366"></a>00366
+<a name="l00367"></a>00367 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
+<a name="l00368"></a>00368 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00369"></a>00369 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00376"></a>00376 <span class="comment"></span>
+<a name="l00377"></a>00377 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
+<a name="l00378"></a>00378 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00379"></a>00379 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00380"></a>00380
+<a name="l00381"></a>00381 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00402"></a>00402 <span class="comment"></span>
+<a name="l00403"></a>00403 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> closeFlags = 0 );
+<a name="l00404"></a>00404
+<a name="l00405"></a>00405 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00422"></a>00422 <span class="comment"></span>
+<a name="l00423"></a>00423 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo</a> ( tStringObj * filePath = 0,
+<a name="l00424"></a>00424 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * openFlags = 0,
+<a name="l00425"></a>00425 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> * format = 0,
+<a name="l00426"></a>00426 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
+<a name="l00427"></a>00427
+<a name="l00428"></a>00428 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00438"></a>00438 <span class="comment"></span>
+<a name="l00439"></a>00439 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc</a> ( <a class="code" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc,
+<a name="l00440"></a>00440 <span class="keywordtype">void</span> * abortArg );
+<a name="l00441"></a>00441
+<a name="l00443"></a>00443
+<a name="l00444"></a>00444 <span class="comment">// =============================================================================================</span>
+<a name="l00451"></a>00451 <span class="comment"></span>
+<a name="l00452"></a>00452 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00479"></a>00479 <span class="comment"></span>
+<a name="l00480"></a>00480 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP</a> ( SXMPMeta * xmpObj = 0,
+<a name="l00481"></a>00481 tStringObj * xmpPacket = 0,
+<a name="l00482"></a>00482 <a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> * packetInfo = 0 );
+<a name="l00483"></a>00483
+<a name="l00484"></a>00484 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00492"></a>00492 <span class="comment"></span>
+<a name="l00493"></a>00493 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
+<a name="l00494"></a>00494
+<a name="l00495"></a>00495 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00503"></a>00503 <span class="comment"></span>
+<a name="l00504"></a>00504 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
+<a name="l00505"></a>00505
+<a name="l00506"></a>00506 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00517"></a>00517 <span class="comment"></span>
+<a name="l00518"></a>00518 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
+<a name="l00519"></a>00519 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
+<a name="l00520"></a>00520
+<a name="l00521"></a>00521 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00555"></a>00555 <span class="comment"></span>
+<a name="l00556"></a>00556 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
+<a name="l00557"></a>00557
+<a name="l00558"></a>00558 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00566"></a>00566 <span class="comment"></span>
+<a name="l00567"></a>00567 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
+<a name="l00568"></a>00568
+<a name="l00569"></a>00569 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00580"></a>00580 <span class="comment"></span>
+<a name="l00581"></a>00581 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
+<a name="l00582"></a>00582 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
+<a name="l00583"></a>00583
+<a name="l00585"></a>00585
+<a name="l00586"></a>00586 <span class="comment">// =============================================================================================</span>
+<a name="l00587"></a>00587
+<a name="l00588"></a>00588 <span class="keyword">private</span>:
+<a name="l00589"></a>00589
+<a name="l00590"></a>00590 <a class="code" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesRef;
+<a name="l00591"></a>00591
+<a name="l00592"></a>00592 <span class="keyword">static</span> <span class="keywordtype">void</span> SetClientString ( <span class="keywordtype">void</span> * clientPtr, <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> valuePtr, <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> valueLen );
+<a name="l00593"></a>00593
+<a name="l00594"></a>00594 }; <span class="comment">// class TXMPFiles</span>
+<a name="l00595"></a>00595
+<a name="l00596"></a>00596 <span class="comment">// =================================================================================================</span>
+<a name="l00597"></a>00597
+<a name="l00598"></a>00598 <span class="preprocessor">#endif // __TXMPFiles_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPFiles_8incl__cpp.html b/docs/API/TXMPFiles_8incl__cpp.html
index e55c332..000d75d 100644
--- a/docs/API/TXMPFiles_8incl__cpp.html
+++ b/docs/API/TXMPFiles_8incl__cpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.incl_cpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPFiles.incl_cpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,27 +55,30 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPFiles.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMPFiles.hpp&quot;</code><br>
-
-<p>
+<h1>TXMPFiles.incl_cpp File Reference</h1>
+<p>The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class.
+<a href="#_details">More...</a></p>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMPFiles.hpp&quot;</code><br/>
<div class="dynheader">
Include dependency graph for TXMPFiles.incl_cpp:</div>
<div class="dynsection">
-<p><center><img src="TXMPFiles_8incl__cpp__incl.png" border="0" usemap="#TXMPFiles.incl_cpp_map" alt=""></center>
+<div class="center"><img src="TXMPFiles_8incl__cpp__incl.png" border="0" usemap="#TXMPFiles_8incl__cpp_map" alt=""/></div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class.
-<p>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class. </p>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPIterator_8hpp.html b/docs/API/TXMPIterator_8hpp.html
index e525f5e..31726fc 100644
--- a/docs/API/TXMPIterator_8hpp.html
+++ b/docs/API/TXMPIterator_8hpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.hpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPIterator.hpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,32 +55,40 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPIterator.hpp File Reference</h1>API for access to the XMP Toolkit iteration services. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;client-glue/WXMPIterator.hpp&quot;</code><br>
-
-<p>
+<h1>TXMPIterator.hpp File Reference</h1>
+<p>API for access to the XMP Toolkit iteration services.
+<a href="#_details">More...</a></p>
+<code>#include &quot;<a class="el" href="TXMPIterator_8hpp_source.html">client-glue/WXMPIterator.hpp</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for TXMPIterator.hpp:</div>
<div class="dynsection">
-<p><center><img src="TXMPIterator_8hpp__incl.png" border="0" usemap="#TXMPIterator.hpp_map" alt=""></center>
+<div class="center"><img src="TXMPIterator_8hpp__incl.png" border="0" usemap="#TXMPIterator_8hpp_map" alt=""/></div>
+</div>
+<div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dynsection">
+<div class="center"><img src="TXMPIterator_8hpp__dep__incl.png" border="0" usemap="#TXMPIterator_8hppdep_map" alt=""/></div>
</div>
-<p>
-<a href="TXMPIterator_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit iteration services. <a href="classTXMPIterator.html#_details">More...</a><br></td></tr>
+<p><a href="TXMPIterator_8hpp_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit iteration services. <a href="classTXMPIterator.html#_details">More...</a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-API for access to the XMP Toolkit iteration services.
-<p>
-<code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is the template class providing iteration services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </div>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>API for access to the XMP Toolkit iteration services. </p>
+<p><code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is the template class providing iteration services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </p>
+</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPIterator_8hpp__dep__incl.png b/docs/API/TXMPIterator_8hpp__dep__incl.png
new file mode 100644
index 0000000..278ee71
--- /dev/null
+++ b/docs/API/TXMPIterator_8hpp__dep__incl.png
Binary files differ
diff --git a/docs/API/TXMPIterator_8hpp__incl.png b/docs/API/TXMPIterator_8hpp__incl.png
index 5ce4819..eb70c49 100644
--- a/docs/API/TXMPIterator_8hpp__incl.png
+++ b/docs/API/TXMPIterator_8hpp__incl.png
Binary files differ
diff --git a/docs/API/TXMPIterator_8hpp-source.html b/docs/API/TXMPIterator_8hpp_source.html
index b9bda84..eb15ef3 100644
--- a/docs/API/TXMPIterator_8hpp-source.html
+++ b/docs/API/TXMPIterator_8hpp_source.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.hpp Source File</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPIterator.hpp Source File</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,16 +55,22 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
<h1>TXMPIterator.hpp</h1><a href="TXMPIterator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPIterator_hpp__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPIterator_hpp__ 1</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
-<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error &quot;Do not directly include, use XMP.hpp&quot;</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
-<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2007 Adobe Systems Incorporated</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002 Adobe Systems Incorporated</span>
<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
<a name="l00012"></a>00012 <span class="comment">//</span>
<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
@@ -75,66 +81,68 @@ window.onload = initDynSections;
<a name="l00024"></a>00024 <span class="comment"></span><span class="comment">// =================================================================================================</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="comment">// =================================================================================================</span>
-<a name="l00077"></a>00077 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00075"></a>00075 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;client-glue/WXMPIterator.hpp&quot;</span>
<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="preprocessor">#include "client-glue/WXMPIterator.hpp"</span>
+<a name="l00079"></a><a class="code" href="classTXMPIterator.html">00079</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> {
<a name="l00080"></a>00080
-<a name="l00081"></a><a class="code" href="classTXMPIterator.html">00081</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> {
+<a name="l00081"></a>00081 <span class="keyword">public</span>:
<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">public</span>:
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00092"></a>00092 <span class="comment"></span>
-<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63" title="Assignment operator, assigns the internal ref and increments the ref count.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; rhs );
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00101"></a>00101 <span class="comment"></span>
-<a name="l00102"></a>00102 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; original );
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00127"></a>00127 <span class="comment"></span>
-<a name="l00128"></a>00128 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
-<a name="l00129"></a>00129 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00130"></a>00130 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00131"></a>00131 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00152"></a>00152 <span class="comment"></span>
-<a name="l00153"></a>00153 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
-<a name="l00154"></a>00154 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00155"></a>00155 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00173"></a>00173 <span class="comment"></span>
-<a name="l00174"></a>00174 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
-<a name="l00175"></a>00175 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00179"></a>00179 <span class="comment"></span>
-<a name="l00180"></a>00180 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00181"></a>00181 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00182"></a>00182 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00186"></a>00186 <span class="comment"></span>
-<a name="l00187"></a>00187 <span class="keyword">virtual</span> <a class="code" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196" title="Destructor, typical virtual destructor.">~TXMPIterator</a>() <span class="keywordflow">throw</span>();
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00209"></a>00209 <span class="comment"></span>
-<a name="l00210"></a>00210 <span class="keywordtype">bool</span> <a class="code" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next</a> ( tStringObj * schemaNS = 0,
-<a name="l00211"></a>00211 tStringObj * propPath = 0,
-<a name="l00212"></a>00212 tStringObj * propValue = 0,
-<a name="l00213"></a>00213 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options = 0 );
-<a name="l00214"></a>00214
-<a name="l00215"></a>00215 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00222"></a>00222 <span class="comment"></span>
-<a name="l00223"></a>00223 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00083"></a>00083 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00090"></a>00090 <span class="comment"></span>
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63" title="Assignment operator, assigns the internal ref and increments the ref count.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00099"></a>00099 <span class="comment"></span>
+<a name="l00100"></a>00100 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00125"></a>00125 <span class="comment"></span>
+<a name="l00126"></a>00126 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00127"></a>00127 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00128"></a>00128 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00129"></a>00129 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00150"></a>00150 <span class="comment"></span>
+<a name="l00151"></a>00151 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00152"></a>00152 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00153"></a>00153 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00171"></a>00171 <span class="comment"></span>
+<a name="l00172"></a>00172 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00173"></a>00173 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00177"></a>00177 <span class="comment"></span>
+<a name="l00178"></a>00178 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00179"></a>00179 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00180"></a>00180 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00184"></a>00184 <span class="comment"></span>
+<a name="l00185"></a>00185 <span class="keyword">virtual</span> <a class="code" href="classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196" title="Destructor, typical virtual destructor.">~TXMPIterator</a>() <span class="keywordflow">throw</span>();
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00207"></a>00207 <span class="comment"></span>
+<a name="l00208"></a>00208 <span class="keywordtype">bool</span> <a class="code" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next</a> ( tStringObj * schemaNS = 0,
+<a name="l00209"></a>00209 tStringObj * propPath = 0,
+<a name="l00210"></a>00210 tStringObj * propValue = 0,
+<a name="l00211"></a>00211 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options = 0 );
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keyword">private</span>:
<a name="l00224"></a>00224
-<a name="l00225"></a>00225 <span class="keyword">private</span>:
+<a name="l00225"></a>00225 <a class="code" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a> iterRef;
<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a> iterRef;
+<a name="l00227"></a>00227 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>(); <span class="comment">// ! Hidden, must choose property or table iteration.</span>
<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>(); <span class="comment">// ! Hidden, must choose property or table iteration.</span>
+<a name="l00229"></a>00229 <span class="keyword">static</span> <span class="keywordtype">void</span> SetClientString ( <span class="keywordtype">void</span> * clientPtr, <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> valuePtr, <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> valueLen );
<a name="l00230"></a>00230
<a name="l00231"></a>00231 }; <span class="comment">// class TXMPIterator</span>
<a name="l00232"></a>00232
@@ -143,6 +151,6 @@ window.onload = initDynSections;
<a name="l00235"></a>00235 <span class="preprocessor">#endif // __TXMPIterator_hpp__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPIterator_8incl__cpp.html b/docs/API/TXMPIterator_8incl__cpp.html
index d113590..b766f70 100644
--- a/docs/API/TXMPIterator_8incl__cpp.html
+++ b/docs/API/TXMPIterator_8incl__cpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.incl_cpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPIterator.incl_cpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,28 +55,31 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPIterator.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;XMP.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMPIterator.hpp&quot;</code><br>
-
-<p>
+<h1>TXMPIterator.incl_cpp File Reference</h1>
+<p>The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class.
+<a href="#_details">More...</a></p>
+<code>#include &quot;XMP.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMPIterator.hpp&quot;</code><br/>
<div class="dynheader">
Include dependency graph for TXMPIterator.incl_cpp:</div>
<div class="dynsection">
-<p><center><img src="TXMPIterator_8incl__cpp__incl.png" border="0" usemap="#TXMPIterator.incl_cpp_map" alt=""></center>
+<div class="center"><img src="TXMPIterator_8incl__cpp__incl.png" border="0" usemap="#TXMPIterator_8incl__cpp_map" alt=""/></div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class.
-<p>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class. </p>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPMeta_8hpp-source.html b/docs/API/TXMPMeta_8hpp-source.html
deleted file mode 100644
index 8e9aa91..0000000
--- a/docs/API/TXMPMeta_8hpp-source.html
+++ /dev/null
@@ -1,600 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.hpp Source File</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-<h1>TXMPMeta.hpp</h1><a href="TXMPMeta_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPMeta_hpp__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPMeta_hpp__ 1</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
-<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
-<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00007"></a>00007 <span class="preprocessor"></span>
-<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
-<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
-<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
-<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
-<a name="l00012"></a>00012 <span class="comment">//</span>
-<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
-<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
-<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
-<a name="l00027"></a>00027 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="comment">// =================================================================================================</span>
-<a name="l00042"></a>00042 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>;
-<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a>;
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00048"></a>00048
-<a name="l00049"></a><a class="code" href="classTXMPMeta.html">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> {
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keyword">public</span>:
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="comment">// =============================================================================================</span>
-<a name="l00054"></a>00054 <span class="comment">// Initialization and termination</span>
-<a name="l00055"></a>00055 <span class="comment">// ==============================</span>
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00061"></a>00061 <span class="comment"></span>
-<a name="l00062"></a>00062 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00074"></a>00074 <span class="comment"></span>
-<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * info );
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00079"></a>00079 <span class="comment"></span>
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize</a>();
-<a name="l00089"></a>00089 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00095"></a>00095 <span class="comment"></span>
-<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate</a>();
-<a name="l00097"></a>00097
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="comment">// =============================================================================================</span>
-<a name="l00101"></a>00101 <span class="comment">// Constuctors and destructor</span>
-<a name="l00102"></a>00102 <span class="comment">// =========================</span>
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00107"></a>00107 <span class="comment"></span>
-<a name="l00108"></a>00108 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00114"></a>00114 <span class="comment"></span> <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a>();
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00125"></a>00125 <span class="comment"></span>
-<a name="l00126"></a>00126 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; original );
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00133"></a>00133 <span class="comment"></span>
-<a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef" title="Assignment operator, assigns the internal reference and increments the reference...">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; rhs );
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00146"></a>00146 <span class="comment"></span>
-<a name="l00147"></a>00147 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef );
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00166"></a>00166 <span class="comment"></span>
-<a name="l00167"></a>00167 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
-<a name="l00168"></a>00168 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpSize );
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00172"></a>00172 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02" title="Destructor, typical virtual destructor. */.">~TXMPMeta</a>() <span class="keywordflow">throw</span>();
-<a name="l00173"></a>00173
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="comment">// =============================================================================================</span>
-<a name="l00177"></a>00177 <span class="comment">// Global state functions</span>
-<a name="l00178"></a>00178 <span class="comment">// ======================</span>
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00185"></a>00185 <span class="comment"></span>
-<a name="l00186"></a>00186 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00193"></a>00193 <span class="comment"></span>
-<a name="l00194"></a>00194 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions</a>();
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00207"></a>00207 <span class="comment"></span>
-<a name="l00208"></a>00208 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
-<a name="l00209"></a>00209
-<a name="l00211"></a>00211
-<a name="l00212"></a>00212 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00220"></a>00220 <span class="comment"></span>
-<a name="l00221"></a>00221 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00234"></a>00234 <span class="comment"></span>
-<a name="l00235"></a>00235 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#addc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
-<a name="l00236"></a>00236 <span class="keywordtype">void</span> * clientData );
-<a name="l00237"></a>00237
-<a name="l00238"></a>00238 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00251"></a>00251 <span class="comment"></span>
-<a name="l00252"></a>00252 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512" title="DumpAliases() sends the list of registered aliases and corresponding actuals to a...">DumpAliases</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
-<a name="l00253"></a>00253 <span class="keywordtype">void</span> * clientData );
-<a name="l00254"></a>00254
-<a name="l00256"></a>00256
-<a name="l00257"></a>00257 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00268"></a>00268 <span class="comment"></span>
-<a name="l00269"></a>00269 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00290"></a>00290 <span class="comment"></span>
-<a name="l00291"></a>00291 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
-<a name="l00292"></a>00292 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> suggestedPrefix,
-<a name="l00293"></a>00293 tStringObj * registeredPrefix );
-<a name="l00294"></a>00294
-<a name="l00295"></a>00295 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00309"></a>00309 <span class="comment"></span>
-<a name="l00310"></a>00310 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
-<a name="l00311"></a>00311 tStringObj * namespacePrefix );
-<a name="l00312"></a>00312
-<a name="l00313"></a>00313 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00326"></a>00326 <span class="comment"></span>
-<a name="l00327"></a>00327 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespacePrefix,
-<a name="l00328"></a>00328 tStringObj * namespaceURI );
-<a name="l00329"></a>00329
-<a name="l00330"></a>00330 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00339"></a>00339 <span class="comment"></span>
-<a name="l00340"></a>00340 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a" title="Not implemented.">DeleteNamespace</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI );
-<a name="l00341"></a>00341
-<a name="l00343"></a>00343
-<a name="l00344"></a>00344 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00360"></a>00360 <span class="comment"></span>
-<a name="l00361"></a>00361 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00397"></a>00397 <span class="comment"></span>
-<a name="l00398"></a>00398 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a" title="RegisterAlias() associates an alias name with an actual name.">RegisterAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
-<a name="l00399"></a>00399 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp,
-<a name="l00400"></a>00400 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> actualNS,
-<a name="l00401"></a>00401 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> actualProp,
-<a name="l00402"></a>00402 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayForm = <a class="code" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a> );
-<a name="l00403"></a>00403
-<a name="l00404"></a>00404 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00431"></a>00431 <span class="comment"></span>
-<a name="l00432"></a>00432 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a" title="ResolveAlias() reports whether a name is an alias, and what it is aliased to.">ResolveAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
-<a name="l00433"></a>00433 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp,
-<a name="l00434"></a>00434 tStringObj * actualNS,
-<a name="l00435"></a>00435 tStringObj * actualProp,
-<a name="l00436"></a>00436 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * arrayForm );
-<a name="l00437"></a>00437
-<a name="l00438"></a>00438 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00451"></a>00451 <span class="comment"></span>
-<a name="l00452"></a>00452 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675" title="DeleteAlias() deletes an alias.">DeleteAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
-<a name="l00453"></a>00453 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp );
-<a name="l00454"></a>00454
-<a name="l00455"></a>00455 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00465"></a>00465 <span class="comment"></span>
-<a name="l00466"></a>00466 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602" title="RegisterStandardAliases() registers all of the built-in aliases for a standard namespace...">RegisterStandardAliases</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS );
-<a name="l00467"></a>00467
-<a name="l00469"></a>00469
-<a name="l00470"></a>00470 <span class="comment">// =============================================================================================</span>
-<a name="l00471"></a>00471 <span class="comment">// Basic property manipulation functions</span>
-<a name="l00472"></a>00472 <span class="comment">// =====================================</span>
-<a name="l00473"></a>00473
-<a name="l00474"></a>00474 <span class="comment">// *** Should add discussion of schemaNS and propName prefix usage.</span>
-<a name="l00475"></a>00475
-<a name="l00476"></a>00476 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00491"></a>00491 <span class="comment"></span>
-<a name="l00492"></a>00492 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00523"></a>00523 <span class="comment"></span>
-<a name="l00524"></a>00524 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00525"></a>00525 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00526"></a>00526 tStringObj * propValue,
-<a name="l00527"></a>00527 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l00528"></a>00528
-<a name="l00529"></a>00529 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00551"></a>00551 <span class="comment"></span>
-<a name="l00552"></a>00552 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00553"></a>00553 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00554"></a>00554 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
-<a name="l00555"></a>00555 tStringObj * itemValue,
-<a name="l00556"></a>00556 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l00557"></a>00557
-<a name="l00558"></a>00558 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00583"></a>00583 <span class="comment"></span>
-<a name="l00584"></a>00584 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00585"></a>00585 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l00586"></a>00586 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00587"></a>00587 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00588"></a>00588 tStringObj * fieldValue,
-<a name="l00589"></a>00589 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l00590"></a>00590
-<a name="l00591"></a>00591 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00616"></a>00616 <span class="comment"></span>
-<a name="l00617"></a>00617 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00618"></a>00618 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00619"></a>00619 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l00620"></a>00620 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
-<a name="l00621"></a>00621 tStringObj * qualValue,
-<a name="l00622"></a>00622 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l00623"></a>00623
-<a name="l00625"></a>00625
-<a name="l00626"></a>00626 <span class="comment">// =============================================================================================</span>
-<a name="l00627"></a>00627
-<a name="l00628"></a>00628 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00640"></a>00640 <span class="comment"></span>
-<a name="l00654"></a>00654
-<a name="l00655"></a>00655 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00672"></a>00672 <span class="comment"></span>
-<a name="l00673"></a>00673 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00674"></a>00674 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00675"></a>00675 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propValue,
-<a name="l00676"></a>00676 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00677"></a>00677
-<a name="l00678"></a>00678 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00683"></a>00683 <span class="comment"></span>
-<a name="l00684"></a>00684 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00685"></a>00685 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00686"></a>00686 <span class="keyword">const</span> tStringObj &amp; propValue,
-<a name="l00687"></a>00687 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00688"></a>00688
-<a name="l00689"></a>00689 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00717"></a>00717 <span class="comment"></span>
-<a name="l00718"></a>00718 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00719"></a>00719 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00720"></a>00720 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
-<a name="l00721"></a>00721 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
-<a name="l00722"></a>00722 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00723"></a>00723
-<a name="l00724"></a>00724 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00729"></a>00729 <span class="comment"></span>
-<a name="l00730"></a>00730 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00731"></a>00731 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00732"></a>00732 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
-<a name="l00733"></a>00733 <span class="keyword">const</span> tStringObj &amp; itemValue,
-<a name="l00734"></a>00734 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00735"></a>00735
-<a name="l00736"></a>00736 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00762"></a>00762 <span class="comment"></span>
-<a name="l00763"></a>00763 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00764"></a>00764 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00765"></a>00765 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
-<a name="l00766"></a>00766 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
-<a name="l00767"></a>00767 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
-<a name="l00768"></a>00768
-<a name="l00769"></a>00769 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00775"></a>00775 <span class="comment"></span>
-<a name="l00776"></a>00776 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00777"></a>00777 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00778"></a>00778 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
-<a name="l00779"></a>00779 <span class="keyword">const</span> tStringObj &amp; itemValue,
-<a name="l00780"></a>00780 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
-<a name="l00781"></a>00781
-<a name="l00782"></a>00782 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00807"></a>00807 <span class="comment"></span>
-<a name="l00808"></a>00808 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00809"></a>00809 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l00810"></a>00810 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00811"></a>00811 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00812"></a>00812 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
-<a name="l00813"></a>00813 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00814"></a>00814
-<a name="l00815"></a>00815 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00821"></a>00821 <span class="comment"></span>
-<a name="l00822"></a>00822 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00823"></a>00823 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l00824"></a>00824 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00825"></a>00825 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00826"></a>00826 <span class="keyword">const</span> tStringObj &amp; fieldValue,
-<a name="l00827"></a>00827 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00828"></a>00828
-<a name="l00829"></a>00829 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00854"></a>00854 <span class="comment"></span>
-<a name="l00855"></a>00855 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00856"></a>00856 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00857"></a>00857 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l00858"></a>00858 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
-<a name="l00859"></a>00859 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualValue,
-<a name="l00860"></a>00860 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00861"></a>00861
-<a name="l00862"></a>00862 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00867"></a>00867 <span class="comment"></span>
-<a name="l00868"></a>00868 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00869"></a>00869 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00870"></a>00870 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l00871"></a>00871 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
-<a name="l00872"></a>00872 <span class="keyword">const</span> tStringObj &amp; qualValue,
-<a name="l00873"></a>00873 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00874"></a>00874
-<a name="l00876"></a>00876
-<a name="l00877"></a>00877 <span class="comment">// =============================================================================================</span>
-<a name="l00878"></a>00878
-<a name="l00879"></a>00879 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00885"></a>00885 <span class="comment"></span>
-<a name="l00886"></a>00886 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00894"></a>00894 <span class="comment"></span>
-<a name="l00895"></a>00895 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00896"></a>00896 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName );
-<a name="l00897"></a>00897
-<a name="l00898"></a>00898 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00911"></a>00911 <span class="comment"></span>
-<a name="l00912"></a>00912 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00913"></a>00913 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00914"></a>00914 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex );
-<a name="l00915"></a>00915
-<a name="l00916"></a>00916 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00931"></a>00931 <span class="comment"></span>
-<a name="l00932"></a>00932 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00933"></a>00933 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l00934"></a>00934 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00935"></a>00935 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName );
-<a name="l00936"></a>00936
-<a name="l00937"></a>00937 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00953"></a>00953 <span class="comment"></span>
-<a name="l00954"></a>00954 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00955"></a>00955 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00956"></a>00956 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l00957"></a>00957 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName );
-<a name="l00958"></a>00958
-<a name="l00959"></a>00959 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00967"></a>00967 <span class="comment"></span>
-<a name="l00968"></a>00968 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00969"></a>00969 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName ) <span class="keyword">const</span>;
-<a name="l00970"></a>00970
-<a name="l00971"></a>00971 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00985"></a>00985 <span class="comment"></span>
-<a name="l00986"></a>00986 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00987"></a>00987 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00988"></a>00988 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex ) <span class="keyword">const</span>;
-<a name="l00989"></a>00989
-<a name="l00990"></a>00990 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01007"></a>01007 <span class="comment"></span>
-<a name="l01008"></a>01008 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01009"></a>01009 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l01010"></a>01010 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l01011"></a>01011 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName ) <span class="keyword">const</span>;
-<a name="l01012"></a>01012
-<a name="l01013"></a>01013 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01029"></a>01029 <span class="comment"></span>
-<a name="l01030"></a>01030 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01031"></a>01031 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01032"></a>01032 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l01033"></a>01033 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName ) <span class="keyword">const</span>;
-<a name="l01034"></a>01034
-<a name="l01036"></a>01036
-<a name="l01037"></a>01037 <span class="comment">// =============================================================================================</span>
-<a name="l01038"></a>01038 <span class="comment">// Specialized Get and Set functions</span>
-<a name="l01039"></a>01039 <span class="comment">// =============================================================================================</span>
-<a name="l01040"></a>01040
-<a name="l01041"></a>01041 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01050"></a>01050 <span class="comment"></span>
-<a name="l01051"></a>01051 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01070"></a>01070 <span class="comment"></span>
-<a name="l01071"></a>01071 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01072"></a>01072 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01073"></a>01073 <span class="keywordtype">bool</span> * propValue,
-<a name="l01074"></a>01074 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01075"></a>01075
-<a name="l01076"></a>01076 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01095"></a>01095 <span class="comment"></span>
-<a name="l01096"></a>01096 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01097"></a>01097 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01098"></a>01098 <span class="keywordtype">long</span> * propValue,
-<a name="l01099"></a>01099 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01100"></a>01100
-<a name="l01101"></a>01101 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01120"></a>01120 <span class="comment"></span>
-<a name="l01121"></a>01121 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01122"></a>01122 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01123"></a>01123 <span class="keywordtype">long</span> <span class="keywordtype">long</span> * propValue,
-<a name="l01124"></a>01124 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01125"></a>01125
-<a name="l01126"></a>01126 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01145"></a>01145 <span class="comment"></span>
-<a name="l01146"></a>01146 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01147"></a>01147 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01148"></a>01148 <span class="keywordtype">double</span> * propValue,
-<a name="l01149"></a>01149 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01150"></a>01150
-<a name="l01151"></a>01151 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01170"></a>01170 <span class="comment"></span>
-<a name="l01171"></a>01171 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01172"></a>01172 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01173"></a>01173 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * propValue,
-<a name="l01174"></a>01174 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01175"></a>01175
-<a name="l01176"></a>01176 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01192"></a>01192 <span class="comment"></span>
-<a name="l01193"></a>01193 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01194"></a>01194 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01195"></a>01195 <span class="keywordtype">bool</span> propValue,
-<a name="l01196"></a>01196 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01197"></a>01197
-<a name="l01198"></a>01198 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01214"></a>01214 <span class="comment"></span>
-<a name="l01215"></a>01215 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01216"></a>01216 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01217"></a>01217 <span class="keywordtype">long</span> propValue,
-<a name="l01218"></a>01218 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01219"></a>01219
-<a name="l01220"></a>01220 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01236"></a>01236 <span class="comment"></span>
-<a name="l01237"></a>01237 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01238"></a>01238 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01239"></a>01239 <span class="keywordtype">long</span> <span class="keywordtype">long</span> propValue,
-<a name="l01240"></a>01240 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01241"></a>01241
-<a name="l01242"></a>01242 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01258"></a>01258 <span class="comment"></span>
-<a name="l01259"></a>01259 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01260"></a>01260 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01261"></a>01261 <span class="keywordtype">double</span> propValue,
-<a name="l01262"></a>01262 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01263"></a>01263
-<a name="l01264"></a>01264 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01280"></a>01280 <span class="comment"></span>
-<a name="l01281"></a>01281 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01282"></a>01282 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l01283"></a>01283 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; propValue,
-<a name="l01284"></a>01284 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01285"></a>01285
-<a name="l01287"></a>01287 <span class="comment">// =============================================================================================</span>
-<a name="l01326"></a>01326 <span class="comment"></span>
-<a name="l01327"></a>01327 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01368"></a>01368 <span class="comment"></span>
-<a name="l01369"></a>01369 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01370"></a>01370 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
-<a name="l01371"></a>01371 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
-<a name="l01372"></a>01372 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
-<a name="l01373"></a>01373 tStringObj * actualLang,
-<a name="l01374"></a>01374 tStringObj * itemValue,
-<a name="l01375"></a>01375 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
-<a name="l01376"></a>01376
-<a name="l01377"></a>01377 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01435"></a>01435 <span class="comment"></span>
-<a name="l01436"></a>01436 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01437"></a>01437 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
-<a name="l01438"></a>01438 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
-<a name="l01439"></a>01439 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
-<a name="l01440"></a>01440 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
-<a name="l01441"></a>01441 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01442"></a>01442
-<a name="l01443"></a>01443 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01500"></a>01500 <span class="comment"></span>
-<a name="l01501"></a>01501 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01502"></a>01502 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
-<a name="l01503"></a>01503 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
-<a name="l01504"></a>01504 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
-<a name="l01505"></a>01505 <span class="keyword">const</span> tStringObj &amp; itemValue,
-<a name="l01506"></a>01506 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01507"></a>01507
-<a name="l01509"></a>01509
-<a name="l01510"></a>01510 <span class="comment">// =============================================================================================</span>
-<a name="l01522"></a>01522 <span class="comment"></span>
-<a name="l01523"></a>01523 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01547"></a>01547 <span class="comment"></span>
-<a name="l01548"></a>01548 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
-<a name="l01549"></a>01549 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> bufferSize,
-<a name="l01550"></a>01550 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l01551"></a>01551
-<a name="l01552"></a>01552 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01595"></a>01595 <span class="comment"></span>
-<a name="l01596"></a>01596 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
-<a name="l01597"></a>01597 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
-<a name="l01598"></a>01598 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding,
-<a name="l01599"></a>01599 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> newline,
-<a name="l01600"></a>01600 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> indent = <span class="stringliteral">""</span>,
-<a name="l01601"></a>01601 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> baseIndent = 0 ) <span class="keyword">const</span>;
-<a name="l01602"></a>01602
-<a name="l01603"></a>01603 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01638"></a>01638 <span class="comment"></span>
-<a name="l01639"></a>01639 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
-<a name="l01640"></a>01640 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0,
-<a name="l01641"></a>01641 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding = 0 ) <span class="keyword">const</span>;
-<a name="l01642"></a>01642
-<a name="l01644"></a>01644 <span class="comment">// =============================================================================================</span>
-<a name="l01645"></a>01645 <span class="comment">// Miscellaneous Member Functions</span>
-<a name="l01646"></a>01646 <span class="comment">// ==============================</span>
-<a name="l01647"></a>01647
-<a name="l01648"></a>01648 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01651"></a>01651 <span class="comment"></span>
-<a name="l01652"></a>01652 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01684"></a>01684 <span class="comment"></span>
-<a name="l01685"></a>01685 <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> <a class="code" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">GetInternalRef</a>() <span class="keyword">const</span>;
-<a name="l01686"></a>01686
-<a name="l01687"></a>01687 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01693"></a>01693 <span class="comment"></span>
-<a name="l01694"></a>01694 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName</a> ( tStringObj * name ) <span class="keyword">const</span>;
-<a name="l01695"></a>01695
-<a name="l01696"></a>01696 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01702"></a>01702 <span class="comment"></span>
-<a name="l01703"></a>01703 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> name );
-<a name="l01704"></a>01704
-<a name="l01705"></a>01705 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01711"></a>01711 <span class="comment"></span>
-<a name="l01712"></a>01712 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( tStringObj name );
-<a name="l01713"></a>01713
-<a name="l01714"></a>01714 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01725"></a>01725 <span class="comment"></span>
-<a name="l01726"></a>01726 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort</a>();
-<a name="l01727"></a>01727
-<a name="l01728"></a>01728 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01730"></a>01730 <span class="comment"></span>
-<a name="l01731"></a>01731 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7" title="Erase() restores the object to a &amp;quot;just constructed&amp;quot; state.">Erase</a>();
-<a name="l01732"></a>01732
-<a name="l01733"></a>01733 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01757"></a>01757 <span class="comment"></span>
-<a name="l01758"></a>01758 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> <a class="code" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 ) <span class="keyword">const</span>;
-<a name="l01759"></a>01759
-<a name="l01760"></a>01760 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01769"></a>01769 <span class="comment"></span>
-<a name="l01770"></a>01770 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> <a class="code" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l01771"></a>01771 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName ) <span class="keyword">const</span>;
-<a name="l01772"></a>01772
-<a name="l01773"></a>01773 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01786"></a>01786 <span class="comment"></span>
-<a name="l01787"></a>01787 <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
-<a name="l01788"></a>01788 <span class="keywordtype">void</span> * clientData ) <span class="keyword">const</span>;
-<a name="l01789"></a>01789
-<a name="l01790"></a>01790 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01792"></a>01792 <span class="comment"></span> <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2" title="Not implemented.">GetObjectOptions</a>() <span class="keyword">const</span>;
-<a name="l01793"></a>01793
-<a name="l01794"></a>01794 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l01796"></a>01796 <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17" title="Not implemented.">SetObjectOptions</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
-<a name="l01797"></a>01797
-<a name="l01799"></a>01799
-<a name="l01800"></a>01800 <span class="comment">// =============================================================================================</span>
-<a name="l01801"></a>01801
-<a name="l01802"></a>01802 <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef; <span class="comment">// *** Should be private, see below.</span>
-<a name="l01803"></a>01803
-<a name="l01804"></a>01804 <span class="keyword">private</span>:
-<a name="l01805"></a>01805
-<a name="l01806"></a>01806 <span class="preprocessor">#if 0 // *** VS.Net and gcc seem to not handle the friend declarations properly.</span>
-<a name="l01807"></a>01807 <span class="preprocessor"></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> &lt;class tStringObj&gt;;
-<a name="l01808"></a>01808 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> &lt;class tStringObj&gt;;
-<a name="l01809"></a>01809 <span class="preprocessor">#endif</span>
-<a name="l01810"></a>01810 <span class="preprocessor"></span>
-<a name="l01811"></a>01811 }; <span class="comment">// class TXMPMeta</span>
-<a name="l01812"></a>01812
-<a name="l01813"></a>01813 <span class="preprocessor">#endif // __TXMPMeta_hpp__</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/TXMPMeta_8hpp.html b/docs/API/TXMPMeta_8hpp.html
index 40ddaf7..6e2dbcc 100644
--- a/docs/API/TXMPMeta_8hpp.html
+++ b/docs/API/TXMPMeta_8hpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.hpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPMeta.hpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,25 +55,30 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPMeta.hpp File Reference</h1>API for access to the XMP Toolkit core services. <a href="#_details">More...</a>
-<p>
-
-<p>
-<a href="TXMPMeta_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td></tr>
+<h1>TXMPMeta.hpp File Reference</h1>
+<p>API for access to the XMP Toolkit core services.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit core services. <a href="classTXMPMeta.html#_details">More...</a><br></td></tr>
+<p><a href="TXMPMeta_8hpp_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit core services. <a href="classTXMPMeta.html#_details">More...</a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-API for access to the XMP Toolkit core services.
-<p>
-<code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> is the template class providing the core services of the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.<p>
-Access these functions through the concrete class, <code>SXMPMeta</code>. </div>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>API for access to the XMP Toolkit core services. </p>
+<p><code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> is the template class providing the core services of the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions. Please that you MUST NOT derive a class from this class, consider this class FINAL, use it directly. [1279031]</p>
+<p>Access these functions through the concrete class, <code>SXMPMeta</code>. </p>
+</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPMeta_8hpp_source.html b/docs/API/TXMPMeta_8hpp_source.html
new file mode 100644
index 0000000..e4fef51
--- /dev/null
+++ b/docs/API/TXMPMeta_8hpp_source.html
@@ -0,0 +1,582 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-5.1.2: TXMPMeta.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.6.3 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPMeta.hpp</h1><a href="TXMPMeta_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPMeta_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPMeta_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error &quot;Do not directly include, use XMP.hpp&quot;</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00028"></a>00028 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// =================================================================================================</span>
+<a name="l00043"></a>00043 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>;
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a>;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="classTXMPMeta.html">00050</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> {
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">public</span>:
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// =============================================================================================</span>
+<a name="l00055"></a>00055 <span class="comment">// Initialization and termination</span>
+<a name="l00056"></a>00056 <span class="comment">// ==============================</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00062"></a>00062 <span class="comment"></span>
+<a name="l00063"></a>00063 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00075"></a>00075 <span class="comment"></span>
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * info );
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00080"></a>00080 <span class="comment"></span>
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize</a>();
+<a name="l00090"></a>00090 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00096"></a>00096 <span class="comment"></span>
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate</a>();
+<a name="l00098"></a>00098
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// =============================================================================================</span>
+<a name="l00102"></a>00102 <span class="comment">// Constuctors and destructor</span>
+<a name="l00103"></a>00103 <span class="comment">// =========================</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00108"></a>00108 <span class="comment"></span>
+<a name="l00109"></a>00109 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00115"></a>00115 <span class="comment"></span> <a class="code" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a>();
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00126"></a>00126 <span class="comment"></span>
+<a name="l00127"></a>00127 <a class="code" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00134"></a>00134 <span class="comment"></span>
+<a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a4d5a601c9b77f6f6ab5f14e658de58ef" title="Assignment operator, assigns the internal reference and increments the reference...">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00147"></a>00147 <span class="comment"></span>
+<a name="l00148"></a>00148 <a class="code" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef );
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00167"></a>00167 <span class="comment"></span>
+<a name="l00168"></a>00168 <a class="code" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
+<a name="l00169"></a>00169 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpSize );
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00173"></a>00173 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classTXMPMeta.html#abab5013870cd47eb0d9d701653735a02" title="Destructor, typical virtual destructor. */.">~TXMPMeta</a>() <span class="keywordflow">throw</span>();
+<a name="l00174"></a>00174
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="comment">// =============================================================================================</span>
+<a name="l00178"></a>00178 <span class="comment">// Global state functions</span>
+<a name="l00179"></a>00179 <span class="comment">// ======================</span>
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00186"></a>00186 <span class="comment"></span>
+<a name="l00187"></a>00187 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00194"></a>00194 <span class="comment"></span>
+<a name="l00195"></a>00195 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions</a>();
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00208"></a>00208 <span class="comment"></span>
+<a name="l00209"></a>00209 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00210"></a>00210
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00221"></a>00221 <span class="comment"></span>
+<a name="l00222"></a>00222 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00235"></a>00235 <span class="comment"></span>
+<a name="l00236"></a>00236 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces</a> ( <a class="code" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
+<a name="l00237"></a>00237 <span class="keywordtype">void</span> * clientData );
+<a name="l00238"></a>00238
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00252"></a>00252 <span class="comment"></span>
+<a name="l00253"></a>00253 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00274"></a>00274 <span class="comment"></span>
+<a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
+<a name="l00276"></a>00276 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> suggestedPrefix,
+<a name="l00277"></a>00277 tStringObj * registeredPrefix );
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00293"></a>00293 <span class="comment"></span>
+<a name="l00294"></a>00294 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
+<a name="l00295"></a>00295 tStringObj * namespacePrefix );
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00310"></a>00310 <span class="comment"></span>
+<a name="l00311"></a>00311 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespacePrefix,
+<a name="l00312"></a>00312 tStringObj * namespaceURI );
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00323"></a>00323 <span class="comment"></span>
+<a name="l00324"></a>00324 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a3f989597e95db929676273cacd4ea09a" title="Not implemented.">DeleteNamespace</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI );
+<a name="l00325"></a>00325
+<a name="l00327"></a>00327
+<a name="l00328"></a>00328 <span class="comment">// =============================================================================================</span>
+<a name="l00329"></a>00329 <span class="comment">// Basic property manipulation functions</span>
+<a name="l00330"></a>00330 <span class="comment">// =====================================</span>
+<a name="l00331"></a>00331
+<a name="l00332"></a>00332 <span class="comment">// *** Should add discussion of schemaNS and propName prefix usage.</span>
+<a name="l00333"></a>00333
+<a name="l00334"></a>00334 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00349"></a>00349 <span class="comment"></span>
+<a name="l00350"></a>00350 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00380"></a>00380 <span class="comment"></span>
+<a name="l00381"></a>00381 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00382"></a>00382 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00383"></a>00383 tStringObj * propValue,
+<a name="l00384"></a>00384 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00385"></a>00385
+<a name="l00386"></a>00386 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00408"></a>00408 <span class="comment"></span>
+<a name="l00409"></a>00409 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00410"></a>00410 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00411"></a>00411 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00412"></a>00412 tStringObj * itemValue,
+<a name="l00413"></a>00413 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00414"></a>00414
+<a name="l00415"></a>00415 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00440"></a>00440 <span class="comment"></span>
+<a name="l00441"></a>00441 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00442"></a>00442 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00443"></a>00443 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00444"></a>00444 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00445"></a>00445 tStringObj * fieldValue,
+<a name="l00446"></a>00446 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00473"></a>00473 <span class="comment"></span>
+<a name="l00474"></a>00474 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00475"></a>00475 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00476"></a>00476 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00477"></a>00477 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00478"></a>00478 tStringObj * qualValue,
+<a name="l00479"></a>00479 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00480"></a>00480
+<a name="l00482"></a>00482
+<a name="l00483"></a>00483 <span class="comment">// =============================================================================================</span>
+<a name="l00484"></a>00484
+<a name="l00485"></a>00485 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00497"></a>00497 <span class="comment"></span>
+<a name="l00511"></a>00511
+<a name="l00512"></a>00512 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00529"></a>00529 <span class="comment"></span>
+<a name="l00530"></a>00530 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00531"></a>00531 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00532"></a>00532 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propValue,
+<a name="l00533"></a>00533 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00534"></a>00534
+<a name="l00535"></a>00535 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00540"></a>00540 <span class="comment"></span>
+<a name="l00541"></a>00541 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00542"></a>00542 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00543"></a>00543 <span class="keyword">const</span> tStringObj &amp; propValue,
+<a name="l00544"></a>00544 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00545"></a>00545
+<a name="l00546"></a>00546 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00574"></a>00574 <span class="comment"></span>
+<a name="l00575"></a>00575 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00576"></a>00576 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00577"></a>00577 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00578"></a>00578 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l00579"></a>00579 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00580"></a>00580
+<a name="l00581"></a>00581 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00586"></a>00586 <span class="comment"></span>
+<a name="l00587"></a>00587 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00588"></a>00588 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00589"></a>00589 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00590"></a>00590 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l00591"></a>00591 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00592"></a>00592
+<a name="l00593"></a>00593 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00619"></a>00619 <span class="comment"></span>
+<a name="l00620"></a>00620 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00621"></a>00621 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00622"></a>00622 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
+<a name="l00623"></a>00623 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l00624"></a>00624 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
+<a name="l00625"></a>00625
+<a name="l00626"></a>00626 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00632"></a>00632 <span class="comment"></span>
+<a name="l00633"></a>00633 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00634"></a>00634 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00635"></a>00635 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
+<a name="l00636"></a>00636 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l00637"></a>00637 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
+<a name="l00638"></a>00638
+<a name="l00639"></a>00639 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00664"></a>00664 <span class="comment"></span>
+<a name="l00665"></a>00665 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00666"></a>00666 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00667"></a>00667 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00668"></a>00668 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00669"></a>00669 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
+<a name="l00670"></a>00670 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00671"></a>00671
+<a name="l00672"></a>00672 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00678"></a>00678 <span class="comment"></span>
+<a name="l00679"></a>00679 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00680"></a>00680 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00681"></a>00681 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00682"></a>00682 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00683"></a>00683 <span class="keyword">const</span> tStringObj &amp; fieldValue,
+<a name="l00684"></a>00684 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00685"></a>00685
+<a name="l00686"></a>00686 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00711"></a>00711 <span class="comment"></span>
+<a name="l00712"></a>00712 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00713"></a>00713 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00714"></a>00714 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00715"></a>00715 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00716"></a>00716 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualValue,
+<a name="l00717"></a>00717 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00718"></a>00718
+<a name="l00719"></a>00719 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00724"></a>00724 <span class="comment"></span>
+<a name="l00725"></a>00725 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00726"></a>00726 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00727"></a>00727 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00728"></a>00728 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00729"></a>00729 <span class="keyword">const</span> tStringObj &amp; qualValue,
+<a name="l00730"></a>00730 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00731"></a>00731
+<a name="l00733"></a>00733
+<a name="l00734"></a>00734 <span class="comment">// =============================================================================================</span>
+<a name="l00735"></a>00735
+<a name="l00736"></a>00736 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00742"></a>00742 <span class="comment"></span>
+<a name="l00743"></a>00743 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00751"></a>00751 <span class="comment"></span>
+<a name="l00752"></a>00752 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00753"></a>00753 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName );
+<a name="l00754"></a>00754
+<a name="l00755"></a>00755 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00768"></a>00768 <span class="comment"></span>
+<a name="l00769"></a>00769 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00770"></a>00770 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00771"></a>00771 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex );
+<a name="l00772"></a>00772
+<a name="l00773"></a>00773 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00788"></a>00788 <span class="comment"></span>
+<a name="l00789"></a>00789 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00790"></a>00790 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00791"></a>00791 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00792"></a>00792 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName );
+<a name="l00793"></a>00793
+<a name="l00794"></a>00794 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00810"></a>00810 <span class="comment"></span>
+<a name="l00811"></a>00811 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00812"></a>00812 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00813"></a>00813 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00814"></a>00814 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName );
+<a name="l00815"></a>00815
+<a name="l00816"></a>00816 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00824"></a>00824 <span class="comment"></span>
+<a name="l00825"></a>00825 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00826"></a>00826 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName ) <span class="keyword">const</span>;
+<a name="l00827"></a>00827
+<a name="l00828"></a>00828 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00842"></a>00842 <span class="comment"></span>
+<a name="l00843"></a>00843 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00844"></a>00844 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00845"></a>00845 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex ) <span class="keyword">const</span>;
+<a name="l00846"></a>00846
+<a name="l00847"></a>00847 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00864"></a>00864 <span class="comment"></span>
+<a name="l00865"></a>00865 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00866"></a>00866 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00867"></a>00867 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00868"></a>00868 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName ) <span class="keyword">const</span>;
+<a name="l00869"></a>00869
+<a name="l00870"></a>00870 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00886"></a>00886 <span class="comment"></span>
+<a name="l00887"></a>00887 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00888"></a>00888 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00889"></a>00889 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00890"></a>00890 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName ) <span class="keyword">const</span>;
+<a name="l00891"></a>00891
+<a name="l00893"></a>00893
+<a name="l00894"></a>00894 <span class="comment">// =============================================================================================</span>
+<a name="l00895"></a>00895 <span class="comment">// Specialized Get and Set functions</span>
+<a name="l00896"></a>00896 <span class="comment">// =============================================================================================</span>
+<a name="l00897"></a>00897
+<a name="l00898"></a>00898 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00907"></a>00907 <span class="comment"></span>
+<a name="l00908"></a>00908 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00927"></a>00927 <span class="comment"></span>
+<a name="l00928"></a>00928 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00929"></a>00929 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00930"></a>00930 <span class="keywordtype">bool</span> * propValue,
+<a name="l00931"></a>00931 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00932"></a>00932
+<a name="l00933"></a>00933 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00952"></a>00952 <span class="comment"></span>
+<a name="l00953"></a>00953 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00954"></a>00954 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00955"></a>00955 XMP_Int32 * propValue,
+<a name="l00956"></a>00956 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00957"></a>00957
+<a name="l00958"></a>00958 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00977"></a>00977 <span class="comment"></span>
+<a name="l00978"></a>00978 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00979"></a>00979 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00980"></a>00980 XMP_Int64 * propValue,
+<a name="l00981"></a>00981 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00982"></a>00982
+<a name="l00983"></a>00983 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01002"></a>01002 <span class="comment"></span>
+<a name="l01003"></a>01003 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01004"></a>01004 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01005"></a>01005 <span class="keywordtype">double</span> * propValue,
+<a name="l01006"></a>01006 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01007"></a>01007
+<a name="l01008"></a>01008 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01027"></a>01027 <span class="comment"></span>
+<a name="l01028"></a>01028 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01029"></a>01029 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01030"></a>01030 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * propValue,
+<a name="l01031"></a>01031 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01032"></a>01032
+<a name="l01033"></a>01033 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01049"></a>01049 <span class="comment"></span>
+<a name="l01050"></a>01050 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01051"></a>01051 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01052"></a>01052 <span class="keywordtype">bool</span> propValue,
+<a name="l01053"></a>01053 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01054"></a>01054
+<a name="l01055"></a>01055 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01071"></a>01071 <span class="comment"></span>
+<a name="l01072"></a>01072 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01073"></a>01073 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01074"></a>01074 XMP_Int32 propValue,
+<a name="l01075"></a>01075 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01076"></a>01076
+<a name="l01077"></a>01077 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01093"></a>01093 <span class="comment"></span>
+<a name="l01094"></a>01094 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01095"></a>01095 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01096"></a>01096 XMP_Int64 propValue,
+<a name="l01097"></a>01097 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01098"></a>01098
+<a name="l01099"></a>01099 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01115"></a>01115 <span class="comment"></span>
+<a name="l01116"></a>01116 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01117"></a>01117 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01118"></a>01118 <span class="keywordtype">double</span> propValue,
+<a name="l01119"></a>01119 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01120"></a>01120
+<a name="l01121"></a>01121 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01137"></a>01137 <span class="comment"></span>
+<a name="l01138"></a>01138 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01139"></a>01139 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01140"></a>01140 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; propValue,
+<a name="l01141"></a>01141 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01142"></a>01142
+<a name="l01144"></a>01144 <span class="comment">// =============================================================================================</span>
+<a name="l01183"></a>01183 <span class="comment"></span>
+<a name="l01184"></a>01184 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01225"></a>01225 <span class="comment"></span>
+<a name="l01226"></a>01226 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01227"></a>01227 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01228"></a>01228 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01229"></a>01229 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01230"></a>01230 tStringObj * actualLang,
+<a name="l01231"></a>01231 tStringObj * itemValue,
+<a name="l01232"></a>01232 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01233"></a>01233
+<a name="l01234"></a>01234 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01292"></a>01292 <span class="comment"></span>
+<a name="l01293"></a>01293 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01294"></a>01294 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01295"></a>01295 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01296"></a>01296 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01297"></a>01297 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l01298"></a>01298 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01299"></a>01299
+<a name="l01300"></a>01300 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01357"></a>01357 <span class="comment"></span>
+<a name="l01358"></a>01358 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01359"></a>01359 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01360"></a>01360 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01361"></a>01361 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01362"></a>01362 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l01363"></a>01363 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01364"></a>01364
+<a name="l01365"></a>01365 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01381"></a>01381 <span class="comment"></span> <span class="keywordtype">void</span>
+<a name="l01382"></a>01382 <a class="code" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8" title="DeleteLocalizedText() deletes specific language alternatives from an alt-text array...">DeleteLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01383"></a>01383 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01384"></a>01384 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01385"></a>01385 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang );
+<a name="l01386"></a>01386
+<a name="l01388"></a>01388
+<a name="l01389"></a>01389 <span class="comment">// =============================================================================================</span>
+<a name="l01401"></a>01401 <span class="comment"></span>
+<a name="l01402"></a>01402 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01426"></a>01426 <span class="comment"></span>
+<a name="l01427"></a>01427 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
+<a name="l01428"></a>01428 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> bufferSize,
+<a name="l01429"></a>01429 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01430"></a>01430
+<a name="l01431"></a>01431 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01473"></a>01473 <span class="comment"></span>
+<a name="l01474"></a>01474 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
+<a name="l01475"></a>01475 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l01476"></a>01476 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding,
+<a name="l01477"></a>01477 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> newline,
+<a name="l01478"></a>01478 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> indent = <span class="stringliteral">&quot;&quot;</span>,
+<a name="l01479"></a>01479 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> baseIndent = 0 ) <span class="keyword">const</span>;
+<a name="l01480"></a>01480
+<a name="l01481"></a>01481 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01515"></a>01515 <span class="comment"></span>
+<a name="l01516"></a>01516 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
+<a name="l01517"></a>01517 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0,
+<a name="l01518"></a>01518 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding = 0 ) <span class="keyword">const</span>;
+<a name="l01519"></a>01519
+<a name="l01521"></a>01521 <span class="comment">// =============================================================================================</span>
+<a name="l01522"></a>01522 <span class="comment">// Miscellaneous Member Functions</span>
+<a name="l01523"></a>01523 <span class="comment">// ==============================</span>
+<a name="l01524"></a>01524
+<a name="l01525"></a>01525 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01528"></a>01528 <span class="comment"></span>
+<a name="l01529"></a>01529 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01561"></a>01561 <span class="comment"></span>
+<a name="l01562"></a>01562 <a class="code" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> <a class="code" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">GetInternalRef</a>() <span class="keyword">const</span>;
+<a name="l01563"></a>01563
+<a name="l01564"></a>01564 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01570"></a>01570 <span class="comment"></span>
+<a name="l01571"></a>01571 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName</a> ( tStringObj * name ) <span class="keyword">const</span>;
+<a name="l01572"></a>01572
+<a name="l01573"></a>01573 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01579"></a>01579 <span class="comment"></span>
+<a name="l01580"></a>01580 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> name );
+<a name="l01581"></a>01581
+<a name="l01582"></a>01582 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01588"></a>01588 <span class="comment"></span>
+<a name="l01589"></a>01589 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( tStringObj name );
+<a name="l01590"></a>01590
+<a name="l01591"></a>01591 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01602"></a>01602 <span class="comment"></span>
+<a name="l01603"></a>01603 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort</a>();
+<a name="l01604"></a>01604
+<a name="l01605"></a>01605 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01607"></a>01607 <span class="comment"></span>
+<a name="l01608"></a>01608 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7" title="Erase() restores the object to a &amp;quot;just constructed&amp;quot; state.">Erase</a>();
+<a name="l01609"></a>01609
+<a name="l01610"></a>01610 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01634"></a>01634 <span class="comment"></span>
+<a name="l01635"></a>01635 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> <a class="code" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 ) <span class="keyword">const</span>;
+<a name="l01636"></a>01636
+<a name="l01637"></a>01637 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01646"></a>01646 <span class="comment"></span>
+<a name="l01647"></a>01647 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> <a class="code" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01648"></a>01648 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName ) <span class="keyword">const</span>;
+<a name="l01649"></a>01649
+<a name="l01650"></a>01650 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01663"></a>01663 <span class="comment"></span>
+<a name="l01664"></a>01664 <a class="code" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject</a> ( <a class="code" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
+<a name="l01665"></a>01665 <span class="keywordtype">void</span> * clientData ) <span class="keyword">const</span>;
+<a name="l01666"></a>01666
+<a name="l01667"></a>01667 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01669"></a>01669 <span class="comment"></span> <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#a0bfc04142a35671a4c8989fcaca6d6c2" title="Not implemented.">GetObjectOptions</a>() <span class="keyword">const</span>;
+<a name="l01670"></a>01670
+<a name="l01671"></a>01671 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01673"></a>01673 <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#a92055b3ae18dfd5e5491108f59318f17" title="Not implemented.">SetObjectOptions</a> ( <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l01674"></a>01674
+<a name="l01676"></a>01676
+<a name="l01677"></a>01677 <span class="comment">// =============================================================================================</span>
+<a name="l01678"></a>01678
+<a name="l01679"></a>01679 <a class="code" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef; <span class="comment">// *** Should be private, see below.</span>
+<a name="l01680"></a>01680
+<a name="l01681"></a>01681 <span class="keyword">private</span>:
+<a name="l01682"></a>01682
+<a name="l01683"></a>01683 <span class="preprocessor">#if 0 // *** VS.Net and gcc seem to not handle the friend declarations properly.</span>
+<a name="l01684"></a>01684 <span class="preprocessor"></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> &lt;class tStringObj&gt;;
+<a name="l01685"></a>01685 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> &lt;class tStringObj&gt;;
+<a name="l01686"></a>01686 <span class="preprocessor">#endif</span>
+<a name="l01687"></a>01687 <span class="preprocessor"></span>
+<a name="l01688"></a>01688 <span class="keyword">static</span> <span class="keywordtype">void</span> SetClientString ( <span class="keywordtype">void</span> * clientPtr, <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> valuePtr, <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> valueLen );
+<a name="l01689"></a>01689
+<a name="l01690"></a>01690 }; <span class="comment">// class TXMPMeta</span>
+<a name="l01691"></a>01691
+<a name="l01692"></a>01692 <span class="preprocessor">#endif // __TXMPMeta_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPMeta_8incl__cpp.html b/docs/API/TXMPMeta_8incl__cpp.html
index 9f7b502..b8dd9b9 100644
--- a/docs/API/TXMPMeta_8incl__cpp.html
+++ b/docs/API/TXMPMeta_8incl__cpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.incl_cpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPMeta.incl_cpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,28 +55,31 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPMeta.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;XMP.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMPMeta.hpp&quot;</code><br>
-
-<p>
+<h1>TXMPMeta.incl_cpp File Reference</h1>
+<p>The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class.
+<a href="#_details">More...</a></p>
+<code>#include &quot;XMP.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMPMeta.hpp&quot;</code><br/>
<div class="dynheader">
Include dependency graph for TXMPMeta.incl_cpp:</div>
<div class="dynsection">
-<p><center><img src="TXMPMeta_8incl__cpp__incl.png" border="0" usemap="#TXMPMeta.incl_cpp_map" alt=""></center>
+<div class="center"><img src="TXMPMeta_8incl__cpp__incl.png" border="0" usemap="#TXMPMeta_8incl__cpp_map" alt=""/></div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class.
-<p>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class. </p>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPUtils_8hpp-source.html b/docs/API/TXMPUtils_8hpp-source.html
deleted file mode 100644
index 5a76a67..0000000
--- a/docs/API/TXMPUtils_8hpp-source.html
+++ /dev/null
@@ -1,348 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.hpp Source File</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-<h1>TXMPUtils.hpp</h1><a href="TXMPUtils_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPUtils_hpp__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPUtils_hpp__ 1</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
-<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
-<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00007"></a>00007 <span class="preprocessor"></span>
-<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
-<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
-<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
-<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
-<a name="l00012"></a>00012 <span class="comment">//</span>
-<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
-<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
-<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
-<a name="l00024"></a>00024 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="comment">// =================================================================================================</span>
-<a name="l00047"></a>00047 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00048"></a>00048
-<a name="l00049"></a><a class="code" href="classTXMPUtils.html">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> {
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keyword">public</span>:
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="comment">// =============================================================================================</span>
-<a name="l00054"></a>00054 <span class="comment">// No constructors or destructor declared or needed</span>
-<a name="l00055"></a>00055 <span class="comment">// ================================================</span>
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="comment">// ============================================================================================</span>
-<a name="l00092"></a>00092 <span class="comment"></span>
-<a name="l00093"></a>00093 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00109"></a>00109 <span class="comment"></span>
-<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00111"></a>00111 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00112"></a>00112 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
-<a name="l00113"></a>00113 tStringObj * fullPath );
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00133"></a>00133 <span class="comment"></span>
-<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00135"></a>00135 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
-<a name="l00136"></a>00136 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00137"></a>00137 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00138"></a>00138 tStringObj * fullPath );
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00159"></a>00159 <span class="comment"></span>
-<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00161"></a>00161 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
-<a name="l00162"></a>00162 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
-<a name="l00163"></a>00163 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
-<a name="l00164"></a>00164 tStringObj * fullPath );
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00190"></a>00190 <span class="comment"></span>
-<a name="l00191"></a>00191 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00192"></a>00192 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00193"></a>00193 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> langName,
-<a name="l00194"></a>00194 tStringObj * fullPath );
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00220"></a>00220 <span class="comment"></span>
-<a name="l00221"></a>00221 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00222"></a>00222 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00223"></a>00223 <span class="keyword">const</span> tStringObj &amp; langName,
-<a name="l00224"></a>00224 tStringObj * fullPath );
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00260"></a>00260 <span class="comment"></span>
-<a name="l00261"></a>00261 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00262"></a>00262 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00263"></a>00263 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00264"></a>00264 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00265"></a>00265 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
-<a name="l00266"></a>00266 tStringObj * fullPath );
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00302"></a>00302 <span class="comment"></span>
-<a name="l00303"></a>00303 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00304"></a>00304 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00305"></a>00305 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
-<a name="l00306"></a>00306 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
-<a name="l00307"></a>00307 <span class="keyword">const</span> tStringObj &amp; fieldValue,
-<a name="l00308"></a>00308 tStringObj * fullPath );
-<a name="l00309"></a>00309
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 <span class="comment">// =============================================================================================</span>
-<a name="l00324"></a>00324 <span class="comment"></span>
-<a name="l00325"></a>00325 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00334"></a>00334 <span class="comment"></span>
-<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool</a> ( <span class="keywordtype">bool</span> binValue,
-<a name="l00336"></a>00336 tStringObj * strValue );
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00346"></a>00346 <span class="comment"></span>
-<a name="l00347"></a>00347 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt</a> ( <span class="keywordtype">long</span> binValue,
-<a name="l00348"></a>00348 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
-<a name="l00349"></a>00349 tStringObj * strValue );
-<a name="l00350"></a>00350 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00358"></a>00358 <span class="comment"></span>
-<a name="l00359"></a>00359 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64</a> ( <span class="keywordtype">long</span> <span class="keywordtype">long</span> binValue,
-<a name="l00360"></a>00360 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
-<a name="l00361"></a>00361 tStringObj * strValue );
-<a name="l00362"></a>00362
-<a name="l00363"></a>00363 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00371"></a>00371 <span class="comment"></span>
-<a name="l00372"></a>00372 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat</a> ( <span class="keywordtype">double</span> binValue,
-<a name="l00373"></a>00373 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
-<a name="l00374"></a>00374 tStringObj * strValue );
-<a name="l00375"></a>00375
-<a name="l00376"></a>00376 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00407"></a>00407 <span class="comment"></span>
-<a name="l00408"></a>00408 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; binValue,
-<a name="l00409"></a>00409 tStringObj * strValue );
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00421"></a>00421 <span class="comment"></span>
-<a name="l00422"></a>00422 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
-<a name="l00423"></a>00423
-<a name="l00424"></a>00424 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00433"></a>00433 <span class="comment"></span>
-<a name="l00434"></a>00434 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00442"></a>00442 <span class="comment"></span>
-<a name="l00443"></a>00443 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
-<a name="l00444"></a>00444
-<a name="l00445"></a>00445 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00454"></a>00454 <span class="comment"></span>
-<a name="l00455"></a>00455 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
-<a name="l00456"></a>00456
-<a name="l00457"></a>00457 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00463"></a>00463 <span class="comment"></span>
-<a name="l00464"></a>00464 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
-<a name="l00465"></a>00465
-<a name="l00466"></a>00466 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00475"></a>00475 <span class="comment"></span>
-<a name="l00476"></a>00476 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
-<a name="l00477"></a>00477
-<a name="l00478"></a>00478 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00484"></a>00484 <span class="comment"></span>
-<a name="l00485"></a>00485 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
-<a name="l00486"></a>00486
-<a name="l00487"></a>00487 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00496"></a>00496 <span class="comment"></span>
-<a name="l00497"></a>00497 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
-<a name="l00498"></a>00498
-<a name="l00499"></a>00499 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00532"></a>00532 <span class="comment"></span>
-<a name="l00533"></a>00533 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue,
-<a name="l00534"></a>00534 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
-<a name="l00535"></a>00535
-<a name="l00536"></a>00536 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00548"></a>00548 <span class="comment"></span>
-<a name="l00549"></a>00549 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <span class="keyword">const</span> tStringObj &amp; strValue,
-<a name="l00550"></a>00550 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
-<a name="l00551"></a>00551
-<a name="l00553"></a>00553
-<a name="l00554"></a>00554 <span class="comment">// =============================================================================================</span>
-<a name="l00560"></a>00560 <span class="comment"></span>
-<a name="l00561"></a>00561 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00569"></a>00569 <span class="comment"></span>
-<a name="l00570"></a>00570 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00578"></a>00578 <span class="comment"></span>
-<a name="l00579"></a>00579 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
-<a name="l00580"></a>00580
-<a name="l00581"></a>00581 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00588"></a>00588 <span class="comment"></span>
-<a name="l00589"></a>00589 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
-<a name="l00590"></a>00590
-<a name="l00591"></a>00591 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00598"></a>00598 <span class="comment"></span>
-<a name="l00599"></a>00599 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
-<a name="l00600"></a>00600
-<a name="l00601"></a>00601 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00612"></a>00612 <span class="comment"></span>
-<a name="l00613"></a>00613 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; left,
-<a name="l00614"></a>00614 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; right );
-<a name="l00615"></a>00615
-<a name="l00617"></a>00617
-<a name="l00618"></a>00618 <span class="comment">// =============================================================================================</span>
-<a name="l00623"></a>00623 <span class="comment"></span>
-<a name="l00624"></a>00624 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00632"></a>00632 <span class="comment"></span>
-<a name="l00633"></a>00633 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> rawStr,
-<a name="l00634"></a>00634 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> rawLen,
-<a name="l00635"></a>00635 tStringObj * encodedStr );
-<a name="l00636"></a>00636
-<a name="l00637"></a>00637 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00646"></a>00646 <span class="comment"></span>
-<a name="l00647"></a>00647 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <span class="keyword">const</span> tStringObj &amp; rawStr,
-<a name="l00648"></a>00648 tStringObj * encodedStr );
-<a name="l00649"></a>00649
-<a name="l00650"></a>00650 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00658"></a>00658 <span class="comment"></span>
-<a name="l00659"></a>00659 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> encodedStr,
-<a name="l00660"></a>00660 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> encodedLen,
-<a name="l00661"></a>00661 tStringObj * rawStr );
-<a name="l00662"></a>00662
-<a name="l00663"></a>00663 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00672"></a>00672 <span class="comment"></span>
-<a name="l00673"></a>00673 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <span class="keyword">const</span> tStringObj &amp; encodedStr,
-<a name="l00674"></a>00674 tStringObj * rawStr );
-<a name="l00675"></a>00675
-<a name="l00677"></a>00677
-<a name="l00678"></a>00678 <span class="comment">// =============================================================================================</span>
-<a name="l00679"></a>00679 <span class="comment">// =============================================================================================</span>
-<a name="l00687"></a>00687 <span class="comment"></span>
-<a name="l00688"></a>00688 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00707"></a>00707 <span class="comment"></span>
-<a name="l00708"></a>00708 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
-<a name="l00709"></a>00709 tStringObj * standardXMP,
-<a name="l00710"></a>00710 tStringObj * extendedXMP,
-<a name="l00711"></a>00711 tStringObj * extendedDigest );
-<a name="l00712"></a>00712
-<a name="l00713"></a>00713 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00727"></a>00727 <span class="comment"></span>
-<a name="l00728"></a>00728 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * fullXMP,
-<a name="l00729"></a>00729 <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; extendedXMP );
-<a name="l00730"></a>00730
-<a name="l00732"></a>00732
-<a name="l00733"></a>00733 <span class="comment">// =============================================================================================</span>
-<a name="l00740"></a>00740 <span class="comment"></span>
-<a name="l00741"></a>00741 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00765"></a>00765 <span class="comment"></span>
-<a name="l00766"></a>00766 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
-<a name="l00767"></a>00767 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00768"></a>00768 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00769"></a>00769 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> separator,
-<a name="l00770"></a>00770 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> quotes,
-<a name="l00771"></a>00771 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
-<a name="l00772"></a>00772 tStringObj * catedStr );
-<a name="l00773"></a>00773
-<a name="l00774"></a>00774 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00792"></a>00792 <span class="comment"></span>
-<a name="l00793"></a>00793 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
-<a name="l00794"></a>00794 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00795"></a>00795 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00796"></a>00796 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
-<a name="l00797"></a>00797 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> catedStr );
-<a name="l00798"></a>00798
-<a name="l00799"></a>00799 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00805"></a>00805 <span class="comment"></span>
-<a name="l00806"></a>00806 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
-<a name="l00807"></a>00807 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
-<a name="l00808"></a>00808 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
-<a name="l00809"></a>00809 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
-<a name="l00810"></a>00810 <span class="keyword">const</span> tStringObj &amp; catedStr );
-<a name="l00811"></a>00811
-<a name="l00812"></a>00812 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00843"></a>00843 <span class="comment"></span>
-<a name="l00844"></a>00844 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
-<a name="l00845"></a>00845 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS = 0,
-<a name="l00846"></a>00846 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName = 0,
-<a name="l00847"></a>00847 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00848"></a>00848
-<a name="l00849"></a>00849 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00920"></a>00920 <span class="comment"></span>
-<a name="l00921"></a>00921 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">AppendProperties</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; source,
-<a name="l00922"></a>00922 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * dest,
-<a name="l00923"></a>00923 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00924"></a>00924
-<a name="l00925"></a>00925 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
-<a name="l00946"></a>00946 <span class="comment"></span>
-<a name="l00947"></a>00947 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; source,
-<a name="l00948"></a>00948 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * dest,
-<a name="l00949"></a>00949 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceNS,
-<a name="l00950"></a>00950 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceRoot,
-<a name="l00951"></a>00951 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destNS = 0,
-<a name="l00952"></a>00952 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destRoot = 0,
-<a name="l00953"></a>00953 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
-<a name="l00954"></a>00954
-<a name="l00956"></a>00956
-<a name="l00957"></a>00957 <span class="comment">// =============================================================================================</span>
-<a name="l00958"></a>00958
-<a name="l00959"></a>00959 <span class="comment">// =============================================================================================</span>
-<a name="l00960"></a>00960
-<a name="l00961"></a>00961 }; <span class="comment">// class TXMPUtils</span>
-<a name="l00962"></a>00962
-<a name="l00963"></a>00963 <span class="comment">// =================================================================================================</span>
-<a name="l00964"></a>00964
-<a name="l00965"></a>00965 <span class="preprocessor">#endif // __TXMPUtils_hpp__</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/TXMPUtils_8hpp.html b/docs/API/TXMPUtils_8hpp.html
index 5d966c5..8d97109 100644
--- a/docs/API/TXMPUtils_8hpp.html
+++ b/docs/API/TXMPUtils_8hpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.hpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPUtils.hpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,24 +55,29 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPUtils.hpp File Reference</h1>API for access to the XMP Toolkit utility services. <a href="#_details">More...</a>
-<p>
-
-<p>
-<a href="TXMPUtils_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td></tr>
+<h1>TXMPUtils.hpp File Reference</h1>
+<p>API for access to the XMP Toolkit utility services.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit utility services. <a href="classTXMPUtils.html#_details">More...</a><br></td></tr>
+<p><a href="TXMPUtils_8hpp_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit utility services. <a href="classTXMPUtils.html#_details">More...</a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-API for access to the XMP Toolkit utility services.
-<p>
-<code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> is the template class providing utility services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </div>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>API for access to the XMP Toolkit utility services. </p>
+<p><code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> is the template class providing utility services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </p>
+</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/TXMPUtils_8hpp_source.html b/docs/API/TXMPUtils_8hpp_source.html
new file mode 100644
index 0000000..4f5f8fa
--- /dev/null
+++ b/docs/API/TXMPUtils_8hpp_source.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-5.1.2: TXMPUtils.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.6.3 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPUtils.hpp</h1><a href="TXMPUtils_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPUtils_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPUtils_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error &quot;Do not directly include, use XMP.hpp&quot;</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00024"></a>00024 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="comment">// =================================================================================================</span>
+<a name="l00047"></a>00047 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="classTXMPUtils.html">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> {
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">public</span>:
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="comment">// =============================================================================================</span>
+<a name="l00054"></a>00054 <span class="comment">// No constructors or destructor declared or needed</span>
+<a name="l00055"></a>00055 <span class="comment">// ================================================</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// ============================================================================================</span>
+<a name="l00092"></a>00092 <span class="comment"></span>
+<a name="l00093"></a>00093 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00109"></a>00109 <span class="comment"></span>
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00111"></a>00111 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00112"></a>00112 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00113"></a>00113 tStringObj * fullPath );
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00133"></a>00133 <span class="comment"></span>
+<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00135"></a>00135 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00136"></a>00136 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00137"></a>00137 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00138"></a>00138 tStringObj * fullPath );
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00159"></a>00159 <span class="comment"></span>
+<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00161"></a>00161 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00162"></a>00162 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00163"></a>00163 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00164"></a>00164 tStringObj * fullPath );
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00190"></a>00190 <span class="comment"></span>
+<a name="l00191"></a>00191 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00192"></a>00192 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00193"></a>00193 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> langName,
+<a name="l00194"></a>00194 tStringObj * fullPath );
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00222"></a>00222 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00223"></a>00223 <span class="keyword">const</span> tStringObj &amp; langName,
+<a name="l00224"></a>00224 tStringObj * fullPath );
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00260"></a>00260 <span class="comment"></span>
+<a name="l00261"></a>00261 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00262"></a>00262 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00263"></a>00263 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00264"></a>00264 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00265"></a>00265 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
+<a name="l00266"></a>00266 tStringObj * fullPath );
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00302"></a>00302 <span class="comment"></span>
+<a name="l00303"></a>00303 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00304"></a>00304 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00305"></a>00305 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00306"></a>00306 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00307"></a>00307 <span class="keyword">const</span> tStringObj &amp; fieldValue,
+<a name="l00308"></a>00308 tStringObj * fullPath );
+<a name="l00309"></a>00309
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="comment">// =============================================================================================</span>
+<a name="l00324"></a>00324 <span class="comment"></span>
+<a name="l00325"></a>00325 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00334"></a>00334 <span class="comment"></span>
+<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool</a> ( <span class="keywordtype">bool</span> binValue,
+<a name="l00336"></a>00336 tStringObj * strValue );
+<a name="l00337"></a>00337
+<a name="l00338"></a>00338 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00346"></a>00346 <span class="comment"></span>
+<a name="l00347"></a>00347 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt</a> ( <span class="keywordtype">long</span> binValue,
+<a name="l00348"></a>00348 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00349"></a>00349 tStringObj * strValue );
+<a name="l00350"></a>00350 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00358"></a>00358 <span class="comment"></span>
+<a name="l00359"></a>00359 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64</a> ( <span class="keywordtype">long</span> <span class="keywordtype">long</span> binValue,
+<a name="l00360"></a>00360 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00361"></a>00361 tStringObj * strValue );
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00371"></a>00371 <span class="comment"></span>
+<a name="l00372"></a>00372 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat</a> ( <span class="keywordtype">double</span> binValue,
+<a name="l00373"></a>00373 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00374"></a>00374 tStringObj * strValue );
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00409"></a>00409 <span class="comment"></span>
+<a name="l00410"></a>00410 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; binValue,
+<a name="l00411"></a>00411 tStringObj * strValue );
+<a name="l00412"></a>00412
+<a name="l00413"></a>00413 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00423"></a>00423 <span class="comment"></span>
+<a name="l00424"></a>00424 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00425"></a>00425
+<a name="l00426"></a>00426 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00435"></a>00435 <span class="comment"></span>
+<a name="l00436"></a>00436 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00444"></a>00444 <span class="comment"></span>
+<a name="l00445"></a>00445 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00446"></a>00446
+<a name="l00447"></a>00447 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00456"></a>00456 <span class="comment"></span>
+<a name="l00457"></a>00457 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00458"></a>00458
+<a name="l00459"></a>00459 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00465"></a>00465 <span class="comment"></span>
+<a name="l00466"></a>00466 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00467"></a>00467
+<a name="l00468"></a>00468 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00477"></a>00477 <span class="comment"></span>
+<a name="l00478"></a>00478 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00479"></a>00479
+<a name="l00480"></a>00480 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00486"></a>00486 <span class="comment"></span>
+<a name="l00487"></a>00487 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00488"></a>00488
+<a name="l00489"></a>00489 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00498"></a>00498 <span class="comment"></span>
+<a name="l00499"></a>00499 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00500"></a>00500
+<a name="l00501"></a>00501 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00536"></a>00536 <span class="comment"></span>
+<a name="l00537"></a>00537 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue,
+<a name="l00538"></a>00538 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
+<a name="l00539"></a>00539
+<a name="l00540"></a>00540 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00552"></a>00552 <span class="comment"></span>
+<a name="l00553"></a>00553 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <span class="keyword">const</span> tStringObj &amp; strValue,
+<a name="l00554"></a>00554 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
+<a name="l00555"></a>00555
+<a name="l00557"></a>00557
+<a name="l00558"></a>00558 <span class="comment">// =============================================================================================</span>
+<a name="l00564"></a>00564 <span class="comment"></span>
+<a name="l00565"></a>00565 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00573"></a>00573 <span class="comment"></span>
+<a name="l00574"></a>00574 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00575"></a>00575
+<a name="l00576"></a>00576 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00582"></a>00582 <span class="comment"></span>
+<a name="l00583"></a>00583 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00584"></a>00584
+<a name="l00585"></a>00585 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00592"></a>00592 <span class="comment"></span>
+<a name="l00593"></a>00593 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00594"></a>00594
+<a name="l00595"></a>00595 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00603"></a>00603 <span class="comment"></span>
+<a name="l00604"></a>00604 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00605"></a>00605
+<a name="l00606"></a>00606 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00619"></a>00619 <span class="comment"></span>
+<a name="l00620"></a>00620 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; left,
+<a name="l00621"></a>00621 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; right );
+<a name="l00622"></a>00622
+<a name="l00624"></a>00624
+<a name="l00625"></a>00625 <span class="comment">// =============================================================================================</span>
+<a name="l00630"></a>00630 <span class="comment"></span>
+<a name="l00631"></a>00631 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00639"></a>00639 <span class="comment"></span>
+<a name="l00640"></a>00640 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> rawStr,
+<a name="l00641"></a>00641 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> rawLen,
+<a name="l00642"></a>00642 tStringObj * encodedStr );
+<a name="l00643"></a>00643
+<a name="l00644"></a>00644 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00653"></a>00653 <span class="comment"></span>
+<a name="l00654"></a>00654 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <span class="keyword">const</span> tStringObj &amp; rawStr,
+<a name="l00655"></a>00655 tStringObj * encodedStr );
+<a name="l00656"></a>00656
+<a name="l00657"></a>00657 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00665"></a>00665 <span class="comment"></span>
+<a name="l00666"></a>00666 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> encodedStr,
+<a name="l00667"></a>00667 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> encodedLen,
+<a name="l00668"></a>00668 tStringObj * rawStr );
+<a name="l00669"></a>00669
+<a name="l00670"></a>00670 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00679"></a>00679 <span class="comment"></span>
+<a name="l00680"></a>00680 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <span class="keyword">const</span> tStringObj &amp; encodedStr,
+<a name="l00681"></a>00681 tStringObj * rawStr );
+<a name="l00682"></a>00682
+<a name="l00684"></a>00684
+<a name="l00685"></a>00685 <span class="comment">// =============================================================================================</span>
+<a name="l00686"></a>00686 <span class="comment">// =============================================================================================</span>
+<a name="l00694"></a>00694 <span class="comment"></span>
+<a name="l00695"></a>00695 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00714"></a>00714 <span class="comment"></span>
+<a name="l00715"></a>00715 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00716"></a>00716 tStringObj * standardXMP,
+<a name="l00717"></a>00717 tStringObj * extendedXMP,
+<a name="l00718"></a>00718 tStringObj * extendedDigest );
+<a name="l00719"></a>00719
+<a name="l00720"></a>00720 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00734"></a>00734 <span class="comment"></span>
+<a name="l00735"></a>00735 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * fullXMP,
+<a name="l00736"></a>00736 <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; extendedXMP );
+<a name="l00737"></a>00737
+<a name="l00739"></a>00739
+<a name="l00740"></a>00740 <span class="comment">// =============================================================================================</span>
+<a name="l00747"></a>00747 <span class="comment"></span>
+<a name="l00748"></a>00748 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00772"></a>00772 <span class="comment"></span>
+<a name="l00773"></a>00773 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00774"></a>00774 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00775"></a>00775 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00776"></a>00776 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> separator,
+<a name="l00777"></a>00777 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> quotes,
+<a name="l00778"></a>00778 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00779"></a>00779 tStringObj * catedStr );
+<a name="l00780"></a>00780
+<a name="l00781"></a>00781 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00799"></a>00799 <span class="comment"></span>
+<a name="l00800"></a>00800 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00801"></a>00801 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00802"></a>00802 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00803"></a>00803 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00804"></a>00804 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> catedStr );
+<a name="l00805"></a>00805
+<a name="l00806"></a>00806 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00812"></a>00812 <span class="comment"></span>
+<a name="l00813"></a>00813 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00814"></a>00814 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00815"></a>00815 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00816"></a>00816 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00817"></a>00817 <span class="keyword">const</span> tStringObj &amp; catedStr );
+<a name="l00818"></a>00818
+<a name="l00868"></a>00868
+<a name="l00883"></a>00883
+<a name="l00884"></a>00884 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9" title="ApplyTemplate() modifies a working XMP object according to a template object.">ApplyTemplate</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * workingXMP,
+<a name="l00885"></a>00885 <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; templateXMP,
+<a name="l00886"></a>00886 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> actions );
+<a name="l00887"></a>00887
+<a name="l00888"></a>00888 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00919"></a>00919 <span class="comment"></span>
+<a name="l00920"></a>00920 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00921"></a>00921 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS = 0,
+<a name="l00922"></a>00922 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName = 0,
+<a name="l00923"></a>00923 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00924"></a>00924
+<a name="l00925"></a>00925 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00946"></a>00946 <span class="comment"></span>
+<a name="l00947"></a>00947 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; source,
+<a name="l00948"></a>00948 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * dest,
+<a name="l00949"></a>00949 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceNS,
+<a name="l00950"></a>00950 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceRoot,
+<a name="l00951"></a>00951 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destNS = 0,
+<a name="l00952"></a>00952 <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destRoot = 0,
+<a name="l00953"></a>00953 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00954"></a>00954
+<a name="l00956"></a>00956
+<a name="l00957"></a>00957 <span class="comment">// =============================================================================================</span>
+<a name="l00958"></a>00958
+<a name="l00959"></a>00959 <span class="keyword">private</span>:
+<a name="l00960"></a>00960
+<a name="l00961"></a>00961 <span class="keyword">static</span> <span class="keywordtype">void</span> SetClientString ( <span class="keywordtype">void</span> * clientPtr, <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> valuePtr, <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> valueLen );
+<a name="l00962"></a>00962
+<a name="l00963"></a>00963 }; <span class="comment">// class TXMPUtils</span>
+<a name="l00964"></a>00964
+<a name="l00965"></a>00965 <span class="comment">// =================================================================================================</span>
+<a name="l00966"></a>00966
+<a name="l00967"></a>00967 <span class="preprocessor">#endif // __TXMPUtils_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPUtils_8incl__cpp.html b/docs/API/TXMPUtils_8incl__cpp.html
index cbca67f..fafc202 100644
--- a/docs/API/TXMPUtils_8incl__cpp.html
+++ b/docs/API/TXMPUtils_8incl__cpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.incl_cpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPUtils.incl_cpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,28 +55,31 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>TXMPUtils.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;XMP.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
-<code>#include &quot;client-glue/WXMPUtils.hpp&quot;</code><br>
-
-<p>
+<h1>TXMPUtils.incl_cpp File Reference</h1>
+<p>The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class.
+<a href="#_details">More...</a></p>
+<code>#include &quot;XMP.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br/>
+<code>#include &quot;client-glue/WXMPUtils.hpp&quot;</code><br/>
<div class="dynheader">
Include dependency graph for TXMPUtils.incl_cpp:</div>
<div class="dynsection">
-<p><center><img src="TXMPUtils_8incl__cpp__incl.png" border="0" usemap="#TXMPUtils.incl_cpp_map" alt=""></center>
+<div class="center"><img src="TXMPUtils_8incl__cpp__incl.png" border="0" usemap="#TXMPUtils_8incl__cpp_map" alt=""/></div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class.
-<p>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class. </p>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/XMP_8incl__cpp.html b/docs/API/XMP_8incl__cpp.html
index 6f70f9e..40a774e 100644
--- a/docs/API/XMP_8incl__cpp.html
+++ b/docs/API/XMP_8incl__cpp.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP.incl_cpp File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP.incl_cpp File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,30 +55,40 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>XMP.incl_cpp File Reference</h1>Overall client glue file for the XMP toolkit. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;XMP.hpp&quot;</code><br>
-
-<p>
+<h1>XMP.incl_cpp File Reference</h1>
+<p>Overall client glue file for the XMP toolkit.
+<a href="#_details">More...</a></p>
+<code>#include &quot;<a class="el" href="XMP_8incl__cpp.html">XMP.hpp</a>&quot;</code><br/>
+<code>#include &quot;XMP_Environment.h&quot;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
<div class="dynheader">
Include dependency graph for XMP.incl_cpp:</div>
<div class="dynsection">
-<p><center><img src="XMP_8incl__cpp__incl.png" border="0" usemap="#XMP.incl_cpp_map" alt=""></center>
+<div class="center"><img src="XMP_8incl__cpp__incl.png" border="0" usemap="#XMP_8incl__cpp_map" alt=""/></div>
+</div>
+<div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dynsection">
+<div class="center"><img src="XMP_8incl__cpp__dep__incl.png" border="0" usemap="#XMP_8incl__cppdep_map" alt=""/></div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Overall client glue file for the XMP toolkit.
-<p>
-This is an overall client source file of XMP toolkit glue, the only XMP-specific one that clients should build in projects. This ensures that all of the client-side glue code for the XMP toolkit gets compiled.<p>
-You cannot compile this file directly, because the template's string type must be declared and only the client can do that. Instead, include this in some other source file. For example, to use <code>std::string</code> you only need these two lines:<p>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Overall client glue file for the XMP toolkit. </p>
+<p>This is an overall client source file of XMP toolkit glue, the only XMP-specific one that clients should build in projects. This ensures that all of the client-side glue code for the XMP toolkit gets compiled.</p>
+<p>You cannot compile this file directly, because the template's string type must be declared and only the client can do that. Instead, include this in some other source file. For example, to use <code>std::string</code> you only need these two lines:</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;string&gt;</span>
-<span class="preprocessor"> #include "<a class="code" href="XMP_8incl__cpp.html" title="Overall client glue file for the XMP toolkit.">XMP.incl_cpp</a>"</span>
+<span class="preprocessor"> #include &quot;<a class="code" href="XMP_8incl__cpp.html" title="Overall client glue file for the XMP toolkit.">XMP.incl_cpp</a>&quot;</span>
</pre></div> </div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/XMP_8incl__cpp__dep__incl.png b/docs/API/XMP_8incl__cpp__dep__incl.png
new file mode 100644
index 0000000..26880e2
--- /dev/null
+++ b/docs/API/XMP_8incl__cpp__dep__incl.png
Binary files differ
diff --git a/docs/API/XMP_8incl__cpp__incl.png b/docs/API/XMP_8incl__cpp__incl.png
index 6f8ed4d..6cceac6 100644
--- a/docs/API/XMP_8incl__cpp__incl.png
+++ b/docs/API/XMP_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/XMP__Const_8h-source.html b/docs/API/XMP__Const_8h-source.html
deleted file mode 100644
index e4ccf6e..0000000
--- a/docs/API/XMP__Const_8h-source.html
+++ /dev/null
@@ -1,814 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_Const.h Source File</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-<h1>XMP_Const.h</h1><a href="XMP__Const_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __XMP_Const_h__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __XMP_Const_h__ 1</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="comment">// =================================================================================================</span>
-<a name="l00005"></a>00005 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
-<a name="l00006"></a>00006 <span class="comment">// All Rights Reserved.</span>
-<a name="l00007"></a>00007 <span class="comment">//</span>
-<a name="l00008"></a>00008 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
-<a name="l00009"></a>00009 <span class="comment">// of the Adobe license agreement accompanying it.</span>
-<a name="l00010"></a>00010 <span class="comment">// =================================================================================================</span>
-<a name="l00011"></a>00011
-<a name="l00012"></a>00012 <span class="preprocessor">#include "XMP_Environment.h"</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor"> #include &lt;stddef.h&gt;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#if XMP_MacBuild // ! No stdint.h on Windows and some UNIXes.</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;stdint.h&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#if __cplusplus</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-<a name="l00022"></a>00022 <span class="preprocessor">#endif</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span>
-<a name="l00024"></a>00024 <span class="comment">// =================================================================================================</span>
-<a name="l00027"></a>00027 <span class="comment"></span><span class="comment">// =================================================================================================</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="comment">// =================================================================================================</span>
-<a name="l00030"></a>00030 <span class="comment">// Basic types and constants</span>
-<a name="l00031"></a>00031 <span class="comment">// =========================</span>
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="comment">// The XMP_... types are used on the off chance that the ..._t types present a problem. In that</span>
-<a name="l00034"></a>00034 <span class="comment">// case only the declarations of the XMP_... types needs to change, not all of the uses. These</span>
-<a name="l00035"></a>00035 <span class="comment">// types are used where fixed sizes are required in order to have a known ABI for a DLL build.</span>
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="preprocessor">#if XMP_MacBuild</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span>
-<a name="l00039"></a>00039 <span class="keyword">typedef</span> int8_t XMP_Int8;
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> int16_t XMP_Int16;
-<a name="l00041"></a>00041 <span class="keyword">typedef</span> int32_t XMP_Int32;
-<a name="l00042"></a>00042 <span class="keyword">typedef</span> int64_t XMP_Int64;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keyword">typedef</span> uint8_t XMP_Uns8;
-<a name="l00045"></a>00045 <span class="keyword">typedef</span> uint16_t XMP_Uns16;
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> uint32_t XMP_Uns32;
-<a name="l00047"></a>00047 <span class="keyword">typedef</span> uint64_t XMP_Uns64;
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="preprocessor">#else</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span>
-<a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> XMP_Int8;
-<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> XMP_Int16;
-<a name="l00053"></a>00053 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> XMP_Int32;
-<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Int64;
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> XMP_Uns8;
-<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> XMP_Uns16;
-<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> XMP_Uns32;
-<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Uns64;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span>
-<a name="l00063"></a>00063 <span class="keyword">typedef</span> XMP_Uns8 XMP_Bool;
-<a name="l00064"></a>00064
-<a name="l00067"></a><a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">00067</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPMeta__ * <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>;
-<a name="l00068"></a>00068
-<a name="l00071"></a><a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">00071</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPIterator__ * <a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a>;
-<a name="l00072"></a>00072
-<a name="l00075"></a><a class="code" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">00075</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPDocOps__ * <a class="code" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a>;
-<a name="l00076"></a>00076
-<a name="l00079"></a><a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">00079</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPFiles__ * <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>;
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="comment">// =================================================================================================</span>
-<a name="l00082"></a>00082
-<a name="l00085"></a>00085
-<a name="l00089"></a>00089
-<a name="l00093"></a>00093
-<a name="l00097"></a>00097
-<a name="l00104"></a>00104
-<a name="l00105"></a><a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">00105</a> <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a>; <span class="comment">// Points to a null terminated UTF-8 string.</span>
-<a name="l00106"></a><a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">00106</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a>;
-<a name="l00107"></a><a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">00107</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a>; <span class="comment">// Signed, sometimes -1 is handy.</span>
-<a name="l00108"></a><a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">00108</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a>; <span class="comment">// Used as 32 individual bits.</span>
-<a name="l00109"></a>00109
-<a name="l00114"></a>00114
-<a name="l00119"></a>00119
-<a name="l00120"></a><a class="code" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">00120</a> <span class="preprocessor">#define kXMP_TrueStr "True" // Serialized XMP spellings, not for the type bool.</span>
-<a name="l00121"></a><a class="code" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">00121</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_FalseStr "False"</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span>
-<a name="l00125"></a>00125 <span class="keyword">enum</span> {
-<a name="l00127"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">00127</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e" title="The part or parts have definitely changed.">kXMPTS_Yes</a> = 1,
-<a name="l00129"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">00129</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90" title="The part or parts have definitely not changed.">kXMPTS_No</a> = 0,
-<a name="l00131"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">00131</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584" title="The part or parts might, or might not, have changed.">kXMPTS_Maybe</a> = -1
-<a name="l00132"></a>00132 };
-<a name="l00133"></a>00133 <span class="keyword">typedef</span> XMP_Int8 XMP_TriState;
-<a name="l00134"></a>00134
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="comment">// =================================================================================================</span>
-<a name="l00138"></a>00138
-<a name="l00158"></a>00158
-<a name="l00159"></a><a class="code" href="structXMP__DateTime.html">00159</a> <span class="keyword">struct </span><a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> {
-<a name="l00160"></a>00160
-<a name="l00162"></a><a class="code" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">00162</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad" title="The year, can be negative.">year</a>;
-<a name="l00163"></a>00163
-<a name="l00165"></a><a class="code" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">00165</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f" title="The month in the range 1..12.">month</a>;
-<a name="l00166"></a>00166
-<a name="l00168"></a><a class="code" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">00168</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094" title="The day of the month in the range 1..31.">day</a>;
-<a name="l00169"></a>00169
-<a name="l00171"></a><a class="code" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">00171</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f" title="The hour in the range 0..23.">hour</a>;
-<a name="l00172"></a>00172
-<a name="l00174"></a><a class="code" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">00174</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf" title="The minute in the range 0..59.">minute</a>;
-<a name="l00175"></a>00175
-<a name="l00177"></a><a class="code" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">00177</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b" title="The second in the range 0..59.">second</a>;
-<a name="l00178"></a>00178
-<a name="l00181"></a><a class="code" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">00181</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">tzSign</a>;
-<a name="l00182"></a>00182
-<a name="l00184"></a><a class="code" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">00184</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4" title="The time zone hour in the range 0..23.">tzHour</a>;
-<a name="l00185"></a>00185
-<a name="l00187"></a><a class="code" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">00187</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1" title="The time zone minute in the range 0..59.">tzMinute</a>;
-<a name="l00188"></a>00188
-<a name="l00190"></a><a class="code" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">00190</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c" title="Nanoseconds within a second, often left as zero.">nanoSecond</a>;
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 };
-<a name="l00193"></a>00193
-<a name="l00195"></a>00195 <span class="keyword">enum</span> {
-<a name="l00197"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">00197</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801" title="Time zone is west of UTC.">kXMP_TimeWestOfUTC</a> = -1,
-<a name="l00199"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">00199</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13" title="UTC time.">kXMP_TimeIsUTC</a> = 0,
-<a name="l00201"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">00201</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec" title="Time zone is east of UTC.">kXMP_TimeEastOfUTC</a> = +1
-<a name="l00202"></a>00202 };
-<a name="l00203"></a>00203
-<a name="l00204"></a>00204 <span class="comment">// =================================================================================================</span>
-<a name="l00205"></a>00205 <span class="comment">// Standard namespace URI constants</span>
-<a name="l00206"></a>00206 <span class="comment">// ================================</span>
-<a name="l00207"></a>00207
-<a name="l00242"></a>00242
-<a name="l00243"></a><a class="code" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">00243</a> <span class="preprocessor">#define kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/"</span>
-<a name="l00244"></a>00244 <span class="preprocessor"></span>
-<a name="l00245"></a><a class="code" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">00245</a> <span class="preprocessor">#define kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/"</span>
-<a name="l00246"></a><a class="code" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">00246</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/"</span>
-<a name="l00247"></a><a class="code" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">00247</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/"</span>
-<a name="l00248"></a>00248 <span class="preprocessor"></span>
-<a name="l00249"></a><a class="code" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">00249</a> <span class="preprocessor">#define kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/"</span>
-<a name="l00250"></a><a class="code" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">00250</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/"</span>
-<a name="l00251"></a>00251 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/"</span>
-<a name="l00252"></a><a class="code" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">00252</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/"</span>
-<a name="l00253"></a>00253 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/"</span>
-<a name="l00254"></a><a class="code" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">00254</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/"</span>
-<a name="l00255"></a>00255 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PNG "http://ns.adobe.com/png/1.0/"</span>
-<a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/"</span>
-<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/"</span>
-<a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/"</span>
-<a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/"</span>
-<a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/"</span>
-<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/"</span>
-<a name="l00262"></a>00262 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/"</span>
-<a name="l00263"></a>00263 <span class="preprocessor"></span>
-<a name="l00264"></a>00264 <span class="preprocessor">#define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/"</span>
-<a name="l00265"></a>00265 <span class="preprocessor"></span>
-<a name="l00266"></a>00266 <span class="preprocessor">#define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/"</span>
-<a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CreatorAtom "http://ns.adobe.com/creatorAtom/1.0/"</span>
-<a name="l00268"></a>00268 <span class="preprocessor"></span>
-<a name="l00294"></a>00294
-<a name="l00295"></a><a class="code" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">00295</a> <span class="preprocessor">#define kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/"</span>
-<a name="l00296"></a><a class="code" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">00296</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#"</span>
-<a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/"</span>
-<a name="l00298"></a>00298 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/"</span>
-<a name="l00299"></a>00299 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/"</span>
-<a name="l00300"></a><a class="code" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">00300</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/"</span>
-<a name="l00301"></a>00301 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#"</span>
-<a name="l00302"></a><a class="code" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">00302</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"</span>
-<a name="l00303"></a><a class="code" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">00303</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"</span>
-<a name="l00304"></a><a class="code" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">00304</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#"</span>
-<a name="l00305"></a><a class="code" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">00305</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#"</span>
-<a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"</span>
-<a name="l00307"></a>00307 <span class="preprocessor"></span>
-<a name="l00308"></a>00308 <span class="comment">// Deprecated XML namespace constants</span>
-<a name="l00309"></a><a class="code" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">00309</a> <span class="preprocessor">#define kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/"</span>
-<a name="l00310"></a><a class="code" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">00310</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/"</span>
-<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/"</span>
-<a name="l00312"></a>00312 <span class="preprocessor"></span>
-<a name="l00329"></a>00329
-<a name="l00330"></a><a class="code" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">00330</a> <span class="preprocessor">#define kXMP_NS_DC "http://purl.org/dc/elements/1.1/"</span>
-<a name="l00331"></a>00331 <span class="preprocessor"></span>
-<a name="l00332"></a><a class="code" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">00332</a> <span class="preprocessor">#define kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"</span>
-<a name="l00333"></a>00333 <span class="preprocessor"></span>
-<a name="l00334"></a>00334 <span class="preprocessor">#define kXMP_NS_DICOM "http://ns.adobe.com/DICOM/"</span>
-<a name="l00335"></a>00335 <span class="preprocessor"></span>
-<a name="l00336"></a>00336 <span class="preprocessor">#define kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#"</span>
-<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#"</span>
-<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#"</span>
-<a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#"</span>
-<a name="l00340"></a>00340 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/"</span>
-<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/"</span>
-<a name="l00342"></a>00342 <span class="preprocessor"></span>
-<a name="l00343"></a>00343 <span class="preprocessor">#define kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/"</span>
-<a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/"</span>
-<a name="l00345"></a>00345 <span class="preprocessor"></span>
-<a name="l00346"></a><a class="code" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">00346</a> <span class="preprocessor">#define kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span>
-<a name="l00347"></a><a class="code" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">00347</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XML "http://www.w3.org/XML/1998/namespace"</span>
-<a name="l00348"></a>00348 <span class="preprocessor"></span>
-<a name="l00349"></a>00349 <span class="comment">// =================================================================================================</span>
-<a name="l00350"></a>00350 <span class="comment">// Enums and macros used for option bits</span>
-<a name="l00351"></a>00351 <span class="comment">// =====================================</span>
-<a name="l00352"></a>00352
-<a name="l00366"></a>00366
-<a name="l00367"></a><a class="code" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">00367</a> <span class="preprocessor">#define kXMP_ArrayLastItem ((XMP_Index)(-1L))</span>
-<a name="l00368"></a><a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">00368</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_UseNullTermination ((XMP_StringLen)(~0UL))</span>
-<a name="l00369"></a><a class="code" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">00369</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NoOptions ((XMP_OptionBits)0UL)</span>
-<a name="l00370"></a>00370 <span class="preprocessor"></span>
-<a name="l00403"></a>00403
-<a name="l00404"></a><a class="code" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">00404</a> <span class="preprocessor">#define XMP_SetOption(var,opt) var |= (opt)</span>
-<a name="l00405"></a><a class="code" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">00405</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ClearOption(var,opt) var &amp;= ~(opt)</span>
-<a name="l00406"></a><a class="code" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">00406</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_TestOption(var,opt) (((var) &amp; (opt)) != 0)</span>
-<a name="l00407"></a><a class="code" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">00407</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsSet(var,opt) (((var) &amp; (opt)) != 0)</span>
-<a name="l00408"></a><a class="code" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">00408</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsClear(var,opt) (((var) &amp; (opt)) == 0)</span>
-<a name="l00409"></a>00409 <span class="preprocessor"></span>
-<a name="l00462"></a>00462
-<a name="l00463"></a><a class="code" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">00463</a> <span class="preprocessor">#define XMP_PropIsSimple(opt) (((opt) &amp; kXMP_PropCompositeMask) == 0)</span>
-<a name="l00464"></a><a class="code" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">00464</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsStruct(opt) (((opt) &amp; kXMP_PropValueIsStruct) != 0)</span>
-<a name="l00465"></a><a class="code" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">00465</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsArray(opt) (((opt) &amp; kXMP_PropValueIsArray) != 0)</span>
-<a name="l00466"></a>00466 <span class="preprocessor"></span>
-<a name="l00467"></a><a class="code" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">00467</a> <span class="preprocessor">#define XMP_ArrayIsUnordered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</span>
-<a name="l00468"></a><a class="code" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">00468</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsOrdered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</span>
-<a name="l00469"></a><a class="code" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">00469</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAlternate(opt) (((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</span>
-<a name="l00470"></a><a class="code" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">00470</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAltText(opt) (((opt) &amp; kXMP_PropArrayIsAltText) != 0)</span>
-<a name="l00471"></a>00471 <span class="preprocessor"></span>
-<a name="l00472"></a><a class="code" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">00472</a> <span class="preprocessor">#define XMP_PropHasQualifiers(opt) (((opt) &amp; kXMP_PropHasQualifiers) != 0)</span>
-<a name="l00473"></a><a class="code" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">00473</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsQualifier(opt) (((opt) &amp; kXMP_PropIsQualifier) != 0)</span>
-<a name="l00474"></a><a class="code" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">00474</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropHasLang(opt) (((opt) &amp; kXMP_PropHasLang) != 0)</span>
-<a name="l00475"></a>00475 <span class="preprocessor"></span>
-<a name="l00476"></a><a class="code" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">00476</a> <span class="preprocessor">#define XMP_NodeIsSchema(opt) (((opt) &amp; kXMP_SchemaNode) != 0)</span>
-<a name="l00477"></a><a class="code" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">00477</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsAlias(opt) (((opt) &amp; kXMP_PropIsAlias) != 0)</span>
-<a name="l00478"></a>00478 <span class="preprocessor"></span>
-<a name="l00479"></a>00479 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00480"></a>00480
-<a name="l00482"></a>00482 <span class="keyword">enum</span> {
-<a name="l00483"></a>00483
-<a name="l00485"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">00485</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a> = 0x00000002UL,
-<a name="l00486"></a>00486
-<a name="l00487"></a>00487 <span class="comment">// ------------------------------------------------------</span>
-<a name="l00488"></a>00488 <span class="comment">// Options relating to qualifiers attached to a property.</span>
-<a name="l00489"></a>00489
-<a name="l00491"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">00491</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a> = 0x00000010UL,
-<a name="l00492"></a>00492
-<a name="l00497"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">00497</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
-<a name="l00498"></a>00498
-<a name="l00500"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">00500</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217" title="Implies kXMP_PropHasQualifiers, property has xml:lang.">kXMP_PropHasLang</a> = 0x00000040UL,
-<a name="l00501"></a>00501
-<a name="l00503"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">00503</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5" title="Implies kXMP_PropHasQualifiers, property has rdf:type.">kXMP_PropHasType</a> = 0x00000080UL,
-<a name="l00504"></a>00504
-<a name="l00505"></a>00505 <span class="comment">// --------------------------------------------</span>
-<a name="l00506"></a>00506 <span class="comment">// Options relating to the data structure form.</span>
-<a name="l00507"></a>00507
-<a name="l00509"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">00509</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> = 0x00000100UL,
-<a name="l00510"></a>00510
-<a name="l00513"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">00513</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
-<a name="l00514"></a>00514
-<a name="l00516"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">00516</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0" title="The item order does not matter.">kXMP_PropArrayIsUnordered</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a>,
-<a name="l00517"></a>00517
-<a name="l00519"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">00519</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
-<a name="l00520"></a>00520
-<a name="l00522"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">00522</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
-<a name="l00523"></a>00523
-<a name="l00524"></a>00524 <span class="comment">// ------------------------------------</span>
-<a name="l00525"></a>00525 <span class="comment">// Additional struct and array options.</span>
-<a name="l00526"></a>00526
-<a name="l00529"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">00529</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
-<a name="l00530"></a>00530
-<a name="l00531"></a>00531 <span class="comment">// kXMP_InsertBeforeItem = 0x00004000UL, ! Used by SetXyz functions.</span>
-<a name="l00532"></a>00532 <span class="comment">// kXMP_InsertAfterItem = 0x00008000UL, ! Used by SetXyz functions.</span>
-<a name="l00533"></a>00533
-<a name="l00534"></a>00534 <span class="comment">// ----------------------------</span>
-<a name="l00535"></a>00535 <span class="comment">// Other miscellaneous options.</span>
-<a name="l00536"></a>00536
-<a name="l00539"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">00539</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
-<a name="l00540"></a>00540
-<a name="l00543"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">00543</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
-<a name="l00544"></a>00544
-<a name="l00546"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">00546</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464" title="The value of this property is &amp;quot;owned&amp;quot; by the application, and should not...">kXMP_PropIsInternal</a> = 0x00040000UL,
-<a name="l00547"></a>00547
-<a name="l00549"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">00549</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c" title="The value of this property is not derived from the document content.">kXMP_PropIsStable</a> = 0x00100000UL,
-<a name="l00550"></a>00550
-<a name="l00552"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">00552</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877" title="The value of this property is derived from the document content.">kXMP_PropIsDerived</a> = 0x00200000UL,
-<a name="l00553"></a>00553
-<a name="l00554"></a>00554 <span class="comment">// kXMPUtil_AllowCommas = 0x10000000UL, ! Used by TXMPUtils::CatenateArrayItems and ::SeparateArrayItems.</span>
-<a name="l00555"></a>00555 <span class="comment">// kXMP_DeleteExisting = 0x20000000UL, ! Used by TXMPMeta::SetXyz functions to delete any pre-existing property.</span>
-<a name="l00556"></a>00556 <span class="comment">// kXMP_SchemaNode = 0x80000000UL, ! Returned by iterators - #define to avoid warnings</span>
-<a name="l00557"></a>00557
-<a name="l00558"></a>00558 <span class="comment">// ------------------------------</span>
-<a name="l00559"></a>00559 <span class="comment">// Masks that are multiple flags.</span>
-<a name="l00560"></a>00560
-<a name="l00562"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">00562</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a>,
-<a name="l00563"></a>00563
-<a name="l00565"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">00565</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956" title="Property type bit-flag mask for composite types (array and struct).">kXMP_PropCompositeMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a>,
-<a name="l00566"></a>00566
-<a name="l00568"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">00568</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974" title="Mask for bits that are reserved for transient use by the implementation.">kXMP_ImplReservedMask</a> = 0x70000000L
-<a name="l00569"></a>00569
-<a name="l00570"></a>00570 };
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572 <span class="preprocessor">#define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)</span>
-<a name="l00573"></a>00573 <span class="preprocessor"></span>
-<a name="l00582"></a>00582 <span class="keyword">enum</span> {
-<a name="l00583"></a>00583
-<a name="l00585"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">00585</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> = 0x00004000UL,
-<a name="l00586"></a>00586
-<a name="l00588"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">00588</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a> = 0x00008000UL,
-<a name="l00589"></a>00589
-<a name="l00591"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">00591</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c" title="Delete any pre-existing property.">kXMP_DeleteExisting</a> = 0x20000000UL,
-<a name="l00592"></a>00592
-<a name="l00594"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">00594</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465" title="Bit-flag mask for property-value option bits.">kXMP_PropValueOptionsMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a>,
-<a name="l00595"></a>00595
-<a name="l00597"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">00597</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df" title="Bit-flag mask for array-item location bits.">kXMP_PropArrayLocationMask</a> = <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> | <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a>
-<a name="l00598"></a>00598
-<a name="l00599"></a>00599 };
-<a name="l00600"></a>00600
-<a name="l00601"></a>00601 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00602"></a>00602
-<a name="l00604"></a>00604 <span class="keyword">enum</span> {
-<a name="l00605"></a>00605
-<a name="l00607"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">00607</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400" title="Require a surrounding x:xmpmeta element.">kXMP_RequireXMPMeta</a> = 0x0001UL,
-<a name="l00608"></a>00608
-<a name="l00610"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">00610</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a> = 0x0002UL,
-<a name="l00611"></a>00611
-<a name="l00613"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">00613</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1" title="Do not reconcile alias differences, throw an exception.">kXMP_StrictAliasing</a> = 0x0004UL
-<a name="l00614"></a>00614
-<a name="l00615"></a>00615 };
-<a name="l00616"></a>00616
-<a name="l00618"></a>00618 <span class="keyword">enum</span> {
-<a name="l00619"></a>00619
-<a name="l00620"></a>00620 <span class="comment">// *** Option to remove empty struct/array, or leaf with empty value?</span>
-<a name="l00621"></a>00621
-<a name="l00623"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">00623</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76" title="Omit the XML packet wrapper.">kXMP_OmitPacketWrapper</a> = 0x0010UL,
-<a name="l00624"></a>00624
-<a name="l00626"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">00626</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a> = 0x0020UL,
-<a name="l00627"></a>00627
-<a name="l00629"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">00629</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb" title="Use a compact form of RDF.">kXMP_UseCompactFormat</a> = 0x0040UL,
-<a name="l00630"></a>00630
-<a name="l00632"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">00632</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
-<a name="l00633"></a>00633
-<a name="l00635"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">00635</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a> = 0x0200UL,
-<a name="l00636"></a>00636
-<a name="l00638"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">00638</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654" title="Show aliases as XML comments.">kXMP_WriteAliasComments</a> = 0x0400UL,
-<a name="l00639"></a>00639
-<a name="l00641"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">00641</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29" title="Omit all formatting whitespace.">kXMP_OmitAllFormatting</a> = 0x0800UL,
-<a name="l00642"></a>00642
-<a name="l00644"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">00644</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856" title="Omit the x:xmpmeta element surrounding the rdf:RDF element.">kXMP_OmitXMPMetaElement</a> = 0x1000UL,
-<a name="l00645"></a>00645
-<a name="l00646"></a>00646 _XMP_LittleEndian_Bit = 0x0001UL, <span class="comment">// ! Don't use directly, see the combined values below!</span>
-<a name="l00647"></a>00647 _XMP_UTF16_Bit = 0x0002UL,
-<a name="l00648"></a>00648 _XMP_UTF32_Bit = 0x0004UL,
-<a name="l00649"></a>00649
-<a name="l00651"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">00651</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845" title="Bit-flag mask for encoding-type bits.">kXMP_EncodingMask</a> = 0x0007UL,
-<a name="l00652"></a>00652
-<a name="l00654"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">00654</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a> = 0UL,
-<a name="l00655"></a>00655
-<a name="l00657"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">00657</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
-<a name="l00658"></a>00658
-<a name="l00660"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">00660</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
-<a name="l00661"></a>00661
-<a name="l00663"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">00663</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
-<a name="l00664"></a>00664
-<a name="l00666"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">00666</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
-<a name="l00667"></a>00667
-<a name="l00668"></a>00668 };
-<a name="l00669"></a>00669
-<a name="l00670"></a>00670 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00671"></a>00671
-<a name="l00673"></a>00673 <span class="keyword">enum</span> {
-<a name="l00674"></a>00674
-<a name="l00676"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">00676</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044" title="The low 8 bits are an enum of what data structure to iterate.">kXMP_IterClassMask</a> = 0x00FFUL,
-<a name="l00677"></a>00677
-<a name="l00679"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">00679</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b" title="Iterate the property tree of a TXMPMeta object.">kXMP_IterProperties</a> = 0x0000UL,
-<a name="l00680"></a>00680
-<a name="l00682"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">00682</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9" title="Iterate the global alias table.">kXMP_IterAliases</a> = 0x0001UL,
-<a name="l00683"></a>00683
-<a name="l00685"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">00685</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b" title="Iterate the global namespace table.">kXMP_IterNamespaces</a> = 0x0002UL,
-<a name="l00686"></a>00686
-<a name="l00688"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">00688</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a> = 0x0100UL,
-<a name="l00689"></a>00689
-<a name="l00691"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">00691</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a> = 0x0200UL,
-<a name="l00692"></a>00692
-<a name="l00694"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">00694</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a> = 0x0400UL,
-<a name="l00695"></a>00695
-<a name="l00697"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">00697</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" title="Include aliases, default is just actual properties.">kXMP_IterIncludeAliases</a> = 0x0800UL,
-<a name="l00698"></a>00698
-<a name="l00700"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">00700</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a> = 0x1000UL
-<a name="l00701"></a>00701
-<a name="l00702"></a>00702 };
-<a name="l00703"></a>00703
-<a name="l00705"></a>00705 <span class="keyword">enum</span> {
-<a name="l00706"></a>00706
-<a name="l00708"></a><a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">00708</a> <a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a> = 0x0001UL,
-<a name="l00709"></a>00709
-<a name="l00711"></a><a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">00711</a> <a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a> = 0x0002UL
-<a name="l00712"></a>00712
-<a name="l00713"></a>00713 };
-<a name="l00714"></a>00714
-<a name="l00715"></a>00715 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00722"></a>00722 <span class="comment"></span><span class="keyword">enum</span> {
-<a name="l00723"></a>00723
-<a name="l00725"></a><a class="code" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">00725</a> <a class="code" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506" title="Allow commas in item values, default is separator.">kXMPUtil_AllowCommas</a> = 0x10000000UL
-<a name="l00726"></a>00726
-<a name="l00727"></a>00727 };
-<a name="l00728"></a>00728
-<a name="l00730"></a>00730 <span class="keyword">enum</span> {
-<a name="l00731"></a>00731
-<a name="l00733"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">00733</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a> = 0x0001UL,
-<a name="l00734"></a>00734
-<a name="l00736"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">00736</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" title="Replace existing values, default is to leave them.">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
-<a name="l00737"></a>00737
-<a name="l00739"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">00739</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9" title="Delete properties if the new value is empty.">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
-<a name="l00740"></a>00740
-<a name="l00742"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">00742</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a> = 0x0800UL
-<a name="l00743"></a>00743
-<a name="l00744"></a>00744 };
-<a name="l00745"></a>00745
-<a name="l00746"></a>00746 <span class="comment">// =================================================================================================</span>
-<a name="l00747"></a>00747 <span class="comment">// Types and Constants for XMPFiles</span>
-<a name="l00748"></a>00748 <span class="comment">// ================================</span>
-<a name="l00749"></a>00749
-<a name="l00751"></a>00751 <span class="keyword">enum</span> {
-<a name="l00752"></a>00752
-<a name="l00753"></a>00753 <span class="comment">// ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There</span>
-<a name="l00754"></a>00754 <span class="comment">// ! seems to be no decent way on UNIX to determine the target endianness at compile time.</span>
-<a name="l00755"></a>00755 <span class="comment">// ! Forcing it on the client isn't acceptable.</span>
-<a name="l00756"></a>00756
-<a name="l00757"></a>00757 <span class="comment">// --------------------</span>
-<a name="l00758"></a>00758 <span class="comment">// Public file formats.</span>
-<a name="l00759"></a>00759
-<a name="l00761"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">00761</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &amp;#39;PDF &amp;#39;.">kXMP_PDFFile</a> = 0x50444620UL,
-<a name="l00763"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">00763</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70" title="Public file format constant: &amp;#39;PS &amp;#39;, general PostScript following DSC conventions...">kXMP_PostScriptFile</a> = 0x50532020UL,
-<a name="l00765"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">00765</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e" title="Public file format constant: &amp;#39;EPS &amp;#39;, encapsulated PostScript.">kXMP_EPSFile</a> = 0x45505320UL,
-<a name="l00766"></a>00766
-<a name="l00768"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">00768</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487" title="Public file format constant: &amp;#39;JPEG&amp;#39;.">kXMP_JPEGFile</a> = 0x4A504547UL,
-<a name="l00770"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">00770</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d" title="Public file format constant: &amp;#39;JPX &amp;#39;, JPEG 2000, ISO 15444-1.">kXMP_JPEG2KFile</a> = 0x4A505820UL,
-<a name="l00772"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">00772</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08" title="Public file format constant: &amp;#39;TIFF&amp;#39;.">kXMP_TIFFFile</a> = 0x54494646UL,
-<a name="l00774"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">00774</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06" title="Public file format constant: &amp;#39;GIF &amp;#39;.">kXMP_GIFFile</a> = 0x47494620UL,
-<a name="l00776"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">00776</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371" title="Public file format constant: &amp;#39;PNG &amp;#39;.">kXMP_PNGFile</a> = 0x504E4720UL,
-<a name="l00777"></a>00777
-<a name="l00779"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">00779</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597" title="Public file format constant: &amp;#39;SWF &amp;#39;.">kXMP_SWFFile</a> = 0x53574620UL,
-<a name="l00781"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">00781</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9" title="Public file format constant: &amp;#39;FLA &amp;#39;.">kXMP_FLAFile</a> = 0x464C4120UL,
-<a name="l00783"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">00783</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f" title="Public file format constant: &amp;#39;FLV &amp;#39;.">kXMP_FLVFile</a> = 0x464C5620UL,
-<a name="l00784"></a>00784
-<a name="l00786"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">00786</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37" title="Public file format constant: &amp;#39;MOV &amp;#39;, Quicktime.">kXMP_MOVFile</a> = 0x4D4F5620UL,
-<a name="l00788"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">00788</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e" title="Public file format constant: &amp;#39;AVI &amp;#39;.">kXMP_AVIFile</a> = 0x41564920UL,
-<a name="l00790"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">00790</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb" title="Public file format constant: &amp;#39;CIN &amp;#39;, Cineon.">kXMP_CINFile</a> = 0x43494E20UL,
-<a name="l00792"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">00792</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8" title="Public file format constant: &amp;#39;WAV &amp;#39;.">kXMP_WAVFile</a> = 0x57415620UL,
-<a name="l00794"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">00794</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b" title="Public file format constant: &amp;#39;MP3 &amp;#39;.">kXMP_MP3File</a> = 0x4D503320UL,
-<a name="l00796"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">00796</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9" title="Public file format constant: &amp;#39;SES &amp;#39;, Audition session.">kXMP_SESFile</a> = 0x53455320UL,
-<a name="l00798"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">00798</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789" title="Public file format constant: &amp;#39;CEL &amp;#39;, Audition loop.">kXMP_CELFile</a> = 0x43454C20UL,
-<a name="l00800"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">00800</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8" title="Public file format constant: &amp;#39;MPEG&amp;#39;.">kXMP_MPEGFile</a> = 0x4D504547UL,
-<a name="l00802"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">00802</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a" title="Public file format constant: &amp;#39;MP2 &amp;#39;.">kXMP_MPEG2File</a> = 0x4D503220UL,
-<a name="l00804"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">00804</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91" title="Public file format constant: &amp;#39;MP4 &amp;#39;, ISO 14494-12 and -14.">kXMP_MPEG4File</a> = 0x4D503420UL,
-<a name="l00806"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">00806</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622" title="Public file format constant: &amp;#39;WMAV&amp;#39;, Windows Media Audio and Video.">kXMP_WMAVFile</a> = 0x574D4156UL,
-<a name="l00808"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">00808</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3" title="Public file format constant: &amp;#39;AIFF&amp;#39;.">kXMP_AIFFFile</a> = 0x41494646UL,
-<a name="l00810"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">00810</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34" title="Public file format constant: &amp;#39;P2 &amp;#39;, a collection not really a single file...">kXMP_P2File</a> = 0x50322020UL,
-<a name="l00812"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">00812</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57" title="Public file format constant: &amp;#39;XDCF&amp;#39;, a collection not really a single file...">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
-<a name="l00814"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">00814</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852" title="Public file format constant: &amp;#39;XDCS&amp;#39;, a collection not really a single file...">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
-<a name="l00816"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">00816</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc" title="Public file format constant: &amp;#39;XDCX&amp;#39;, a collection not really a single file...">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
-<a name="l00818"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">00818</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2" title="Public file format constant: &amp;#39;AVHD&amp;#39;, a collection not really a single file...">kXMP_AVCHDFile</a> = 0x41564844UL,
-<a name="l00820"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">00820</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e" title="Public file format constant: &amp;#39;SHDV&amp;#39;, a collection not really a single file...">kXMP_SonyHDVFile</a> = 0x53484456UL,
-<a name="l00821"></a>00821
-<a name="l00823"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">00823</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760" title="Public file format constant: &amp;#39;HTML&amp;#39;.">kXMP_HTMLFile</a> = 0x48544D4CUL,
-<a name="l00825"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">00825</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124" title="Public file format constant: &amp;#39;XML &amp;#39;.">kXMP_XMLFile</a> = 0x584D4C20UL,
-<a name="l00827"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">00827</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd" title="Public file format constant: &amp;#39;text&amp;#39;.">kXMP_TextFile</a> = 0x74657874UL,
-<a name="l00828"></a>00828
-<a name="l00829"></a>00829 <span class="comment">// -------------------------------</span>
-<a name="l00830"></a>00830 <span class="comment">// Adobe application file formats.</span>
-<a name="l00831"></a>00831
-<a name="l00833"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">00833</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c" title="Adobe application file format constant: &amp;#39;PSD &amp;#39;.">kXMP_PhotoshopFile</a> = 0x50534420UL,
-<a name="l00835"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">00835</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554" title="Adobe application file format constant: &amp;#39;AI &amp;#39;.">kXMP_IllustratorFile</a> = 0x41492020UL,
-<a name="l00837"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">00837</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60" title="Adobe application file format constant: &amp;#39;INDD&amp;#39;.">kXMP_InDesignFile</a> = 0x494E4444UL,
-<a name="l00839"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">00839</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e" title="Adobe application file format constant: &amp;#39;AEP &amp;#39;.">kXMP_AEProjectFile</a> = 0x41455020UL,
-<a name="l00841"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">00841</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df" title="Adobe application file format constant: &amp;#39;AET &amp;#39;, After Effects Project Template...">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
-<a name="l00843"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">00843</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0" title="Adobe application file format constant: &amp;#39;FFX &amp;#39;.">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
-<a name="l00845"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">00845</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a" title="Adobe application file format constant: &amp;#39;NCOR&amp;#39;.">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
-<a name="l00847"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">00847</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d" title="Adobe application file format constant: &amp;#39;PRPJ&amp;#39;.">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
-<a name="l00849"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">00849</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a" title="Adobe application file format constant: &amp;#39;PRTL&amp;#39;.">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
-<a name="l00851"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">00851</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96" title="Adobe application file format constant: &amp;#39;UCF &amp;#39;, Universal Container Format...">kXMP_UCFFile</a> = 0x55434620UL,
-<a name="l00852"></a>00852
-<a name="l00853"></a>00853 <span class="comment">// -------</span>
-<a name="l00854"></a>00854 <span class="comment">// Others.</span>
-<a name="l00855"></a>00855
-<a name="l00857"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">00857</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a> = 0x20202020UL
-<a name="l00858"></a>00858
-<a name="l00859"></a>00859 };
-<a name="l00860"></a>00860
-<a name="l00862"></a><a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">00862</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a>;
-<a name="l00863"></a>00863
-<a name="l00864"></a>00864 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00865"></a>00865
-<a name="l00867"></a>00867 <span class="keyword">enum</span> {
-<a name="l00868"></a>00868 kXMP_CharLittleEndianMask = 1,
-<a name="l00869"></a>00869 kXMP_Char16BitMask = 2,
-<a name="l00870"></a>00870 kXMP_Char32BitMask = 4
-<a name="l00871"></a>00871 };
-<a name="l00872"></a>00872
-<a name="l00874"></a>00874 <span class="keyword">enum</span> {
-<a name="l00876"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">00876</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637" title="8-bit">kXMP_Char8Bit</a> = 0,
-<a name="l00878"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">00878</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d" title="16-bit big-endian">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
-<a name="l00880"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">00880</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa" title="16-bit little-endian">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
-<a name="l00882"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">00882</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc" title="32-bit big-endian">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
-<a name="l00884"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">00884</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e" title="32-bit little-endian">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
-<a name="l00886"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">00886</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b" title="Variable or not-yet-known cases.">kXMP_CharUnknown</a> = 1
-<a name="l00887"></a>00887 };
-<a name="l00888"></a>00888
-<a name="l00921"></a>00921
-<a name="l00922"></a><a class="code" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">00922</a> <span class="preprocessor">#define XMP_CharFormIs16Bit(f) ( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</span>
-<a name="l00923"></a><a class="code" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">00923</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIs32Bit(f) ( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</span>
-<a name="l00924"></a><a class="code" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">00924</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsBigEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</span>
-<a name="l00925"></a><a class="code" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">00925</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsLittleEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</span>
-<a name="l00926"></a><a class="code" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">00926</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_GetCharSize(f) ( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</span>
-<a name="l00927"></a><a class="code" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">00927</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) )</span>
-<a name="l00928"></a><a class="code" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">00928</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) )</span>
-<a name="l00929"></a>00929 <span class="preprocessor"></span>
-<a name="l00932"></a><a class="code" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">00932</a> <span class="preprocessor">#define kXMPFiles_UnknownOffset ((XMP_Int64)-1)</span>
-<a name="l00933"></a>00933 <span class="preprocessor"></span>
-<a name="l00936"></a><a class="code" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">00936</a> <span class="preprocessor">#define kXMPFiles_UnknownLength ((XMP_Int32)-1)</span>
-<a name="l00937"></a>00937 <span class="preprocessor"></span>
-<a name="l00939"></a><a class="code" href="structXMP__PacketInfo.html">00939</a> <span class="keyword">struct </span><a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> {
-<a name="l00940"></a>00940
-<a name="l00942"></a><a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">00942</a> XMP_Int64 <a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>;
-<a name="l00944"></a><a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">00944</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>;
-<a name="l00946"></a><a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">00946</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>; <span class="comment">// Zero if unknown.</span>
-<a name="l00947"></a>00947
-<a name="l00949"></a><a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">00949</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>;
-<a name="l00951"></a><a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">00951</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>;
-<a name="l00953"></a><a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">00953</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>;
-<a name="l00954"></a>00954
-<a name="l00956"></a><a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">00956</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>;
-<a name="l00957"></a>00957
-<a name="l00959"></a><a class="code" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">00959</a> <a class="code" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8" title="Default constructor.">XMP_PacketInfo</a>() : <a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>(<a class="code" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4" title="Constant for an unknown packet offset within a file.">kXMPFiles_UnknownOffset</a>), <a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>(<a class="code" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658" title="Constant for an unknown packet length within a file.">kXMPFiles_UnknownLength</a>),
-<a name="l00960"></a>00960 <a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>(0), <a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>(0), <a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>(0), <a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>(0), <a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>(0) {};
-<a name="l00961"></a>00961
-<a name="l00962"></a>00962 };
-<a name="l00963"></a>00963
-<a name="l00965"></a>00965 <span class="keyword">enum</span> {
-<a name="l00967"></a><a class="code" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">00967</a> <a class="code" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817" title="Version of the XMP_PacketInfo type.">kXMP_PacketInfoVersion</a> = 3
-<a name="l00968"></a>00968 };
-<a name="l00969"></a>00969
-<a name="l00970"></a>00970 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l00971"></a>00971
-<a name="l00973"></a>00973 <span class="keyword">enum</span> {
-<a name="l00975"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">00975</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" title="The thumbnail data has an unknown format.">kXMP_UnknownTNail</a> = 0,
-<a name="l00977"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">00977</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321" title="The thumbnail data is a JPEG stream, presumably compressed.">kXMP_JPEGTNail</a> = 1,
-<a name="l00979"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">00979</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951" title="The thumbnail data is a TIFF stream, presumably uncompressed.">kXMP_TIFFTNail</a> = 2,
-<a name="l00981"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">00981</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab" title="The thumbnail data is in the format of Photoshop Image Resource 1036.">kXMP_PShopTNail</a> = 3
-<a name="l00982"></a>00982 };
-<a name="l00983"></a>00983
-<a name="l00985"></a><a class="code" href="structXMP__ThumbnailInfo.html">00985</a> <span class="keyword">struct </span><a class="code" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> {
-<a name="l00986"></a>00986
-<a name="l00988"></a><a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">00988</a> XMP_FileFormat <a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df" title="The format of the containing file.">fileFormat</a>;
-<a name="l00990"></a><a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">00990</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">fullWidth</a>, fullHeight;
-<a name="l00992"></a><a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">00992</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b" title="Thumbnail image size in pixels.">tnailWidth</a>, tnailHeight;
-<a name="l00994"></a>00994
-<a name="l00995"></a><a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">00995</a> XMP_Uns16 <a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24" title="Orientation of full image and thumbnail, as defined by Exif for tag 274.">fullOrientation</a>, tnailOrientation;
-<a name="l00997"></a><a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">00997</a> <span class="keyword">const</span> XMP_Uns8 * <a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">tnailImage</a>;
-<a name="l00999"></a><a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">00999</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">tnailSize</a>;
-<a name="l01001"></a><a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">01001</a> XMP_Uns8 <a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">tnailFormat</a>;
-<a name="l01002"></a>01002
-<a name="l01004"></a><a class="code" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">01004</a> XMP_Uns8 <a class="code" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad1</a>, pad2, pad3;
-<a name="l01005"></a>01005
-<a name="l01007"></a><a class="code" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">01007</a> <a class="code" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828" title="Default constructor.">XMP_ThumbnailInfo</a>() : <a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df" title="The format of the containing file.">fileFormat</a>(<a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>), <a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">fullWidth</a>(0), fullHeight(0),
-<a name="l01008"></a>01008 <a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b" title="Thumbnail image size in pixels.">tnailWidth</a>(0), tnailHeight(0), <a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24" title="Orientation of full image and thumbnail, as defined by Exif for tag 274.">fullOrientation</a>(0), tnailOrientation(0),
-<a name="l01009"></a>01009 <a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">tnailImage</a>(0), <a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">tnailSize</a>(0), <a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">tnailFormat</a>(<a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" title="The thumbnail data has an unknown format.">kXMP_UnknownTNail</a>) {};
-<a name="l01010"></a>01010
-<a name="l01011"></a>01011 };
-<a name="l01012"></a>01012
-<a name="l01014"></a>01014 <span class="keyword">enum</span> {
-<a name="l01016"></a><a class="code" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">01016</a> <a class="code" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be" title="Version of the XMP_ThumbnailInfo type.">kXMP_ThumbnailInfoVersion</a> = 1
-<a name="l01017"></a>01017 };
-<a name="l01018"></a>01018
-<a name="l01019"></a>01019 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l01020"></a>01020
-<a name="l01022"></a>01022 <span class="keyword">enum</span> {
-<a name="l01024"></a><a class="code" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">01024</a> <a class="code" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9" title="Do not initialize QuickTime, the client will.">kXMPFiles_NoQuickTimeInit</a> = 0x0001
-<a name="l01025"></a>01025 };
-<a name="l01026"></a>01026
-<a name="l01028"></a>01028 <span class="keyword">enum</span> {
-<a name="l01029"></a>01029
-<a name="l01031"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">01031</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a> = 0x00000001,
-<a name="l01032"></a>01032
-<a name="l01034"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">01034</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a> = 0x00000002,
-<a name="l01035"></a>01035
-<a name="l01037"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">01037</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a> = 0x00000004,
-<a name="l01038"></a>01038
-<a name="l01040"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">01040</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3" title="Can expand, but prefers in-place update.">kXMPFiles_PrefersInPlace</a> = 0x00000008,
-<a name="l01041"></a>01041
-<a name="l01043"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">01043</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a> = 0x00000010,
-<a name="l01044"></a>01044
-<a name="l01046"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">01046</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
-<a name="l01047"></a>01047
-<a name="l01049"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">01049</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
-<a name="l01050"></a>01050
-<a name="l01052"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">01052</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" title="File handler returns native thumbnail.">kXMPFiles_ReturnsTNail</a> = 0x00000080,
-<a name="l01053"></a>01053
-<a name="l01055"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">01055</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4" title="The file handler does the file open and close.">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
-<a name="l01056"></a>01056
-<a name="l01058"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">01058</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd" title="The file handler allows crash-safe file updates.">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
-<a name="l01059"></a>01059
-<a name="l01061"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">01061</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999" title="The file format needs the XMP packet to be read-only.">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
-<a name="l01062"></a>01062
-<a name="l01064"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">01064</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c" title="The file handler uses a &amp;quot;sidecar&amp;quot; file for the XMP.">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
-<a name="l01065"></a>01065
-<a name="l01067"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">01067</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd" title="The format is folder oriented, for example the P2 video format.">kXMPFiles_FolderBasedFormat</a> = 0x00001000
-<a name="l01068"></a>01068
-<a name="l01069"></a>01069 };
-<a name="l01070"></a>01070
-<a name="l01072"></a>01072 <span class="keyword">enum</span> {
-<a name="l01073"></a>01073
-<a name="l01075"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">01075</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a> = 0x00000001,
-<a name="l01076"></a>01076
-<a name="l01078"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">01078</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a> = 0x00000002,
-<a name="l01079"></a>01079
-<a name="l01081"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">01081</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
-<a name="l01082"></a>01082
-<a name="l01084"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">01084</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a> = 0x00000008,
-<a name="l01085"></a>01085
-<a name="l01087"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">01087</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a> = 0x00000010,
-<a name="l01088"></a>01088
-<a name="l01090"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">01090</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
-<a name="l01091"></a>01091
-<a name="l01093"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">01093</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
-<a name="l01094"></a>01094
-<a name="l01096"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">01096</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &amp;quot;known&amp;quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
-<a name="l01097"></a>01097
-<a name="l01099"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">01099</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a" title="Attempt to repair a file opened for update, default is to not open (throw an exception)...">kXMPFiles_OpenRepairFile</a> = 0x00000100,
-<a name="l01100"></a>01100
-<a name="l01102"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">01102</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" title="Set if calling from background thread.">kXMPFiles_OpenInBackground</a> = 0x10000000
-<a name="l01103"></a>01103
-<a name="l01104"></a>01104 };
-<a name="l01105"></a>01105
-<a name="l01106"></a>01106 <span class="comment">// A note about kXMPFiles_OpenInBackground. The XMPFiles handler for .mov files currently uses</span>
-<a name="l01107"></a>01107 <span class="comment">// QuickTime. On Macintosh, calls to Enter/ExitMovies versus Enter/ExitMoviesOnThread must be made.</span>
-<a name="l01108"></a>01108 <span class="comment">// This option is used to signal background use so that the .mov handler can behave appropriately.</span>
-<a name="l01109"></a>01109
-<a name="l01111"></a>01111 <span class="keyword">enum</span> {
-<a name="l01113"></a><a class="code" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">01113</a> <a class="code" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a> = 0x0001
-<a name="l01114"></a>01114 };
-<a name="l01115"></a>01115
-<a name="l01116"></a>01116 <span class="comment">// =================================================================================================</span>
-<a name="l01117"></a>01117 <span class="comment">// Exception codes</span>
-<a name="l01118"></a>01118 <span class="comment">// ===============</span>
-<a name="l01119"></a>01119
-<a name="l01133"></a>01133
-<a name="l01135"></a><a class="code" href="classXMP__Error.html">01135</a> <span class="keyword">class </span><a class="code" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a> {
-<a name="l01136"></a>01136 <span class="keyword">public</span>:
-<a name="l01137"></a>01137
-<a name="l01144"></a><a class="code" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">01144</a> <a class="code" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa" title="Constructor for an XMP_Error.">XMP_Error</a> ( XMP_Int32 _id, XMP_StringPtr _errMsg ) : <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>(_id), <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>(_errMsg) {};
-<a name="l01145"></a>01145
-<a name="l01147"></a><a class="code" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">01147</a> <span class="keyword">inline</span> XMP_Int32 <a class="code" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd" title="Retrieves the numeric code from an XMP_Error.">GetID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>; };
-<a name="l01148"></a>01148
-<a name="l01150"></a><a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">01150</a> <span class="keyword">inline</span> XMP_StringPtr <a class="code" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153" title="Retrieves the descriptive string from an XMP_Error.">GetErrMsg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>; };
-<a name="l01151"></a>01151
-<a name="l01152"></a>01152 <span class="keyword">private</span>:
-<a name="l01154"></a>01154 XMP_Int32 <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>;
-<a name="l01157"></a><a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">01157</a> XMP_StringPtr <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>;
-<a name="l01158"></a>01158 };
-<a name="l01159"></a>01159
-<a name="l01161"></a>01161 <span class="keyword">enum</span> {
-<a name="l01162"></a>01162
-<a name="l01163"></a>01163 <span class="comment">// --------------------</span>
-<a name="l01164"></a>01164 <span class="comment">// Generic error codes.</span>
-<a name="l01165"></a>01165
-<a name="l01167"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">01167</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581" title="Generic unknown error.">kXMPErr_Unknown</a> = 0,
-<a name="l01169"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">01169</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1" title="Generic undefined error.">kXMPErr_TBD</a> = 1,
-<a name="l01171"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">01171</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3" title="Generic unavailable error.">kXMPErr_Unavailable</a> = 2,
-<a name="l01173"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">01173</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1" title="Generic bad object error.">kXMPErr_BadObject</a> = 3,
-<a name="l01175"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">01175</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1" title="Generic bad parameter error.">kXMPErr_BadParam</a> = 4,
-<a name="l01177"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">01177</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a" title="Generic bad value error.">kXMPErr_BadValue</a> = 5,
-<a name="l01179"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">01179</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6" title="Generic assertion failure.">kXMPErr_AssertFailure</a> = 6,
-<a name="l01181"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">01181</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b" title="Generic enforcement failure.">kXMPErr_EnforceFailure</a> = 7,
-<a name="l01183"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">01183</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2" title="Generic unimplemented error.">kXMPErr_Unimplemented</a> = 8,
-<a name="l01185"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">01185</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0" title="Generic internal failure.">kXMPErr_InternalFailure</a> = 9,
-<a name="l01187"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">01187</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7" title="Generic deprecated error.">kXMPErr_Deprecated</a> = 10,
-<a name="l01189"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">01189</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb" title="Generic external failure.">kXMPErr_ExternalFailure</a> = 11,
-<a name="l01191"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">01191</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195" title="Generic user abort error.">kXMPErr_UserAbort</a> = 12,
-<a name="l01193"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">01193</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb" title="Generic standard exception.">kXMPErr_StdException</a> = 13,
-<a name="l01195"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">01195</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4" title="Generic unknown exception.">kXMPErr_UnknownException</a> = 14,
-<a name="l01197"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">01197</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813" title="Generic out-of-memory error.">kXMPErr_NoMemory</a> = 15,
-<a name="l01198"></a>01198
-<a name="l01199"></a>01199 <span class="comment">// ------------------------------------</span>
-<a name="l01200"></a>01200 <span class="comment">// More specific parameter error codes.</span>
-<a name="l01201"></a>01201
-<a name="l01203"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">01203</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539" title="Bad schema parameter.">kXMPErr_BadSchema</a> = 101,
-<a name="l01205"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">01205</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7" title="Bad XPath parameter.">kXMPErr_BadXPath</a> = 102,
-<a name="l01207"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">01207</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444" title="Bad options parameter.">kXMPErr_BadOptions</a> = 103,
-<a name="l01209"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">01209</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010" title="Bad index parameter.">kXMPErr_BadIndex</a> = 104,
-<a name="l01211"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">01211</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9" title="Bad iteration position.">kXMPErr_BadIterPosition</a> = 105,
-<a name="l01213"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">01213</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8" title="XML parsing error.">kXMPErr_BadParse</a> = 106,
-<a name="l01215"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">01215</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9" title="Serialization error.">kXMPErr_BadSerialize</a> = 107,
-<a name="l01217"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">01217</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8" title="File format error.">kXMPErr_BadFileFormat</a> = 108,
-<a name="l01219"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">01219</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795" title="No file handler found for format.">kXMPErr_NoFileHandler</a> = 109,
-<a name="l01221"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">01221</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b" title="Data too large for JPEG file format.">kXMPErr_TooLargeForJPEG</a> = 110,
-<a name="l01222"></a>01222
-<a name="l01223"></a>01223 <span class="comment">// -----------------------------------------------</span>
-<a name="l01224"></a>01224 <span class="comment">// File format and internal structure error codes.</span>
-<a name="l01225"></a>01225
-<a name="l01227"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">01227</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5" title="XML format error.">kXMPErr_BadXML</a> = 201,
-<a name="l01229"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">01229</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e" title="RDF format error.">kXMPErr_BadRDF</a> = 202,
-<a name="l01231"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">01231</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821" title="XMP format error.">kXMPErr_BadXMP</a> = 203,
-<a name="l01233"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">01233</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179" title="Empty iterator.">kXMPErr_EmptyIterator</a> = 204,
-<a name="l01235"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">01235</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f" title="Unicode error.">kXMPErr_BadUnicode</a> = 205,
-<a name="l01237"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">01237</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d" title="TIFF format error.">kXMPErr_BadTIFF</a> = 206,
-<a name="l01239"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">01239</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee" title="JPEG format error.">kXMPErr_BadJPEG</a> = 207,
-<a name="l01241"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">01241</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d" title="PSD format error.">kXMPErr_BadPSD</a> = 208,
-<a name="l01243"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">01243</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3" title="PSIR format error.">kXMPErr_BadPSIR</a> = 209,
-<a name="l01245"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">01245</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e" title="IPTC format error.">kXMPErr_BadIPTC</a> = 210,
-<a name="l01247"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">01247</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad" title="MPEG format error.">kXMPErr_BadMPEG</a> = 211
-<a name="l01248"></a>01248
-<a name="l01249"></a>01249 };
-<a name="l01250"></a>01250
-<a name="l01252"></a>01252
-<a name="l01253"></a>01253 <span class="comment">// =================================================================================================</span>
-<a name="l01254"></a>01254 <span class="comment">// Client callbacks</span>
-<a name="l01255"></a>01255 <span class="comment">// ================</span>
-<a name="l01256"></a>01256
-<a name="l01257"></a>01257 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l01260"></a>01260 <span class="comment"></span>
-<a name="l01265"></a>01265
-<a name="l01266"></a><a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">01266</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>;
-<a name="l01267"></a>01267
-<a name="l01268"></a>01268 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l01283"></a>01283 <span class="comment"></span>
-<a name="l01284"></a><a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">01284</a> <span class="keyword">typedef</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> (* <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>) ( <span class="keywordtype">void</span> * refCon,
-<a name="l01285"></a>01285 XMP_StringPtr buffer,
-<a name="l01286"></a>01286 XMP_StringLen bufferSize );
-<a name="l01287"></a>01287
-<a name="l01288"></a>01288 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
-<a name="l01297"></a>01297 <span class="comment"></span>
-<a name="l01298"></a><a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">01298</a> <span class="keyword">typedef</span> bool (* <a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>) ( <span class="keywordtype">void</span> * arg ); <span class="comment">// Used by .</span>
-<a name="l01299"></a>01299
-<a name="l01301"></a>01301
-<a name="l01302"></a>01302 <span class="comment">// =================================================================================================</span>
-<a name="l01303"></a>01303 <span class="comment">// Stuff with no better place to be</span>
-<a name="l01304"></a>01304 <span class="comment">// ================================</span>
-<a name="l01305"></a>01305
-<a name="l01307"></a><a class="code" href="structXMP__VersionInfo.html">01307</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> {
-<a name="l01309"></a><a class="code" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">01309</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb" title="The primary release number, the &amp;quot;1&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">major</a>;
-<a name="l01311"></a><a class="code" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">01311</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317" title="The secondary release number, the &amp;quot;2&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">minor</a>;
-<a name="l01313"></a><a class="code" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">01313</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28" title="The tertiary release number, the &amp;quot;3&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">micro</a>;
-<a name="l01315"></a><a class="code" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">01315</a> XMP_Bool <a class="code" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018" title="A 0/1 boolean value, true if this is a debug build.">isDebug</a>;
-<a name="l01317"></a><a class="code" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">01317</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc" title="A rolling build number, monotonically increasing in a release.">build</a>;
-<a name="l01319"></a><a class="code" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">01319</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74" title="Individual feature implementation flags.">flags</a>;
-<a name="l01321"></a><a class="code" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">01321</a> XMP_StringPtr <a class="code" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834" title="A comprehensive version information string.">message</a>;
-<a name="l01322"></a>01322 } <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a>;
-<a name="l01323"></a>01323
-<a name="l01324"></a>01324 <span class="comment">// =================================================================================================</span>
-<a name="l01325"></a>01325
-<a name="l01326"></a>01326 <span class="preprocessor">#if __cplusplus</span>
-<a name="l01327"></a>01327 <span class="preprocessor"></span>} <span class="comment">// extern "C"</span>
-<a name="l01328"></a>01328 <span class="preprocessor">#endif</span>
-<a name="l01329"></a>01329 <span class="preprocessor"></span>
-<a name="l01330"></a>01330 <span class="preprocessor">#endif // __XMP_Const_h__</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/XMP__Const_8h.html b/docs/API/XMP__Const_8h.html
index 363e59e..355ef5b 100644
--- a/docs/API/XMP__Const_8h.html
+++ b/docs/API/XMP__Const_8h.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_Const.h File Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP_Const.h File Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -55,753 +55,692 @@ window.onload = initDynSections;
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<h1>XMP_Const.h File Reference</h1>Common C/C++ types and constants for the XMP toolkit. <a href="#_details">More...</a>
-<p>
-<code>#include &quot;XMP_Environment.h&quot;</code><br>
-<code>#include &lt;stddef.h&gt;</code><br>
-
-<p>
+<h1>XMP_Const.h File Reference</h1>
+<p>Common C/C++ types and constants for the XMP toolkit.
+<a href="#_details">More...</a></p>
+<code>#include &quot;XMP_Environment.h&quot;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
<div class="dynheader">
Include dependency graph for XMP_Const.h:</div>
<div class="dynsection">
-<p><center><img src="XMP__Const_8h__incl.png" border="0" usemap="#XMP_Const.h_map" alt=""></center>
-</div>
-
-<p>
-<a href="XMP__Const_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The expanded type for a date and time. <a href="structXMP__DateTime.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP packet description. <a href="structXMP__PacketInfo.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thumbnail descriptor. <a href="structXMP__ThumbnailInfo.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html">XMP_Error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit error, associates an error code with a descriptive error string. <a href="classXMP__Error.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit version information. <a href="structXMP__VersionInfo.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>General scalar types and constants</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">kXMP_TrueStr</a>&nbsp;&nbsp;&nbsp;&quot;True&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical true string value for Booleans in serialized XMP. <a href="#4c39e0131b0e3d7db66e1cfa82b67141"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">kXMP_FalseStr</a>&nbsp;&nbsp;&nbsp;&quot;False&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical false string value for Booleans in serialized XMP. <a href="#2dc55b533ed63ed7ff0c3be16a97e278"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">kXMPTS_Yes</a> = 1,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">kXMPTS_No</a> = 0,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">kXMPTS_Maybe</a> = -1
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d439e3ceeb4590d310f6125aa12c6df6"></a><!-- doxytag: member="XMP_Const.h::XMP_StringPtr" ref="d439e3ceeb4590d310f6125aa12c6df6" args="" -->
-typedef const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for input string parameters. A <code>const char *</code>, a null-terminated UTF-8 string. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f7dcc184f901c713274edfdac5bcc9a"></a><!-- doxytag: member="XMP_Const.h::XMP_StringLen" ref="9f7dcc184f901c713274edfdac5bcc9a" args="" -->
-typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00e9d9a76c144421105a4c2742203315"></a><!-- doxytag: member="XMP_Const.h::XMP_Index" ref="00e9d9a76c144421105a4c2742203315" args="" -->
-typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb865118433be92d88e5f49ed11487c8"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionBits" ref="eb865118433be92d88e5f49ed11487c8" args="" -->
-typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for a collection of 32 flag bits. Individual flags are defined as enum value bit masks; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> and following. A number of macros provide common set or set operations, such as <code>XMP_PropIsSimple</code>. For other tests use an expression like <code>options &amp; kXMP_&lt;theOption&gt;</code>. When passing multiple option flags use the bitwise-OR operator. '|', not the arithmatic plus, '+'. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="377e4a668de99ce6ed176cef5aaf3fcd"></a><!-- doxytag: member="XMP_Const.h::XMP_TriState" ref="377e4a668de99ce6ed176cef5aaf3fcd" args="" -->
-typedef XMP_Int8&nbsp;</td><td class="memItemRight" valign="bottom"><b>XMP_TriState</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="673355818b7b9224e8fec0fbc60ba00c"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_TIFF" ref="673355818b7b9224e8fec0fbc60ba00c" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">kXMP_NS_TIFF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/tiff/1.0/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's TIFF schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7dc4d65bcbba2862e410cc8cfdff6f6"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Job" ref="c7dc4d65bcbba2862e410cc8cfdff6f6" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">kXMP_NS_XMP_ST_Job</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Job#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the JobRef type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="97564c70460d1f235c8a41b8ac40cfe9"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XML" ref="97564c70460d1f235c8a41b8ac40cfe9" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">kXMP_NS_XML</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/XML/1998/namespace&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for XML. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff1df9f3cf050f8b8d3a574db3c3326b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NoOptions" ref="ff1df9f3cf050f8b8d3a574db3c3326b" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">kXMP_NoOptions</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)0UL)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro clears all property-type bits. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">XMP_OptionIsClear</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) == 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is clear. <a href="#1d41f53bd1d5c88fad8322ce15e39516"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">XMP_PropIsAlias</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsAlias) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#193b1414fa5312da2aa1d833b85612d0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">XMP_CharFromSerializeForm</a>(sf)&nbsp;&nbsp;&nbsp;( (XMP_Uns8)(sf) )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>. <a href="#93e7900e6c9fb4057dfd685b5201057d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a9b77b60c63781a8776f10880856bf4"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownOffset" ref="6a9b77b60c63781a8776f10880856bf4" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">kXMPFiles_UnknownOffset</a>&nbsp;&nbsp;&nbsp;((XMP_Int64)-1)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet offset within a file. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0901aabcf619f17cff03f08e5ed3658"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownLength" ref="e0901aabcf619f17cff03f08e5ed3658" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">kXMPFiles_UnknownLength</a>&nbsp;&nbsp;&nbsp;((XMP_Int32)-1)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet length within a file. <br></td></tr>
+<div class="center"><img src="XMP__Const_8h__incl.png" border="0" usemap="#XMP__Const_8h_map" alt=""/></div>
+</div>
+
+<p><a href="XMP__Const_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The expanded type for a date and time. <a href="structXMP__DateTime.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP packet description. <a href="structXMP__PacketInfo.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html">XMP_Error</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit error, associates an error code with a descriptive error string. <a href="classXMP__Error.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit version information. <a href="structXMP__VersionInfo.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a673355818b7b9224e8fec0fbc60ba00c"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_TIFF" ref="a673355818b7b9224e8fec0fbc60ba00c" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a673355818b7b9224e8fec0fbc60ba00c">kXMP_NS_TIFF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/tiff/1.0/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's TIFF schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7dc4d65bcbba2862e410cc8cfdff6f6"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Job" ref="ac7dc4d65bcbba2862e410cc8cfdff6f6" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ac7dc4d65bcbba2862e410cc8cfdff6f6">kXMP_NS_XMP_ST_Job</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Job#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the JobRef type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97564c70460d1f235c8a41b8ac40cfe9"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XML" ref="a97564c70460d1f235c8a41b8ac40cfe9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a97564c70460d1f235c8a41b8ac40cfe9">kXMP_NS_XML</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/XML/1998/namespace&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for XML. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff1df9f3cf050f8b8d3a574db3c3326b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NoOptions" ref="aff1df9f3cf050f8b8d3a574db3c3326b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b">kXMP_NoOptions</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)0UL)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro clears all property-type bits. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a1d41f53bd1d5c88fad8322ce15e39516">XMP_OptionIsClear</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) == 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is clear. <a href="#a1d41f53bd1d5c88fad8322ce15e39516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a193b1414fa5312da2aa1d833b85612d0">XMP_PropIsAlias</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsAlias) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a193b1414fa5312da2aa1d833b85612d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a93e7900e6c9fb4057dfd685b5201057d">XMP_CharFromSerializeForm</a>(sf)&nbsp;&nbsp;&nbsp;( (XMP_Uns8)(sf) )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>. <a href="#a93e7900e6c9fb4057dfd685b5201057d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a9b77b60c63781a8776f10880856bf4"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownOffset" ref="a6a9b77b60c63781a8776f10880856bf4" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">kXMPFiles_UnknownOffset</a>&nbsp;&nbsp;&nbsp;((XMP_Int64)-1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet offset within a file. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0901aabcf619f17cff03f08e5ed3658"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownLength" ref="ae0901aabcf619f17cff03f08e5ed3658" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">kXMPFiles_UnknownLength</a>&nbsp;&nbsp;&nbsp;((XMP_Int32)-1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet length within a file. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">XML namespace constants for standard XMP schema.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="030875c9dc0861c9251a3374ca14a376"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP" ref="030875c9dc0861c9251a3374ca14a376" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">kXMP_NS_XMP</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP "basic" schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e52d761e5a4fc8c8499215d2f3d82b90"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Rights" ref="e52d761e5a4fc8c8499215d2f3d82b90" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">kXMP_NS_XMP_Rights</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/rights/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP copyright schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c67379a9ffa425d0d7976a51c4f2f754"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_MM" ref="c67379a9ffa425d0d7976a51c4f2f754" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">kXMP_NS_XMP_MM</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/mm/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP digital asset management schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="308e156c325618acb2172e550929ebee"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_BJ" ref="308e156c325618acb2172e550929ebee" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">kXMP_NS_XMP_BJ</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/bj/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the job management schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bcb67d0dd0922504e3da7ca5c40c82a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_PDF" ref="0bcb67d0dd0922504e3da7ca5c40c82a" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">kXMP_NS_PDF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/pdf/1.3/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the PDF schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1a6f38ebfcdb281c5bf2809859167c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_Photoshop" ref="a1a6f38ebfcdb281c5bf2809859167c7" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">kXMP_NS_Photoshop</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/photoshop/1.0/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Photoshop custom schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d12182e1df1652f56b5eec60c1fcdd8f"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_EXIF" ref="d12182e1df1652f56b5eec60c1fcdd8f" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">kXMP_NS_EXIF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/exif/1.0/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's EXIF schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a2d9c5f7beb27553214a7ad1df4f27e"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T" ref="0a2d9c5f7beb27553214a7ad1df4f27e" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">kXMP_NS_XMP_T</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP text document schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39afb495ffb24bb3082493c6811e65d0"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T_PG" ref="39afb495ffb24bb3082493c6811e65d0" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">kXMP_NS_XMP_T_PG</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/pg/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP paged document schema. <br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp4fa220dbd2b2cff5febc9fbf6030d852"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a030875c9dc0861c9251a3374ca14a376"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP" ref="a030875c9dc0861c9251a3374ca14a376" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a030875c9dc0861c9251a3374ca14a376">kXMP_NS_XMP</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP "basic" schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae52d761e5a4fc8c8499215d2f3d82b90"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Rights" ref="ae52d761e5a4fc8c8499215d2f3d82b90" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ae52d761e5a4fc8c8499215d2f3d82b90">kXMP_NS_XMP_Rights</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/rights/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP copyright schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac67379a9ffa425d0d7976a51c4f2f754"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_MM" ref="ac67379a9ffa425d0d7976a51c4f2f754" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ac67379a9ffa425d0d7976a51c4f2f754">kXMP_NS_XMP_MM</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/mm/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP digital asset management schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308e156c325618acb2172e550929ebee"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_BJ" ref="a308e156c325618acb2172e550929ebee" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a308e156c325618acb2172e550929ebee">kXMP_NS_XMP_BJ</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/bj/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the job management schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bcb67d0dd0922504e3da7ca5c40c82a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_PDF" ref="a0bcb67d0dd0922504e3da7ca5c40c82a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a0bcb67d0dd0922504e3da7ca5c40c82a">kXMP_NS_PDF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/pdf/1.3/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the PDF schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1a6f38ebfcdb281c5bf2809859167c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_Photoshop" ref="aa1a6f38ebfcdb281c5bf2809859167c7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aa1a6f38ebfcdb281c5bf2809859167c7">kXMP_NS_Photoshop</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/photoshop/1.0/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Photoshop custom schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad12182e1df1652f56b5eec60c1fcdd8f"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_EXIF" ref="ad12182e1df1652f56b5eec60c1fcdd8f" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ad12182e1df1652f56b5eec60c1fcdd8f">kXMP_NS_EXIF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/exif/1.0/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's EXIF schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a2d9c5f7beb27553214a7ad1df4f27e"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T" ref="a0a2d9c5f7beb27553214a7ad1df4f27e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a0a2d9c5f7beb27553214a7ad1df4f27e">kXMP_NS_XMP_T</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP text document schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39afb495ffb24bb3082493c6811e65d0"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T_PG" ref="a39afb495ffb24bb3082493c6811e65d0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a39afb495ffb24bb3082493c6811e65d0">kXMP_NS_XMP_T_PG</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/pg/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP paged document schema. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">XML namespace constants for qualifiers and structured property fields.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b466db52a4b85cecfa04710682c1e671"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_IdentifierQual" ref="b466db52a4b85cecfa04710682c1e671" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">kXMP_NS_XMP_IdentifierQual</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xmp/Identifier/qual/1.0/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for qualifiers of the xmp:Identifier property. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9618e013619aa92ebc808b62243d2ba8"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Dimensions" ref="9618e013619aa92ebc808b62243d2ba8" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">kXMP_NS_XMP_Dimensions</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Dimensions#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Dimensions type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="935641acc7d01e782ad7a457a7ff338b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Image" ref="935641acc7d01e782ad7a457a7ff338b" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">kXMP_NS_XMP_Image</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/g/img/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of a graphical image. Used for the Thumbnail type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="861613273127156050b456eee11f6b0a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceEvent" ref="861613273127156050b456eee11f6b0a" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">kXMP_NS_XMP_ResourceEvent</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceEvent#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceEvent type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9bf51f2653400645f7b5087e8c4e1c77"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceRef" ref="9bf51f2653400645f7b5087e8c4e1c77" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">kXMP_NS_XMP_ResourceRef</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceRef#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceRef type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4923bed71ab29c6aa88debe8816c0a2"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Version" ref="b4923bed71ab29c6aa88debe8816c0a2" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">kXMP_NS_XMP_ST_Version</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Version#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Version type. <br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpf10043a54aab77bb14e96bf8abe630b3"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab466db52a4b85cecfa04710682c1e671"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_IdentifierQual" ref="ab466db52a4b85cecfa04710682c1e671" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ab466db52a4b85cecfa04710682c1e671">kXMP_NS_XMP_IdentifierQual</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xmp/Identifier/qual/1.0/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for qualifiers of the xmp:Identifier property. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9618e013619aa92ebc808b62243d2ba8"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Dimensions" ref="a9618e013619aa92ebc808b62243d2ba8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a9618e013619aa92ebc808b62243d2ba8">kXMP_NS_XMP_Dimensions</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Dimensions#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Dimensions type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a935641acc7d01e782ad7a457a7ff338b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Image" ref="a935641acc7d01e782ad7a457a7ff338b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a935641acc7d01e782ad7a457a7ff338b">kXMP_NS_XMP_Image</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/g/img/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of a graphical image. Used for the Thumbnail type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a861613273127156050b456eee11f6b0a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceEvent" ref="a861613273127156050b456eee11f6b0a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a861613273127156050b456eee11f6b0a">kXMP_NS_XMP_ResourceEvent</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceEvent#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceEvent type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bf51f2653400645f7b5087e8c4e1c77"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceRef" ref="a9bf51f2653400645f7b5087e8c4e1c77" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a9bf51f2653400645f7b5087e8c4e1c77">kXMP_NS_XMP_ResourceRef</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceRef#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceRef type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4923bed71ab29c6aa88debe8816c0a2"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Version" ref="ab4923bed71ab29c6aa88debe8816c0a2" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ab4923bed71ab29c6aa88debe8816c0a2">kXMP_NS_XMP_ST_Version</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Version#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Version type. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">XML namespace constants from outside Adobe.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44453f0d0a1dd295d41722c2387b36fa"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_DC" ref="44453f0d0a1dd295d41722c2387b36fa" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">kXMP_NS_DC</a>&nbsp;&nbsp;&nbsp;&quot;http://purl.org/dc/elements/1.1/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Dublin Core schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b794d3d798daf75a963398347dcbb79b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_IPTCCore" ref="b794d3d798daf75a963398347dcbb79b" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">kXMP_NS_IPTCCore</a>&nbsp;&nbsp;&nbsp;&quot;http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the IPTC Core schema. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="276fac0f70893607afa3f09030ad84c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_RDF" ref="276fac0f70893607afa3f09030ad84c7" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">kXMP_NS_RDF</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for RDF. <br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdebdeb4c1db10bafdc0a5281ff7fb540"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44453f0d0a1dd295d41722c2387b36fa"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_DC" ref="a44453f0d0a1dd295d41722c2387b36fa" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a44453f0d0a1dd295d41722c2387b36fa">kXMP_NS_DC</a>&nbsp;&nbsp;&nbsp;&quot;http://purl.org/dc/elements/1.1/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Dublin Core schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab794d3d798daf75a963398347dcbb79b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_IPTCCore" ref="ab794d3d798daf75a963398347dcbb79b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ab794d3d798daf75a963398347dcbb79b">kXMP_NS_IPTCCore</a>&nbsp;&nbsp;&nbsp;&quot;http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the IPTC Core schema. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a276fac0f70893607afa3f09030ad84c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_RDF" ref="a276fac0f70893607afa3f09030ad84c7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a276fac0f70893607afa3f09030ad84c7">kXMP_NS_RDF</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for RDF. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Macros for standard option selections.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9549b9a138a896257b5a70176d125317"></a><!-- doxytag: member="XMP_Const.h::kXMP_ArrayLastItem" ref="9549b9a138a896257b5a70176d125317" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">kXMP_ArrayLastItem</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>)(-1L))</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro accesses last array item. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8283c9596c03b6d626d5a2b7a90e23ab"></a><!-- doxytag: member="XMP_Const.h::kXMP_UseNullTermination" ref="8283c9596c03b6d626d5a2b7a90e23ab" args="" -->
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">kXMP_UseNullTermination</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>)(~0UL))</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro sets string style. <br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpf56c489a61a7c3b75b1257d6b343b0e6"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9549b9a138a896257b5a70176d125317"></a><!-- doxytag: member="XMP_Const.h::kXMP_ArrayLastItem" ref="a9549b9a138a896257b5a70176d125317" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317">kXMP_ArrayLastItem</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>)(-1L))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro accesses last array item. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8283c9596c03b6d626d5a2b7a90e23ab"></a><!-- doxytag: member="XMP_Const.h::kXMP_UseNullTermination" ref="a8283c9596c03b6d626d5a2b7a90e23ab" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab">kXMP_UseNullTermination</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>)(~0UL))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro sets string style. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Macros for setting and testing general option bits.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">XMP_SetOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var |= (opt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro sets an option flag bit. <a href="#69c4d1b80c4dd581366e0c60209ef612"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_ClearOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var &amp;= ~(opt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro clears an option flag bit. <a href="#10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">XMP_TestOption</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#a31596e850cb6b208f5920833d67b9f1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">XMP_OptionIsSet</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#ba3edaa921326c7916adb0b70b1bcfb4"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd60cb9ba6ac15b57e2db3e73c65c0863"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a69c4d1b80c4dd581366e0c60209ef612">XMP_SetOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var |= (opt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro sets an option flag bit. <a href="#a69c4d1b80c4dd581366e0c60209ef612"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_ClearOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var &amp;= ~(opt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro clears an option flag bit. <a href="#a10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aa31596e850cb6b208f5920833d67b9f1">XMP_TestOption</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#aa31596e850cb6b208f5920833d67b9f1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aba3edaa921326c7916adb0b70b1bcfb4">XMP_OptionIsSet</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#aba3edaa921326c7916adb0b70b1bcfb4"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Macros for setting and testing specific option bits.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">XMP_PropIsSimple</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropCompositeMask) == 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#510b75338bd488ddd8d9bd4e326806f9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">XMP_PropIsStruct</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsStruct) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#ebea8c35e09da7db613e27d0e3ce945f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">XMP_PropIsArray</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsArray) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#98ae521b621cfa3611211e3922a0fce8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">XMP_ArrayIsUnordered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#8d763b3d36c7067cd7bccd32d4066b43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">XMP_ArrayIsOrdered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#72c7077f3ff3e39804a899533867327d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">XMP_ArrayIsAlternate</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#86bc34c4e64dec75618c348163a88720"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">XMP_ArrayIsAltText</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAltText) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#bbef21da7bce1491f780586c3e01cd9e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">XMP_PropHasQualifiers</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasQualifiers) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#10828aa191aa666aa1166c27beead2a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_PropIsQualifier</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsQualifier) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">XMP_PropHasLang</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasLang) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#7dc82df90f45b0d746b67d8fdc529c83"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">XMP_NodeIsSchema</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_SchemaNode) != 0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#12870d8442720ce5230791abc26f9597"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa98d6e70169979cc19dc98397e83a762"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a510b75338bd488ddd8d9bd4e326806f9">XMP_PropIsSimple</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropCompositeMask) == 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a510b75338bd488ddd8d9bd4e326806f9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aebea8c35e09da7db613e27d0e3ce945f">XMP_PropIsStruct</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsStruct) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#aebea8c35e09da7db613e27d0e3ce945f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a98ae521b621cfa3611211e3922a0fce8">XMP_PropIsArray</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsArray) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a98ae521b621cfa3611211e3922a0fce8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a8d763b3d36c7067cd7bccd32d4066b43">XMP_ArrayIsUnordered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a8d763b3d36c7067cd7bccd32d4066b43"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a72c7077f3ff3e39804a899533867327d">XMP_ArrayIsOrdered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a72c7077f3ff3e39804a899533867327d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a86bc34c4e64dec75618c348163a88720">XMP_ArrayIsAlternate</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a86bc34c4e64dec75618c348163a88720"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#abbef21da7bce1491f780586c3e01cd9e">XMP_ArrayIsAltText</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAltText) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#abbef21da7bce1491f780586c3e01cd9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a10828aa191aa666aa1166c27beead2a6">XMP_PropHasQualifiers</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasQualifiers) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a10828aa191aa666aa1166c27beead2a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_PropIsQualifier</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsQualifier) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a7dc82df90f45b0d746b67d8fdc529c83">XMP_PropHasLang</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasLang) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a7dc82df90f45b0d746b67d8fdc529c83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a12870d8442720ce5230791abc26f9597">XMP_NodeIsSchema</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_SchemaNode) != 0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#a12870d8442720ce5230791abc26f9597"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Macros to test components of the character form mask</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">XMP_CharFormIs16Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#a7596216164335f926cb91d600cddf99"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">XMP_CharFormIs32Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#1e99ef08266943f52f5c649ab2836ddf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">XMP_CharFormIsBigEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#ba2539629b8d238fc56a1901dd07ebca"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_CharFormIsLittleEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">XMP_GetCharSize</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-size of a character. <a href="#85bbf023b1b799c3c20176aa289d32b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">XMP_CharToSerializeForm</a>(cf)&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>. <a href="#8f522964919b742b4138c79611997bae"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPMeta__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPIterator__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPDocOps__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPFiles__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="300d9a9189cb4ddb6970d05389f5c28e"></a><!-- doxytag: member="XMP_Const.h::XMP_FileFormat" ref="300d9a9189cb4ddb6970d05389f5c28e" args="" -->
-typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for file format identification constants. See <code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &#39;PDF &#39;.">kXMP_PDFFile</a></code> and following. <br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp7b3a67f2c00b1e5b60da8334bdecda66"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aa7596216164335f926cb91d600cddf99">XMP_CharFormIs16Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#aa7596216164335f926cb91d600cddf99"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a1e99ef08266943f52f5c649ab2836ddf">XMP_CharFormIs32Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#a1e99ef08266943f52f5c649ab2836ddf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aba2539629b8d238fc56a1901dd07ebca">XMP_CharFormIsBigEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#aba2539629b8d238fc56a1901dd07ebca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_CharFormIsLittleEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#a906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a85bbf023b1b799c3c20176aa289d32b0">XMP_GetCharSize</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-size of a character. <a href="#a85bbf023b1b799c3c20176aa289d32b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a8f522964919b742b4138c79611997bae">XMP_CharToSerializeForm</a>(cf)&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>. <a href="#a8f522964919b742b4138c79611997bae"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct __XMPMeta__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct __XMPIterator__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct __XMPDocOps__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct __XMPFiles__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a300d9a9189cb4ddb6970d05389f5c28e"></a><!-- doxytag: member="XMP_Const.h::XMP_FileFormat" ref="a300d9a9189cb4ddb6970d05389f5c28e" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for file format identification constants. See <code><a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &#39;PDF &#39;.">kXMP_PDFFile</a></code> and following. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57250ff934e642191654ae49c3a2c6c9"></a><!-- doxytag: member="XMP_Const.h::XMP_VersionInfo" ref="a57250ff934e642191654ae49c3a2c6c9" args="" -->
+typedef struct <a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a57250ff934e642191654ae49c3a2c6c9">XMP_VersionInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit version information. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Special purpose callback functions</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> )(void *refCon, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> )(void *arg)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">kXMP_TimeWestOfUTC</a> = -1,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">kXMP_TimeIsUTC</a> = 0,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">kXMP_TimeEastOfUTC</a> = +1
-<br>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp0299d250e858d7ace730ad6438e9c001"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> )(void *refCon, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> )(void *arg)</td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801">kXMP_TimeWestOfUTC</a> = -1,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13">kXMP_TimeIsUTC</a> = 0,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec">kXMP_TimeEastOfUTC</a> = +1
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant values for <code><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime::tzSign</a></code> field. <a href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">kXMP_PropValueIsURI</a> = 0x00000002UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">kXMP_PropHasQualifiers</a> = 0x00000010UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">kXMP_PropHasLang</a> = 0x00000040UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">kXMP_PropHasType</a> = 0x00000080UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">kXMP_PropValueIsStruct</a> = 0x00000100UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">kXMP_PropArrayIsUnordered</a> = kXMP_PropValueIsArray,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">kXMP_PropIsInternal</a> = 0x00040000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">kXMP_PropIsStable</a> = 0x00100000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">kXMP_PropIsDerived</a> = 0x00200000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">kXMP_PropArrayFormMask</a> = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">kXMP_PropCompositeMask</a> = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">kXMP_ImplReservedMask</a> = 0x70000000L
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Constant values for <code><a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">XMP_DateTime::tzSign</a></code> field. </p>
+ <a href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb">kXMP_PropValueIsURI</a> = 0x00000002UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159">kXMP_PropHasQualifiers</a> = 0x00000010UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217">kXMP_PropHasLang</a> = 0x00000040UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5">kXMP_PropHasType</a> = 0x00000080UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e">kXMP_PropValueIsStruct</a> = 0x00000100UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0">kXMP_PropArrayIsUnordered</a> = kXMP_PropValueIsArray,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464">kXMP_PropIsInternal</a> = 0x00040000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c">kXMP_PropIsStable</a> = 0x00100000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877">kXMP_PropIsDerived</a> = 0x00200000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f">kXMP_PropArrayFormMask</a> = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956">kXMP_PropCompositeMask</a> = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974">kXMP_ImplReservedMask</a> = 0x70000000L
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions. <a href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">kXMP_InsertBeforeItem</a> = 0x00004000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">kXMP_InsertAfterItem</a> = 0x00008000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">kXMP_DeleteExisting</a> = 0x20000000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">kXMP_PropValueOptionsMask</a> = kXMP_PropValueIsURI,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">kXMP_PropArrayLocationMask</a> = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions. </p>
+ <a href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f">kXMP_InsertBeforeItem</a> = 0x00004000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05">kXMP_InsertAfterItem</a> = 0x00008000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c">kXMP_DeleteExisting</a> = 0x20000000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465">kXMP_PropValueOptionsMask</a> = kXMP_PropValueIsURI,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df">kXMP_PropArrayLocationMask</a> = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
+<br/>
}</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">kXMP_RequireXMPMeta</a> = 0x0001UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">kXMP_ParseMoreBuffers</a> = 0x0002UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">kXMP_StrictAliasing</a> = 0x0004UL
-<br>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400">kXMP_RequireXMPMeta</a> = 0x0001UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e">kXMP_ParseMoreBuffers</a> = 0x0002UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1">kXMP_StrictAliasing</a> = 0x0004UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. <a href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">kXMP_OmitPacketWrapper</a> = 0x0010UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">kXMP_ReadOnlyPacket</a> = 0x0020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">kXMP_UseCompactFormat</a> = 0x0040UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">kXMP_ExactPacketLength</a> = 0x0200UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">kXMP_WriteAliasComments</a> = 0x0400UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">kXMP_OmitAllFormatting</a> = 0x0800UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">kXMP_OmitXMPMetaElement</a> = 0x1000UL
-, <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">kXMP_EncodingMask</a> = 0x0007UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">kXMP_EncodeUTF8</a> = 0UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. </p>
+ <a href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06c">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76">kXMP_OmitPacketWrapper</a> = 0x0010UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6">kXMP_ReadOnlyPacket</a> = 0x0020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb">kXMP_UseCompactFormat</a> = 0x0040UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6">kXMP_ExactPacketLength</a> = 0x0200UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29">kXMP_OmitAllFormatting</a> = 0x0800UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856">kXMP_OmitXMPMetaElement</a> = 0x1000UL
+, <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845">kXMP_EncodingMask</a> = 0x0007UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab">kXMP_EncodeUTF8</a> = 0UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>. <a href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">kXMP_IterClassMask</a> = 0x00FFUL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">kXMP_IterProperties</a> = 0x0000UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">kXMP_IterAliases</a> = 0x0001UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">kXMP_IterNamespaces</a> = 0x0002UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">kXMP_IterJustChildren</a> = 0x0100UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">kXMP_IterJustLeafNodes</a> = 0x0200UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">kXMP_IterJustLeafName</a> = 0x0400UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">kXMP_IterIncludeAliases</a> = 0x0800UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">kXMP_IterOmitQualifiers</a> = 0x1000UL
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>. </p>
+ <a href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9e">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044">kXMP_IterClassMask</a> = 0x00FFUL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b">kXMP_IterProperties</a> = 0x0000UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9">kXMP_IterAliases</a> = 0x0001UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b">kXMP_IterNamespaces</a> = 0x0002UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed">kXMP_IterJustChildren</a> = 0x0100UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19">kXMP_IterJustLeafNodes</a> = 0x0200UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344">kXMP_IterJustLeafName</a> = 0x0400UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101">kXMP_IterOmitQualifiers</a> = 0x1000UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction. <a href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">kXMP_IterSkipSubtree</a> = 0x0001UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">kXMP_IterSkipSiblings</a> = 0x0002UL
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction. </p>
+ <a href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e">kXMP_IterSkipSubtree</a> = 0x0001UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12">kXMP_IterSkipSiblings</a> = 0x0002UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>. <a href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">kXMPUtil_AllowCommas</a> = 0x10000000UL
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>. </p>
+ <a href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2d">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506">kXMPUtil_AllowCommas</a> = 0x10000000UL
}</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">kXMPUtil_DoAllProperties</a> = 0x0001UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">kXMPUtil_IncludeAliases</a> = 0x0800UL
-<br>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea">kXMPTemplate_IncludeInternalProperties</a> = 0x0001UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544">kXMPTemplate_ReplaceExistingProperties</a> = 0x0002UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5">kXMPTemplate_ReplaceWithDeleteEmpty</a> = 0x0004UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42">kXMPTemplate_AddNewProperties</a> = 0x0008UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46">kXMPTemplate_ClearUnnamedProperties</a> = 0x0010UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">TXMPUtils::AppendProperties()</a></code>. <a href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">kXMP_PDFFile</a> = 0x50444620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">kXMP_PostScriptFile</a> = 0x50532020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">kXMP_EPSFile</a> = 0x45505320UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">kXMP_JPEGFile</a> = 0x4A504547UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">kXMP_JPEG2KFile</a> = 0x4A505820UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">kXMP_TIFFFile</a> = 0x54494646UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">kXMP_GIFFile</a> = 0x47494620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">kXMP_PNGFile</a> = 0x504E4720UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">kXMP_SWFFile</a> = 0x53574620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">kXMP_FLAFile</a> = 0x464C4120UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">kXMP_FLVFile</a> = 0x464C5620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">kXMP_MOVFile</a> = 0x4D4F5620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">kXMP_AVIFile</a> = 0x41564920UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">kXMP_CINFile</a> = 0x43494E20UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">kXMP_WAVFile</a> = 0x57415620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">kXMP_MP3File</a> = 0x4D503320UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">kXMP_SESFile</a> = 0x53455320UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">kXMP_CELFile</a> = 0x43454C20UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">kXMP_MPEGFile</a> = 0x4D504547UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">kXMP_MPEG2File</a> = 0x4D503220UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">kXMP_MPEG4File</a> = 0x4D503420UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">kXMP_WMAVFile</a> = 0x574D4156UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">kXMP_AIFFFile</a> = 0x41494646UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">kXMP_P2File</a> = 0x50322020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">kXMP_AVCHDFile</a> = 0x41564844UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">kXMP_SonyHDVFile</a> = 0x53484456UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">kXMP_HTMLFile</a> = 0x48544D4CUL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">kXMP_XMLFile</a> = 0x584D4C20UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">kXMP_TextFile</a> = 0x74657874UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">kXMP_PhotoshopFile</a> = 0x50534420UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">kXMP_IllustratorFile</a> = 0x41492020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">kXMP_InDesignFile</a> = 0x494E4444UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">kXMP_AEProjectFile</a> = 0x41455020UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">kXMP_UCFFile</a> = 0x55434620UL,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">kXMP_UnknownFile</a> = 0x20202020UL
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File format constants for use with XMPFiles. <a href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte-order masks, do not use directly. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">kXMP_Char8Bit</a> = 0,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">kXMP_CharUnknown</a> = 1
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9" title="ApplyTemplate() modifies a working XMP object according to a template object.">TXMPUtils::ApplyTemplate()</a></code>. </p>
+ <a href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb">kXMPUtil_DoAllProperties</a> = 0x0001UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b">kXMPUtil_IncludeAliases</a> = 0x0800UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constants to allow easy testing for 16/32 bit and big/little endian. <a href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">kXMP_PacketInfoVersion</a> = 3
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code>TXMPUtils::AppendProperties()</code>. </p>
+ <a href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb">kXMP_PDFFile</a> = 0x50444620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70">kXMP_PostScriptFile</a> = 0x50532020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e">kXMP_EPSFile</a> = 0x45505320UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487">kXMP_JPEGFile</a> = 0x4A504547UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d">kXMP_JPEG2KFile</a> = 0x4A505820UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08">kXMP_TIFFFile</a> = 0x54494646UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06">kXMP_GIFFile</a> = 0x47494620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371">kXMP_PNGFile</a> = 0x504E4720UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597">kXMP_SWFFile</a> = 0x53574620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9">kXMP_FLAFile</a> = 0x464C4120UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f">kXMP_FLVFile</a> = 0x464C5620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37">kXMP_MOVFile</a> = 0x4D4F5620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e">kXMP_AVIFile</a> = 0x41564920UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb">kXMP_CINFile</a> = 0x43494E20UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8">kXMP_WAVFile</a> = 0x57415620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b">kXMP_MP3File</a> = 0x4D503320UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9">kXMP_SESFile</a> = 0x53455320UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789">kXMP_CELFile</a> = 0x43454C20UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8">kXMP_MPEGFile</a> = 0x4D504547UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a">kXMP_MPEG2File</a> = 0x4D503220UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91">kXMP_MPEG4File</a> = 0x4D503420UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622">kXMP_WMAVFile</a> = 0x574D4156UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3">kXMP_AIFFFile</a> = 0x41494646UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34">kXMP_P2File</a> = 0x50322020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2">kXMP_AVCHDFile</a> = 0x41564844UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e">kXMP_SonyHDVFile</a> = 0x53484456UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760">kXMP_HTMLFile</a> = 0x48544D4CUL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124">kXMP_XMLFile</a> = 0x584D4C20UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd">kXMP_TextFile</a> = 0x74657874UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c">kXMP_PhotoshopFile</a> = 0x50534420UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554">kXMP_IllustratorFile</a> = 0x41492020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60">kXMP_InDesignFile</a> = 0x494E4444UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e">kXMP_AEProjectFile</a> = 0x41455020UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96">kXMP_UCFFile</a> = 0x55434620UL,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719">kXMP_UnknownFile</a> = 0x20202020UL
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. <a href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">kXMP_UnknownTNail</a> = 0,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">kXMP_JPEGTNail</a> = 1,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">kXMP_TIFFTNail</a> = 2,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">kXMP_PShopTNail</a> = 3
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>File format constants for use with XMPFiles. </p>
+ <a href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035d">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Byte-order masks, do not use directly. </p>
+<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637">kXMP_Char8Bit</a> = 0,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b">kXMP_CharUnknown</a> = 1
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Values for <code><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">XMP_ThumbnailInfo::tnailFormat</a></code>. <a href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">kXMP_ThumbnailInfoVersion</a> = 1
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Constants to allow easy testing for 16/32 bit and big/little endian. </p>
+ <a href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9e">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817">kXMP_PacketInfoVersion</a> = 3
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type. <a href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">kXMPFiles_NoQuickTimeInit</a> = 0x0001
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. </p>
+ <a href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4d">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50">kXMPFiles_IgnoreLocalText</a> = 0x0002,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145">kXMPFiles_ServerMode</a> = kXMPFiles_IgnoreLocalText
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>. <a href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">kXMPFiles_CanInjectXMP</a> = 0x00000001,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">kXMPFiles_CanExpand</a> = 0x00000002,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">kXMPFiles_CanRewrite</a> = 0x00000004,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">kXMPFiles_PrefersInPlace</a> = 0x00000008,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">kXMPFiles_CanReconcile</a> = 0x00000010,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">kXMPFiles_ReturnsTNail</a> = 0x00000080,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">kXMPFiles_FolderBasedFormat</a> = 0x00001000
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>. </p>
+ <a href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388">kXMPFiles_CanInjectXMP</a> = 0x00000001,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c">kXMPFiles_CanExpand</a> = 0x00000002,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07">kXMPFiles_CanRewrite</a> = 0x00000004,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3">kXMPFiles_PrefersInPlace</a> = 0x00000008,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694">kXMPFiles_CanReconcile</a> = 0x00000010,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd">kXMPFiles_FolderBasedFormat</a> = 0x00001000
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>. <a href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">kXMPFiles_OpenForRead</a> = 0x00000001,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">kXMPFiles_OpenForUpdate</a> = 0x00000002,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">kXMPFiles_OpenCacheTNail</a> = 0x00000008,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">kXMPFiles_OpenStrictly</a> = 0x00000010,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">kXMPFiles_OpenRepairFile</a> = 0x00000100,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">kXMPFiles_OpenInBackground</a> = 0x10000000
-<br>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>. </p>
+ <a href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fce">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2">kXMPFiles_OpenForRead</a> = 0x00000001,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b">kXMPFiles_OpenForUpdate</a> = 0x00000002,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18">kXMPFiles_OpenStrictly</a> = 0x00000010,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a">kXMPFiles_OpenRepairFile</a> = 0x00000100
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>. <a href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">kXMPFiles_UpdateSafely</a> = 0x0001
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>. </p>
+ <a href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52caba">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54">kXMPFiles_UpdateSafely</a> = 0x0001
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>. <a href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960">More...</a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>. </p>
+ <a href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1ea">More...</a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Errors Exception handling</div></td></tr>
-<tr><td colspan="2"><div class="groupText">XMP Tookit errors result in throwing an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> exception. Any exception thrown within the XMP Toolkit is caught in the toolkit and rethrown as an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code>.<p>
-The <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> class contains a numeric code and an English explanation. New numeric codes may be added at any time. There are typically many possible explanations for each numeric code. The explanations try to be precise about the specific circumstances causing the error.<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The explanation string is for debugging use only. It must not be shown to users in a final product. It is written for developers not users, and never localized. </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">kXMPErr_Unknown</a> = 0,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">kXMPErr_TBD</a> = 1,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">kXMPErr_Unavailable</a> = 2,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">kXMPErr_BadObject</a> = 3,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">kXMPErr_BadParam</a> = 4,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">kXMPErr_BadValue</a> = 5,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">kXMPErr_AssertFailure</a> = 6,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">kXMPErr_EnforceFailure</a> = 7,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">kXMPErr_Unimplemented</a> = 8,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">kXMPErr_InternalFailure</a> = 9,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">kXMPErr_Deprecated</a> = 10,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">kXMPErr_ExternalFailure</a> = 11,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">kXMPErr_UserAbort</a> = 12,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">kXMPErr_StdException</a> = 13,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">kXMPErr_UnknownException</a> = 14,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">kXMPErr_NoMemory</a> = 15,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">kXMPErr_BadSchema</a> = 101,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">kXMPErr_BadXPath</a> = 102,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">kXMPErr_BadOptions</a> = 103,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">kXMPErr_BadIndex</a> = 104,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">kXMPErr_BadIterPosition</a> = 105,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">kXMPErr_BadParse</a> = 106,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">kXMPErr_BadSerialize</a> = 107,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">kXMPErr_BadFileFormat</a> = 108,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">kXMPErr_NoFileHandler</a> = 109,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">kXMPErr_TooLargeForJPEG</a> = 110,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">kXMPErr_BadXML</a> = 201,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">kXMPErr_BadRDF</a> = 202,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">kXMPErr_BadXMP</a> = 203,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">kXMPErr_EmptyIterator</a> = 204,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">kXMPErr_BadUnicode</a> = 205,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">kXMPErr_BadTIFF</a> = 206,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">kXMPErr_BadJPEG</a> = 207,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">kXMPErr_BadPSD</a> = 208,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">kXMPErr_BadPSIR</a> = 209,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">kXMPErr_BadIPTC</a> = 210,
-<br>
-&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">kXMPErr_BadMPEG</a> = 211
-<br>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae9f409568adfec85efb85b2145d3a6e"></a> XMP Tookit errors result in throwing an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> exception. Any exception thrown within the XMP Toolkit is caught in the toolkit and rethrown as an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code>.</p>
+<p>The <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> class contains a numeric code and an English explanation. New numeric codes may be added at any time. There are typically many possible explanations for each numeric code. The explanations try to be precise about the specific circumstances causing the error.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>The explanation string is for debugging use only. It must not be shown to users in a final product. It is written for developers not users, and never localized. </dd></dl>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581">kXMPErr_Unknown</a> = 0,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1">kXMPErr_TBD</a> = 1,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3">kXMPErr_Unavailable</a> = 2,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1">kXMPErr_BadObject</a> = 3,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1">kXMPErr_BadParam</a> = 4,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a">kXMPErr_BadValue</a> = 5,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6">kXMPErr_AssertFailure</a> = 6,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b">kXMPErr_EnforceFailure</a> = 7,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2">kXMPErr_Unimplemented</a> = 8,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0">kXMPErr_InternalFailure</a> = 9,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7">kXMPErr_Deprecated</a> = 10,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb">kXMPErr_ExternalFailure</a> = 11,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195">kXMPErr_UserAbort</a> = 12,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb">kXMPErr_StdException</a> = 13,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4">kXMPErr_UnknownException</a> = 14,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813">kXMPErr_NoMemory</a> = 15,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539">kXMPErr_BadSchema</a> = 101,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7">kXMPErr_BadXPath</a> = 102,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444">kXMPErr_BadOptions</a> = 103,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010">kXMPErr_BadIndex</a> = 104,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9">kXMPErr_BadIterPosition</a> = 105,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8">kXMPErr_BadParse</a> = 106,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9">kXMPErr_BadSerialize</a> = 107,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8">kXMPErr_BadFileFormat</a> = 108,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795">kXMPErr_NoFileHandler</a> = 109,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b">kXMPErr_TooLargeForJPEG</a> = 110,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5">kXMPErr_BadXML</a> = 201,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e">kXMPErr_BadRDF</a> = 202,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821">kXMPErr_BadXMP</a> = 203,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179">kXMPErr_EmptyIterator</a> = 204,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f">kXMPErr_BadUnicode</a> = 205,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d">kXMPErr_BadTIFF</a> = 206,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee">kXMPErr_BadJPEG</a> = 207,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d">kXMPErr_BadPSD</a> = 208,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3">kXMPErr_BadPSIR</a> = 209,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e">kXMPErr_BadIPTC</a> = 210,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad">kXMPErr_BadMPEG</a> = 211
+<br/>
}</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception code constants. <a href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409">More...</a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Exception code constants. </p>
+ <a href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>General scalar types and constants</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrpb4bdc9c90f0bce40e87dab7c308120ef"></a> </p>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141">kXMP_TrueStr</a>&nbsp;&nbsp;&nbsp;&quot;True&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical true string value for Booleans in serialized XMP. <a href="#a4c39e0131b0e3d7db66e1cfa82b67141"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278">kXMP_FalseStr</a>&nbsp;&nbsp;&nbsp;&quot;False&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical false string value for Booleans in serialized XMP. <a href="#a2dc55b533ed63ed7ff0c3be16a97e278"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e">kXMPTS_Yes</a> = 1,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90">kXMPTS_No</a> = 0,
+<br/>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584">kXMPTS_Maybe</a> = -1
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad439e3ceeb4590d310f6125aa12c6df6"></a><!-- doxytag: member="XMP_Const.h::XMP_StringPtr" ref="ad439e3ceeb4590d310f6125aa12c6df6" args="" -->
+typedef const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for input string parameters. A <code>const char *</code>, a null-terminated UTF-8 string. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f7dcc184f901c713274edfdac5bcc9a"></a><!-- doxytag: member="XMP_Const.h::XMP_StringLen" ref="a9f7dcc184f901c713274edfdac5bcc9a" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00e9d9a76c144421105a4c2742203315"></a><!-- doxytag: member="XMP_Const.h::XMP_Index" ref="a00e9d9a76c144421105a4c2742203315" args="" -->
+typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb865118433be92d88e5f49ed11487c8"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionBits" ref="aeb865118433be92d88e5f49ed11487c8" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for a collection of 32 flag bits. Individual flags are defined as enum value bit masks; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> and following. A number of macros provide common set or set operations, such as <code>XMP_PropIsSimple</code>. For other tests use an expression like <code>options &amp; kXMP_&lt;theOption&gt;</code>. When passing multiple option flags use the bitwise-OR operator. '|', not the arithmatic plus, '+'. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a377e4a668de99ce6ed176cef5aaf3fcd"></a><!-- doxytag: member="XMP_Const.h::XMP_TriState" ref="a377e4a668de99ce6ed176cef5aaf3fcd" args="" -->
+typedef XMP_Int8&nbsp;</td><td class="memItemRight" valign="bottom"><b>XMP_TriState</b></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Common C/C++ types and constants for the XMP toolkit.
-<p>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="2dc55b533ed63ed7ff0c3be16a97e278"></a><!-- doxytag: member="XMP_Const.h::kXMP_FalseStr" ref="2dc55b533ed63ed7ff0c3be16a97e278" args="" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Common C/C++ types and constants for the XMP toolkit. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a2dc55b533ed63ed7ff0c3be16a97e278"></a><!-- doxytag: member="XMP_Const.h::kXMP_FalseStr" ref="a2dc55b533ed63ed7ff0c3be16a97e278" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define kXMP_FalseStr&nbsp;&nbsp;&nbsp;&quot;False&quot; </td>
+ <td class="memname">#define kXMP_FalseStr&nbsp;&nbsp;&nbsp;&quot;False&quot;</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The canonical false string value for Booleans in serialized XMP.
-<p>
-Code that converts from string to bool should be case insensitive, and also allow "0".
+<p>The canonical false string value for Booleans in serialized XMP. </p>
+<p>Code that converts from string to bool should be case insensitive, and also allow "0". </p>
+
</div>
-</div><p>
-<a class="anchor" name="4c39e0131b0e3d7db66e1cfa82b67141"></a><!-- doxytag: member="XMP_Const.h::kXMP_TrueStr" ref="4c39e0131b0e3d7db66e1cfa82b67141" args="" -->
+</div>
+<a class="anchor" id="a4c39e0131b0e3d7db66e1cfa82b67141"></a><!-- doxytag: member="XMP_Const.h::kXMP_TrueStr" ref="a4c39e0131b0e3d7db66e1cfa82b67141" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define kXMP_TrueStr&nbsp;&nbsp;&nbsp;&quot;True&quot; </td>
+ <td class="memname">#define kXMP_TrueStr&nbsp;&nbsp;&nbsp;&quot;True&quot;</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The canonical true string value for Booleans in serialized XMP.
-<p>
-Code that converts from string to bool should be case insensitive, and also allow "1".
+<p>The canonical true string value for Booleans in serialized XMP. </p>
+<p>Code that converts from string to bool should be case insensitive, and also allow "1". </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="86bc34c4e64dec75618c348163a88720"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAlternate" ref="86bc34c4e64dec75618c348163a88720" args="(opt)" -->
+<a class="anchor" id="a86bc34c4e64dec75618c348163a88720"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAlternate" ref="a86bc34c4e64dec75618c348163a88720" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_ArrayIsAlternate </td>
+ <td class="memname">#define XMP_ArrayIsAlternate</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</td>
</tr>
@@ -809,26 +748,25 @@ Code that converts from string to bool should be case insensitive, and also allo
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="bbef21da7bce1491f780586c3e01cd9e"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAltText" ref="bbef21da7bce1491f780586c3e01cd9e" args="(opt)" -->
+</div>
+<a class="anchor" id="abbef21da7bce1491f780586c3e01cd9e"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAltText" ref="abbef21da7bce1491f780586c3e01cd9e" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_ArrayIsAltText </td>
+ <td class="memname">#define XMP_ArrayIsAltText</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAltText) != 0)</td>
</tr>
@@ -836,26 +774,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="72c7077f3ff3e39804a899533867327d"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsOrdered" ref="72c7077f3ff3e39804a899533867327d" args="(opt)" -->
+</div>
+<a class="anchor" id="a72c7077f3ff3e39804a899533867327d"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsOrdered" ref="a72c7077f3ff3e39804a899533867327d" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_ArrayIsOrdered </td>
+ <td class="memname">#define XMP_ArrayIsOrdered</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</td>
</tr>
@@ -863,26 +800,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="8d763b3d36c7067cd7bccd32d4066b43"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsUnordered" ref="8d763b3d36c7067cd7bccd32d4066b43" args="(opt)" -->
+</div>
+<a class="anchor" id="a8d763b3d36c7067cd7bccd32d4066b43"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsUnordered" ref="a8d763b3d36c7067cd7bccd32d4066b43" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_ArrayIsUnordered </td>
+ <td class="memname">#define XMP_ArrayIsUnordered</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</td>
</tr>
@@ -890,26 +826,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="a7596216164335f926cb91d600cddf99"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs16Bit" ref="a7596216164335f926cb91d600cddf99" args="(f)" -->
+</div>
+<a class="anchor" id="aa7596216164335f926cb91d600cddf99"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs16Bit" ref="aa7596216164335f926cb91d600cddf99" args="(f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharFormIs16Bit </td>
+ <td class="memname">#define XMP_CharFormIs16Bit</td>
<td>(</td>
<td class="paramtype">f&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</td>
</tr>
@@ -917,26 +852,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the encoding of a character.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the encoding of a character. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="1e99ef08266943f52f5c649ab2836ddf"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs32Bit" ref="1e99ef08266943f52f5c649ab2836ddf" args="(f)" -->
+</div>
+<a class="anchor" id="a1e99ef08266943f52f5c649ab2836ddf"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs32Bit" ref="a1e99ef08266943f52f5c649ab2836ddf" args="(f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharFormIs32Bit </td>
+ <td class="memname">#define XMP_CharFormIs32Bit</td>
<td>(</td>
<td class="paramtype">f&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</td>
</tr>
@@ -944,26 +878,25 @@ Macro reports the encoding of a character.
</div>
<div class="memdoc">
-<p>
-Macro reports the encoding of a character.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the encoding of a character. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="ba2539629b8d238fc56a1901dd07ebca"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsBigEndian" ref="ba2539629b8d238fc56a1901dd07ebca" args="(f)" -->
+</div>
+<a class="anchor" id="aba2539629b8d238fc56a1901dd07ebca"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsBigEndian" ref="aba2539629b8d238fc56a1901dd07ebca" args="(f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharFormIsBigEndian </td>
+ <td class="memname">#define XMP_CharFormIsBigEndian</td>
<td>(</td>
<td class="paramtype">f&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</td>
</tr>
@@ -971,26 +904,25 @@ Macro reports the encoding of a character.
</div>
<div class="memdoc">
-<p>
-Macro reports the byte-order of a character.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the byte-order of a character. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsLittleEndian" ref="906ec1cd2fb1631c1b5ad9ccdf9c0a6b" args="(f)" -->
+</div>
+<a class="anchor" id="a906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsLittleEndian" ref="a906ec1cd2fb1631c1b5ad9ccdf9c0a6b" args="(f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharFormIsLittleEndian </td>
+ <td class="memname">#define XMP_CharFormIsLittleEndian</td>
<td>(</td>
<td class="paramtype">f&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</td>
</tr>
@@ -998,26 +930,25 @@ Macro reports the byte-order of a character.
</div>
<div class="memdoc">
-<p>
-Macro reports the byte-order of a character.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the byte-order of a character. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="93e7900e6c9fb4057dfd685b5201057d"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFromSerializeForm" ref="93e7900e6c9fb4057dfd685b5201057d" args="(sf)" -->
+</div>
+<a class="anchor" id="a93e7900e6c9fb4057dfd685b5201057d"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFromSerializeForm" ref="a93e7900e6c9fb4057dfd685b5201057d" args="(sf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharFromSerializeForm </td>
+ <td class="memname">#define XMP_CharFromSerializeForm</td>
<td>(</td>
<td class="paramtype">sf&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( (XMP_Uns8)(sf) )</td>
</tr>
@@ -1025,56 +956,56 @@ Macro reports the byte-order of a character.
</div>
<div class="memdoc">
-<p>
-Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>sf</em>&nbsp;</td><td>The character to convert. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="8f522964919b742b4138c79611997bae"></a><!-- doxytag: member="XMP_Const.h::XMP_CharToSerializeForm" ref="8f522964919b742b4138c79611997bae" args="(cf)" -->
+</div>
+<a class="anchor" id="a8f522964919b742b4138c79611997bae"></a><!-- doxytag: member="XMP_Const.h::XMP_CharToSerializeForm" ref="a8f522964919b742b4138c79611997bae" args="(cf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_CharToSerializeForm </td>
+ <td class="memname">#define XMP_CharToSerializeForm</td>
<td>(</td>
<td class="paramtype">cf&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td>&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td>
+ <td>&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>cf</em>&nbsp;</td><td>The character to convert. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><!-- doxytag: member="XMP_Const.h::XMP_ClearOption" ref="10c3c9b1b6e266b0b4eb6abe7b03b7d8" args="(var, opt)" -->
+</div>
+<a class="anchor" id="a10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><!-- doxytag: member="XMP_Const.h::XMP_ClearOption" ref="a10c3c9b1b6e266b0b4eb6abe7b03b7d8" args="(var, opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_ClearOption </td>
+ <td class="memname">#define XMP_ClearOption</td>
<td>(</td>
- <td class="paramtype">var, <tr>
+ <td class="paramtype">var, </td>
+ </tr>
+ <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;var &amp;= ~(opt)</td>
</tr>
@@ -1082,27 +1013,26 @@ Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>.
</div>
<div class="memdoc">
-<p>
-Macro clears an option flag bit.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro clears an option flag bit. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to clear. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="85bbf023b1b799c3c20176aa289d32b0"></a><!-- doxytag: member="XMP_Const.h::XMP_GetCharSize" ref="85bbf023b1b799c3c20176aa289d32b0" args="(f)" -->
+</div>
+<a class="anchor" id="a85bbf023b1b799c3c20176aa289d32b0"></a><!-- doxytag: member="XMP_Const.h::XMP_GetCharSize" ref="a85bbf023b1b799c3c20176aa289d32b0" args="(f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_GetCharSize </td>
+ <td class="memname">#define XMP_GetCharSize</td>
<td>(</td>
<td class="paramtype">f&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</td>
</tr>
@@ -1110,26 +1040,25 @@ Macro clears an option flag bit.
</div>
<div class="memdoc">
-<p>
-Macro reports the byte-size of a character.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the byte-size of a character. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="12870d8442720ce5230791abc26f9597"></a><!-- doxytag: member="XMP_Const.h::XMP_NodeIsSchema" ref="12870d8442720ce5230791abc26f9597" args="(opt)" -->
+</div>
+<a class="anchor" id="a12870d8442720ce5230791abc26f9597"></a><!-- doxytag: member="XMP_Const.h::XMP_NodeIsSchema" ref="a12870d8442720ce5230791abc26f9597" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_NodeIsSchema </td>
+ <td class="memname">#define XMP_NodeIsSchema</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_SchemaNode) != 0)</td>
</tr>
@@ -1137,29 +1066,30 @@ Macro reports the byte-size of a character.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="1d41f53bd1d5c88fad8322ce15e39516"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsClear" ref="1d41f53bd1d5c88fad8322ce15e39516" args="(var, opt)" -->
+</div>
+<a class="anchor" id="a1d41f53bd1d5c88fad8322ce15e39516"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsClear" ref="a1d41f53bd1d5c88fad8322ce15e39516" args="(var, opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_OptionIsClear </td>
+ <td class="memname">#define XMP_OptionIsClear</td>
<td>(</td>
- <td class="paramtype">var, <tr>
+ <td class="paramtype">var, </td>
+ </tr>
+ <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) == 0)</td>
</tr>
@@ -1167,31 +1097,32 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports whether an option flag bit is clear.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports whether an option flag bit is clear. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is clear. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the bit is clear. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ba3edaa921326c7916adb0b70b1bcfb4"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsSet" ref="ba3edaa921326c7916adb0b70b1bcfb4" args="(var, opt)" -->
+</div>
+<a class="anchor" id="aba3edaa921326c7916adb0b70b1bcfb4"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsSet" ref="aba3edaa921326c7916adb0b70b1bcfb4" args="(var, opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_OptionIsSet </td>
+ <td class="memname">#define XMP_OptionIsSet</td>
<td>(</td>
- <td class="paramtype">var, <tr>
+ <td class="paramtype">var, </td>
+ </tr>
+ <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td>
</tr>
@@ -1199,28 +1130,27 @@ Macro reports whether an option flag bit is clear.
</div>
<div class="memdoc">
-<p>
-Macro reports whether an option flag bit is set.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports whether an option flag bit is set. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="7dc82df90f45b0d746b67d8fdc529c83"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasLang" ref="7dc82df90f45b0d746b67d8fdc529c83" args="(opt)" -->
+</div>
+<a class="anchor" id="a7dc82df90f45b0d746b67d8fdc529c83"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasLang" ref="a7dc82df90f45b0d746b67d8fdc529c83" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropHasLang </td>
+ <td class="memname">#define XMP_PropHasLang</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasLang) != 0)</td>
</tr>
@@ -1228,26 +1158,25 @@ Macro reports whether an option flag bit is set.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="10828aa191aa666aa1166c27beead2a6"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasQualifiers" ref="10828aa191aa666aa1166c27beead2a6" args="(opt)" -->
+</div>
+<a class="anchor" id="a10828aa191aa666aa1166c27beead2a6"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasQualifiers" ref="a10828aa191aa666aa1166c27beead2a6" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropHasQualifiers </td>
+ <td class="memname">#define XMP_PropHasQualifiers</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasQualifiers) != 0)</td>
</tr>
@@ -1255,26 +1184,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="193b1414fa5312da2aa1d833b85612d0"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsAlias" ref="193b1414fa5312da2aa1d833b85612d0" args="(opt)" -->
+</div>
+<a class="anchor" id="a193b1414fa5312da2aa1d833b85612d0"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsAlias" ref="a193b1414fa5312da2aa1d833b85612d0" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropIsAlias </td>
+ <td class="memname">#define XMP_PropIsAlias</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsAlias) != 0)</td>
</tr>
@@ -1282,26 +1210,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="98ae521b621cfa3611211e3922a0fce8"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsArray" ref="98ae521b621cfa3611211e3922a0fce8" args="(opt)" -->
+</div>
+<a class="anchor" id="a98ae521b621cfa3611211e3922a0fce8"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsArray" ref="a98ae521b621cfa3611211e3922a0fce8" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropIsArray </td>
+ <td class="memname">#define XMP_PropIsArray</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsArray) != 0)</td>
</tr>
@@ -1309,26 +1236,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsQualifier" ref="8d1b4da6b3cb3a67bf4f8e79352eeeaa" args="(opt)" -->
+</div>
+<a class="anchor" id="a8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsQualifier" ref="a8d1b4da6b3cb3a67bf4f8e79352eeeaa" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropIsQualifier </td>
+ <td class="memname">#define XMP_PropIsQualifier</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsQualifier) != 0)</td>
</tr>
@@ -1336,26 +1262,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="510b75338bd488ddd8d9bd4e326806f9"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsSimple" ref="510b75338bd488ddd8d9bd4e326806f9" args="(opt)" -->
+</div>
+<a class="anchor" id="a510b75338bd488ddd8d9bd4e326806f9"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsSimple" ref="a510b75338bd488ddd8d9bd4e326806f9" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropIsSimple </td>
+ <td class="memname">#define XMP_PropIsSimple</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropCompositeMask) == 0)</td>
</tr>
@@ -1363,26 +1288,25 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="ebea8c35e09da7db613e27d0e3ce945f"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsStruct" ref="ebea8c35e09da7db613e27d0e3ce945f" args="(opt)" -->
+</div>
+<a class="anchor" id="aebea8c35e09da7db613e27d0e3ce945f"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsStruct" ref="aebea8c35e09da7db613e27d0e3ce945f" args="(opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_PropIsStruct </td>
+ <td class="memname">#define XMP_PropIsStruct</td>
<td>(</td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsStruct) != 0)</td>
</tr>
@@ -1390,29 +1314,30 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro reports the property type specified by an options flag.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports the property type specified by an options flag. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="69c4d1b80c4dd581366e0c60209ef612"></a><!-- doxytag: member="XMP_Const.h::XMP_SetOption" ref="69c4d1b80c4dd581366e0c60209ef612" args="(var, opt)" -->
+</div>
+<a class="anchor" id="a69c4d1b80c4dd581366e0c60209ef612"></a><!-- doxytag: member="XMP_Const.h::XMP_SetOption" ref="a69c4d1b80c4dd581366e0c60209ef612" args="(var, opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_SetOption </td>
+ <td class="memname">#define XMP_SetOption</td>
<td>(</td>
- <td class="paramtype">var, <tr>
+ <td class="paramtype">var, </td>
+ </tr>
+ <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;var |= (opt)</td>
</tr>
@@ -1420,30 +1345,31 @@ Macro reports the property type specified by an options flag.
</div>
<div class="memdoc">
-<p>
-Macro sets an option flag bit.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro sets an option flag bit. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to set. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="a31596e850cb6b208f5920833d67b9f1"></a><!-- doxytag: member="XMP_Const.h::XMP_TestOption" ref="a31596e850cb6b208f5920833d67b9f1" args="(var, opt)" -->
+</div>
+<a class="anchor" id="aa31596e850cb6b208f5920833d67b9f1"></a><!-- doxytag: member="XMP_Const.h::XMP_TestOption" ref="aa31596e850cb6b208f5920833d67b9f1" args="(var, opt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">#define XMP_TestOption </td>
+ <td class="memname">#define XMP_TestOption</td>
<td>(</td>
- <td class="paramtype">var, <tr>
+ <td class="paramtype">var, </td>
+ </tr>
+ <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">opt&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td>
</tr>
@@ -1451,934 +1377,1038 @@ Macro sets an option flag bit.
</div>
<div class="memdoc">
-<p>
-Macro reports whether an option flag bit is set.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Macro reports whether an option flag bit is set. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
</div>
-</div><p>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="a2738ce2fca7f1809b12834b1b5e2d0e"></a><!-- doxytag: member="XMP_Const.h::XMP_AbortProc" ref="a2738ce2fca7f1809b12834b1b5e2d0e" args=")(void *arg)" -->
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aa2738ce2fca7f1809b12834b1b5e2d0e"></a><!-- doxytag: member="XMP_Const.h::XMP_AbortProc" ref="aa2738ce2fca7f1809b12834b1b5e2d0e" args=")(void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef bool(* <a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>)(void *arg) </td>
+ <td class="memname">typedef bool(* <a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>)(void *arg)</td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>A pointer to caller-defined data passed from the registration call.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True to abort the current operation, which results in an exception being thrown.</dd></dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">TXMPFiles::SetAbortProc()</a></code> </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True to abort the current operation, which results in an exception being thrown.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">TXMPFiles::SetAbortProc()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="05b81829c04746826f4f85fbac76e3dd"></a><!-- doxytag: member="XMP_Const.h::XMP_Status" ref="05b81829c04746826f4f85fbac76e3dd" args="" -->
+</div>
+<a class="anchor" id="a05b81829c04746826f4f85fbac76e3dd"></a><!-- doxytag: member="XMP_Const.h::XMP_Status" ref="a05b81829c04746826f4f85fbac76e3dd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef XMP_Int32 <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> </td>
+ <td class="memname">typedef XMP_Int32 <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>A signed 32-bit integer used as a status result for the output callback routine, <code>XMP_TextOutputProc</code>. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1. </p>
-<p>
-A signed 32-bit integer used as a status result for the output callback routine, <code>XMP_TextOutputProc</code>. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1.
</div>
-</div><p>
-<a class="anchor" name="8ce3570e6e5ac14cd603e96fa9d2936f"></a><!-- doxytag: member="XMP_Const.h::XMP_TextOutputProc" ref="8ce3570e6e5ac14cd603e96fa9d2936f" args=")(void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)" -->
+</div>
+<a class="anchor" id="a8ce3570e6e5ac14cd603e96fa9d2936f"></a><!-- doxytag: member="XMP_Const.h::XMP_TextOutputProc" ref="a8ce3570e6e5ac14cd603e96fa9d2936f" args=")(void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(* <a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>)(void *refCon, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize) </td>
+ <td class="memname">typedef <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(* <a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>)(void *refCon, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize)</td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-The signature of a client-defined callback for text output from XMP Toolkit debugging operations. The callback is invoked one or more times for each line of output. The end of a line is signaled by a '\n' character at the end of the buffer. Formatting newlines are never present in the middle of a buffer, but values of properties might contain any UTF-8 characters.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>The signature of a client-defined callback for text output from XMP Toolkit debugging operations. The callback is invoked one or more times for each line of output. The end of a line is signaled by a '\n' character at the end of the buffer. Formatting newlines are never present in the middle of a buffer, but values of properties might contain any UTF-8 characters.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>refCon</em>&nbsp;</td><td>A pointer to client-defined data passed to the TextOutputProc.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A string containing one line of output.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>bufferSize</em>&nbsp;</td><td>The number of characters in the output buffer.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A success/fail status value. Any failure result aborts the output.</dd></dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code> </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A success/fail status value. Any failure result aborts the output.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="b516453dd7d906e911f8951983cde5f1"></a><!-- doxytag: member="XMP_Const.h::XMPDocOpsRef" ref="b516453dd7d906e911f8951983cde5f1" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct __XMPDocOps__* <a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See <code>TXMPDocOps</code>.
</div>
-</div><p>
-<a class="anchor" name="a4bca98ad67d7a62c60cb13dbbab0f25"></a><!-- doxytag: member="XMP_Const.h::XMPFilesRef" ref="a4bca98ad67d7a62c60cb13dbbab0f25" args="" -->
+<a class="anchor" id="ab516453dd7d906e911f8951983cde5f1"></a><!-- doxytag: member="XMP_Const.h::XMPDocOpsRef" ref="ab516453dd7d906e911f8951983cde5f1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef struct __XMPFiles__* <a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> </td>
+ <td class="memname">typedef struct __XMPDocOps__* <a class="el" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See <code>TXMPDocOps</code>. </p>
-<p>
-An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.
</div>
-</div><p>
-<a class="anchor" name="6ade57a30fb1e40d6aa9695c440fc3d2"></a><!-- doxytag: member="XMP_Const.h::XMPIteratorRef" ref="6ade57a30fb1e40d6aa9695c440fc3d2" args="" -->
+</div>
+<a class="anchor" id="aa4bca98ad67d7a62c60cb13dbbab0f25"></a><!-- doxytag: member="XMP_Const.h::XMPFilesRef" ref="aa4bca98ad67d7a62c60cb13dbbab0f25" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef struct __XMPIterator__* <a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a> </td>
+ <td class="memname">typedef struct __XMPFiles__* <a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>. </p>
-<p>
-An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>.
</div>
-</div><p>
-<a class="anchor" name="549d5e2cbcb58302d3df840a0205283e"></a><!-- doxytag: member="XMP_Const.h::XMPMetaRef" ref="549d5e2cbcb58302d3df840a0205283e" args="" -->
+</div>
+<a class="anchor" id="a6ade57a30fb1e40d6aa9695c440fc3d2"></a><!-- doxytag: member="XMP_Const.h::XMPIteratorRef" ref="a6ade57a30fb1e40d6aa9695c440fc3d2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef struct __XMPMeta__* <a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> </td>
+ <td class="memname">typedef struct __XMPIterator__* <a class="el" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>. </p>
-<p>
-An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See <code><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code>.
</div>
-</div><p>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="XMP_Const.h::@0" ref="06fc87d81c62e9abb8790b6e5713c55b" args="" -->
+</div>
+<a class="anchor" id="a549d5e2cbcb58302d3df840a0205283e"></a><!-- doxytag: member="XMP_Const.h::XMPMetaRef" ref="a549d5e2cbcb58302d3df840a0205283e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">typedef struct __XMPMeta__* <a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See <code><a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code>. </p>
-<p>
-Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes and values are true (non-zero), the no value is false (zero). <dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e"></a><!-- doxytag: member="kXMPTS_Yes" ref="06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e" args="" -->kXMPTS_Yes</em>&nbsp;</td><td>
-The part or parts have definitely changed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90"></a><!-- doxytag: member="kXMPTS_No" ref="06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90" args="" -->kXMPTS_No</em>&nbsp;</td><td>
-The part or parts have definitely not changed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584"></a><!-- doxytag: member="kXMPTS_Maybe" ref="06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584" args="" -->kXMPTS_Maybe</em>&nbsp;</td><td>
-The part or parts might, or might not, have changed. </td></tr>
-</table>
-</dl>
-
</div>
-</div><p>
-<a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="XMP_Const.h::@1" ref="df764cbdea00d65edcd07bb9953ad2b7" args="" -->
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="XMP_Const.h::@0" ref="a06fc87d81c62e9abb8790b6e5713c55b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-Constant values for <code><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime::tzSign</a></code> field.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801"></a><!-- doxytag: member="kXMP_TimeWestOfUTC" ref="df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801" args="" -->kXMP_TimeWestOfUTC</em>&nbsp;</td><td>
-Time zone is west of UTC. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13"></a><!-- doxytag: member="kXMP_TimeIsUTC" ref="df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13" args="" -->kXMP_TimeIsUTC</em>&nbsp;</td><td>
-UTC time. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec"></a><!-- doxytag: member="kXMP_TimeEastOfUTC" ref="df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec" args="" -->kXMP_TimeEastOfUTC</em>&nbsp;</td><td>
-Time zone is east of UTC. </td></tr>
+<p>Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes and values are true (non-zero), the no value is false (zero). </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e"></a><!-- doxytag: member="kXMPTS_Yes" ref="a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e" args="" -->kXMPTS_Yes</em>&nbsp;</td><td>
+<p>The part or parts have definitely changed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90"></a><!-- doxytag: member="kXMPTS_No" ref="a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90" args="" -->kXMPTS_No</em>&nbsp;</td><td>
+<p>The part or parts have definitely not changed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584"></a><!-- doxytag: member="kXMPTS_Maybe" ref="a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584" args="" -->kXMPTS_Maybe</em>&nbsp;</td><td>
+<p>The part or parts might, or might not, have changed. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="385c44f6fb256e5716a2302a5b940388"></a><!-- doxytag: member="XMP_Const.h::@10" ref="385c44f6fb256e5716a2302a5b940388" args="" -->
+</div>
+<a class="anchor" id="adf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="XMP_Const.h::@1" ref="adf764cbdea00d65edcd07bb9953ad2b7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-File format constants for use with XMPFiles.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb"></a><!-- doxytag: member="kXMP_PDFFile" ref="385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" args="" -->kXMP_PDFFile</em>&nbsp;</td><td>
-Public file format constant: 'PDF '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70"></a><!-- doxytag: member="kXMP_PostScriptFile" ref="385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70" args="" -->kXMP_PostScriptFile</em>&nbsp;</td><td>
-Public file format constant: 'PS ', general PostScript following DSC conventions. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e"></a><!-- doxytag: member="kXMP_EPSFile" ref="385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e" args="" -->kXMP_EPSFile</em>&nbsp;</td><td>
-Public file format constant: 'EPS ', encapsulated PostScript. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487"></a><!-- doxytag: member="kXMP_JPEGFile" ref="385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487" args="" -->kXMP_JPEGFile</em>&nbsp;</td><td>
-Public file format constant: 'JPEG'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d"></a><!-- doxytag: member="kXMP_JPEG2KFile" ref="385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d" args="" -->kXMP_JPEG2KFile</em>&nbsp;</td><td>
-Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08"></a><!-- doxytag: member="kXMP_TIFFFile" ref="385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08" args="" -->kXMP_TIFFFile</em>&nbsp;</td><td>
-Public file format constant: 'TIFF'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06"></a><!-- doxytag: member="kXMP_GIFFile" ref="385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06" args="" -->kXMP_GIFFile</em>&nbsp;</td><td>
-Public file format constant: 'GIF '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371"></a><!-- doxytag: member="kXMP_PNGFile" ref="385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371" args="" -->kXMP_PNGFile</em>&nbsp;</td><td>
-Public file format constant: 'PNG '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597"></a><!-- doxytag: member="kXMP_SWFFile" ref="385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597" args="" -->kXMP_SWFFile</em>&nbsp;</td><td>
-Public file format constant: 'SWF '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9"></a><!-- doxytag: member="kXMP_FLAFile" ref="385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9" args="" -->kXMP_FLAFile</em>&nbsp;</td><td>
-Public file format constant: 'FLA '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f"></a><!-- doxytag: member="kXMP_FLVFile" ref="385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f" args="" -->kXMP_FLVFile</em>&nbsp;</td><td>
-Public file format constant: 'FLV '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37"></a><!-- doxytag: member="kXMP_MOVFile" ref="385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37" args="" -->kXMP_MOVFile</em>&nbsp;</td><td>
-Public file format constant: 'MOV ', Quicktime. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e"></a><!-- doxytag: member="kXMP_AVIFile" ref="385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e" args="" -->kXMP_AVIFile</em>&nbsp;</td><td>
-Public file format constant: 'AVI '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb"></a><!-- doxytag: member="kXMP_CINFile" ref="385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb" args="" -->kXMP_CINFile</em>&nbsp;</td><td>
-Public file format constant: 'CIN ', Cineon. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8"></a><!-- doxytag: member="kXMP_WAVFile" ref="385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8" args="" -->kXMP_WAVFile</em>&nbsp;</td><td>
-Public file format constant: 'WAV '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b"></a><!-- doxytag: member="kXMP_MP3File" ref="385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b" args="" -->kXMP_MP3File</em>&nbsp;</td><td>
-Public file format constant: 'MP3 '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9"></a><!-- doxytag: member="kXMP_SESFile" ref="385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9" args="" -->kXMP_SESFile</em>&nbsp;</td><td>
-Public file format constant: 'SES ', Audition session. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789"></a><!-- doxytag: member="kXMP_CELFile" ref="385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789" args="" -->kXMP_CELFile</em>&nbsp;</td><td>
-Public file format constant: 'CEL ', Audition loop. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8"></a><!-- doxytag: member="kXMP_MPEGFile" ref="385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8" args="" -->kXMP_MPEGFile</em>&nbsp;</td><td>
-Public file format constant: 'MPEG'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a"></a><!-- doxytag: member="kXMP_MPEG2File" ref="385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a" args="" -->kXMP_MPEG2File</em>&nbsp;</td><td>
-Public file format constant: 'MP2 '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91"></a><!-- doxytag: member="kXMP_MPEG4File" ref="385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91" args="" -->kXMP_MPEG4File</em>&nbsp;</td><td>
-Public file format constant: 'MP4 ', ISO 14494-12 and -14. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622"></a><!-- doxytag: member="kXMP_WMAVFile" ref="385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622" args="" -->kXMP_WMAVFile</em>&nbsp;</td><td>
-Public file format constant: 'WMAV', Windows Media Audio and Video. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3"></a><!-- doxytag: member="kXMP_AIFFFile" ref="385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3" args="" -->kXMP_AIFFFile</em>&nbsp;</td><td>
-Public file format constant: 'AIFF'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34"></a><!-- doxytag: member="kXMP_P2File" ref="385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34" args="" -->kXMP_P2File</em>&nbsp;</td><td>
-Public file format constant: 'P2 ', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57"></a><!-- doxytag: member="kXMP_XDCAM_FAMFile" ref="385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57" args="" -->kXMP_XDCAM_FAMFile</em>&nbsp;</td><td>
-Public file format constant: 'XDCF', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852"></a><!-- doxytag: member="kXMP_XDCAM_SAMFile" ref="385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852" args="" -->kXMP_XDCAM_SAMFile</em>&nbsp;</td><td>
-Public file format constant: 'XDCS', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc"></a><!-- doxytag: member="kXMP_XDCAM_EXFile" ref="385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc" args="" -->kXMP_XDCAM_EXFile</em>&nbsp;</td><td>
-Public file format constant: 'XDCX', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2"></a><!-- doxytag: member="kXMP_AVCHDFile" ref="385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2" args="" -->kXMP_AVCHDFile</em>&nbsp;</td><td>
-Public file format constant: 'AVHD', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e"></a><!-- doxytag: member="kXMP_SonyHDVFile" ref="385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e" args="" -->kXMP_SonyHDVFile</em>&nbsp;</td><td>
-Public file format constant: 'SHDV', a collection not really a single file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760"></a><!-- doxytag: member="kXMP_HTMLFile" ref="385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760" args="" -->kXMP_HTMLFile</em>&nbsp;</td><td>
-Public file format constant: 'HTML'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124"></a><!-- doxytag: member="kXMP_XMLFile" ref="385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124" args="" -->kXMP_XMLFile</em>&nbsp;</td><td>
-Public file format constant: 'XML '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd"></a><!-- doxytag: member="kXMP_TextFile" ref="385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd" args="" -->kXMP_TextFile</em>&nbsp;</td><td>
-Public file format constant: 'text'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c"></a><!-- doxytag: member="kXMP_PhotoshopFile" ref="385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c" args="" -->kXMP_PhotoshopFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'PSD '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554"></a><!-- doxytag: member="kXMP_IllustratorFile" ref="385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554" args="" -->kXMP_IllustratorFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'AI '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60"></a><!-- doxytag: member="kXMP_InDesignFile" ref="385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60" args="" -->kXMP_InDesignFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'INDD'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e"></a><!-- doxytag: member="kXMP_AEProjectFile" ref="385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e" args="" -->kXMP_AEProjectFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'AEP '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df"></a><!-- doxytag: member="kXMP_AEProjTemplateFile" ref="385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df" args="" -->kXMP_AEProjTemplateFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'AET ', After Effects Project Template. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0"></a><!-- doxytag: member="kXMP_AEFilterPresetFile" ref="385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0" args="" -->kXMP_AEFilterPresetFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'FFX '. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a"></a><!-- doxytag: member="kXMP_EncoreProjectFile" ref="385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a" args="" -->kXMP_EncoreProjectFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'NCOR'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d"></a><!-- doxytag: member="kXMP_PremiereProjectFile" ref="385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d" args="" -->kXMP_PremiereProjectFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'PRPJ'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a"></a><!-- doxytag: member="kXMP_PremiereTitleFile" ref="385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a" args="" -->kXMP_PremiereTitleFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'PRTL'. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96"></a><!-- doxytag: member="kXMP_UCFFile" ref="385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96" args="" -->kXMP_UCFFile</em>&nbsp;</td><td>
-Adobe application file format constant: 'UCF ', Universal Container Format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719"></a><!-- doxytag: member="kXMP_UnknownFile" ref="385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" args="" -->kXMP_UnknownFile</em>&nbsp;</td><td>
-Unknown file format constant: ' '. </td></tr>
+<p>Constant values for <code><a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">XMP_DateTime::tzSign</a></code> field. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801"></a><!-- doxytag: member="kXMP_TimeWestOfUTC" ref="adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801" args="" -->kXMP_TimeWestOfUTC</em>&nbsp;</td><td>
+<p>Time zone is west of UTC. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13"></a><!-- doxytag: member="kXMP_TimeIsUTC" ref="adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13" args="" -->kXMP_TimeIsUTC</em>&nbsp;</td><td>
+<p>UTC time. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec"></a><!-- doxytag: member="kXMP_TimeEastOfUTC" ref="adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec" args="" -->kXMP_TimeEastOfUTC</em>&nbsp;</td><td>
+<p>Time zone is east of UTC. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8"></a><!-- doxytag: member="XMP_Const.h::@12" ref="c36f475ca5b446f4fde4c9b90bec77c8" args="" -->
+</div>
+<a class="anchor" id="a385c44f6fb256e5716a2302a5b940388"></a><!-- doxytag: member="XMP_Const.h::@10" ref="a385c44f6fb256e5716a2302a5b940388" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Constants to allow easy testing for 16/32 bit and big/little endian.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637"></a><!-- doxytag: member="kXMP_Char8Bit" ref="c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637" args="" -->kXMP_Char8Bit</em>&nbsp;</td><td>
-8-bit </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d"></a><!-- doxytag: member="kXMP_Char16BitBig" ref="c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d" args="" -->kXMP_Char16BitBig</em>&nbsp;</td><td>
-16-bit big-endian </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa"></a><!-- doxytag: member="kXMP_Char16BitLittle" ref="c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa" args="" -->kXMP_Char16BitLittle</em>&nbsp;</td><td>
-16-bit little-endian </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc"></a><!-- doxytag: member="kXMP_Char32BitBig" ref="c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc" args="" -->kXMP_Char32BitBig</em>&nbsp;</td><td>
-32-bit big-endian </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e"></a><!-- doxytag: member="kXMP_Char32BitLittle" ref="c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e" args="" -->kXMP_Char32BitLittle</em>&nbsp;</td><td>
-32-bit little-endian </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b"></a><!-- doxytag: member="kXMP_CharUnknown" ref="c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b" args="" -->kXMP_CharUnknown</em>&nbsp;</td><td>
-Variable or not-yet-known cases. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code>TXMPUtils::AppendProperties()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb"></a><!-- doxytag: member="kXMPUtil_DoAllProperties" ref="a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" args="" -->kXMPUtil_DoAllProperties</em>&nbsp;</td><td>
+<p>Do all properties, default is just external properties. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962"></a><!-- doxytag: member="kXMPUtil_ReplaceOldValues" ref="a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962" args="" -->kXMPUtil_ReplaceOldValues</em>&nbsp;</td><td>
+<p>Replace existing values, default is to leave them. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9"></a><!-- doxytag: member="kXMPUtil_DeleteEmptyValues" ref="a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9" args="" -->kXMPUtil_DeleteEmptyValues</em>&nbsp;</td><td>
+<p>Delete properties if the new value is empty. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b"></a><!-- doxytag: member="kXMPUtil_IncludeAliases" ref="a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b" args="" -->kXMPUtil_IncludeAliases</em>&nbsp;</td><td>
+<p>Include aliases, default is just actual properties. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="05589fbab0657f08285ebdfe93f5ec9e"></a><!-- doxytag: member="XMP_Const.h::@13" ref="05589fbab0657f08285ebdfe93f5ec9e" args="" -->
+</div>
+<a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035d"></a><!-- doxytag: member="XMP_Const.h::@11" ref="abc5c98fcc1211af2b80116dd6e0a035d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817"></a><!-- doxytag: member="kXMP_PacketInfoVersion" ref="05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817" args="" -->kXMP_PacketInfoVersion</em>&nbsp;</td><td>
-Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. </td></tr>
+<p>File format constants for use with XMPFiles. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb"></a><!-- doxytag: member="kXMP_PDFFile" ref="abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb" args="" -->kXMP_PDFFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'PDF '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70"></a><!-- doxytag: member="kXMP_PostScriptFile" ref="abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70" args="" -->kXMP_PostScriptFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'PS ', general PostScript following DSC conventions. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e"></a><!-- doxytag: member="kXMP_EPSFile" ref="abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e" args="" -->kXMP_EPSFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'EPS ', encapsulated PostScript. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487"></a><!-- doxytag: member="kXMP_JPEGFile" ref="abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487" args="" -->kXMP_JPEGFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'JPEG'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d"></a><!-- doxytag: member="kXMP_JPEG2KFile" ref="abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d" args="" -->kXMP_JPEG2KFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08"></a><!-- doxytag: member="kXMP_TIFFFile" ref="abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08" args="" -->kXMP_TIFFFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'TIFF'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06"></a><!-- doxytag: member="kXMP_GIFFile" ref="abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06" args="" -->kXMP_GIFFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'GIF '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371"></a><!-- doxytag: member="kXMP_PNGFile" ref="abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371" args="" -->kXMP_PNGFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'PNG '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597"></a><!-- doxytag: member="kXMP_SWFFile" ref="abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597" args="" -->kXMP_SWFFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'SWF '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9"></a><!-- doxytag: member="kXMP_FLAFile" ref="abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9" args="" -->kXMP_FLAFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'FLA '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f"></a><!-- doxytag: member="kXMP_FLVFile" ref="abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f" args="" -->kXMP_FLVFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'FLV '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37"></a><!-- doxytag: member="kXMP_MOVFile" ref="abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37" args="" -->kXMP_MOVFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'MOV ', Quicktime. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e"></a><!-- doxytag: member="kXMP_AVIFile" ref="abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e" args="" -->kXMP_AVIFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'AVI '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb"></a><!-- doxytag: member="kXMP_CINFile" ref="abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb" args="" -->kXMP_CINFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'CIN ', Cineon. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8"></a><!-- doxytag: member="kXMP_WAVFile" ref="abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8" args="" -->kXMP_WAVFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'WAV '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b"></a><!-- doxytag: member="kXMP_MP3File" ref="abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b" args="" -->kXMP_MP3File</em>&nbsp;</td><td>
+<p>Public file format constant: 'MP3 '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9"></a><!-- doxytag: member="kXMP_SESFile" ref="abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9" args="" -->kXMP_SESFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'SES ', Audition session. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789"></a><!-- doxytag: member="kXMP_CELFile" ref="abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789" args="" -->kXMP_CELFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'CEL ', Audition loop. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8"></a><!-- doxytag: member="kXMP_MPEGFile" ref="abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8" args="" -->kXMP_MPEGFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'MPEG'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a"></a><!-- doxytag: member="kXMP_MPEG2File" ref="abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a" args="" -->kXMP_MPEG2File</em>&nbsp;</td><td>
+<p>Public file format constant: 'MP2 '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91"></a><!-- doxytag: member="kXMP_MPEG4File" ref="abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91" args="" -->kXMP_MPEG4File</em>&nbsp;</td><td>
+<p>Public file format constant: 'MP4 ', ISO 14494-12 and -14. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622"></a><!-- doxytag: member="kXMP_WMAVFile" ref="abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622" args="" -->kXMP_WMAVFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'WMAV', Windows Media Audio and Video. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3"></a><!-- doxytag: member="kXMP_AIFFFile" ref="abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3" args="" -->kXMP_AIFFFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'AIFF'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34"></a><!-- doxytag: member="kXMP_P2File" ref="abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34" args="" -->kXMP_P2File</em>&nbsp;</td><td>
+<p>Public file format constant: 'P2 ', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57"></a><!-- doxytag: member="kXMP_XDCAM_FAMFile" ref="abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57" args="" -->kXMP_XDCAM_FAMFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'XDCF', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852"></a><!-- doxytag: member="kXMP_XDCAM_SAMFile" ref="abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852" args="" -->kXMP_XDCAM_SAMFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'XDCS', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc"></a><!-- doxytag: member="kXMP_XDCAM_EXFile" ref="abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc" args="" -->kXMP_XDCAM_EXFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'XDCX', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2"></a><!-- doxytag: member="kXMP_AVCHDFile" ref="abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2" args="" -->kXMP_AVCHDFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'AVHD', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e"></a><!-- doxytag: member="kXMP_SonyHDVFile" ref="abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e" args="" -->kXMP_SonyHDVFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'SHDV', a collection not really a single file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760"></a><!-- doxytag: member="kXMP_HTMLFile" ref="abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760" args="" -->kXMP_HTMLFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'HTML'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124"></a><!-- doxytag: member="kXMP_XMLFile" ref="abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124" args="" -->kXMP_XMLFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'XML '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd"></a><!-- doxytag: member="kXMP_TextFile" ref="abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd" args="" -->kXMP_TextFile</em>&nbsp;</td><td>
+<p>Public file format constant: 'text'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c"></a><!-- doxytag: member="kXMP_PhotoshopFile" ref="abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c" args="" -->kXMP_PhotoshopFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'PSD '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554"></a><!-- doxytag: member="kXMP_IllustratorFile" ref="abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554" args="" -->kXMP_IllustratorFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'AI '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60"></a><!-- doxytag: member="kXMP_InDesignFile" ref="abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60" args="" -->kXMP_InDesignFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'INDD'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e"></a><!-- doxytag: member="kXMP_AEProjectFile" ref="abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e" args="" -->kXMP_AEProjectFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'AEP '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df"></a><!-- doxytag: member="kXMP_AEProjTemplateFile" ref="abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df" args="" -->kXMP_AEProjTemplateFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'AET ', After Effects Project Template. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0"></a><!-- doxytag: member="kXMP_AEFilterPresetFile" ref="abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0" args="" -->kXMP_AEFilterPresetFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'FFX '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a"></a><!-- doxytag: member="kXMP_EncoreProjectFile" ref="abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a" args="" -->kXMP_EncoreProjectFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'NCOR'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d"></a><!-- doxytag: member="kXMP_PremiereProjectFile" ref="abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d" args="" -->kXMP_PremiereProjectFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'PRPJ'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a"></a><!-- doxytag: member="kXMP_PremiereTitleFile" ref="abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a" args="" -->kXMP_PremiereTitleFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'PRTL'. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96"></a><!-- doxytag: member="kXMP_UCFFile" ref="abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96" args="" -->kXMP_UCFFile</em>&nbsp;</td><td>
+<p>Adobe application file format constant: 'UCF ', Universal Container Format. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719"></a><!-- doxytag: member="kXMP_UnknownFile" ref="abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" args="" -->kXMP_UnknownFile</em>&nbsp;</td><td>
+<p>Unknown file format constant: ' '. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d"></a><!-- doxytag: member="XMP_Const.h::@14" ref="16af7b253440dadd46a80a4b9fddba4d" args="" -->
+</div>
+<a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9e"></a><!-- doxytag: member="XMP_Const.h::@13" ref="a05589fbab0657f08285ebdfe93f5ec9e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Values for <code><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">XMP_ThumbnailInfo::tnailFormat</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6"></a><!-- doxytag: member="kXMP_UnknownTNail" ref="16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" args="" -->kXMP_UnknownTNail</em>&nbsp;</td><td>
-The thumbnail data has an unknown format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321"></a><!-- doxytag: member="kXMP_JPEGTNail" ref="16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321" args="" -->kXMP_JPEGTNail</em>&nbsp;</td><td>
-The thumbnail data is a JPEG stream, presumably compressed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951"></a><!-- doxytag: member="kXMP_TIFFTNail" ref="16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951" args="" -->kXMP_TIFFTNail</em>&nbsp;</td><td>
-The thumbnail data is a TIFF stream, presumably uncompressed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab"></a><!-- doxytag: member="kXMP_PShopTNail" ref="16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab" args="" -->kXMP_PShopTNail</em>&nbsp;</td><td>
-The thumbnail data is in the format of Photoshop Image Resource 1036. </td></tr>
+<p>Constants to allow easy testing for 16/32 bit and big/little endian. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637"></a><!-- doxytag: member="kXMP_Char8Bit" ref="a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637" args="" -->kXMP_Char8Bit</em>&nbsp;</td><td>
+<p>8-bit </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d"></a><!-- doxytag: member="kXMP_Char16BitBig" ref="a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d" args="" -->kXMP_Char16BitBig</em>&nbsp;</td><td>
+<p>16-bit big-endian </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa"></a><!-- doxytag: member="kXMP_Char16BitLittle" ref="a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa" args="" -->kXMP_Char16BitLittle</em>&nbsp;</td><td>
+<p>16-bit little-endian </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc"></a><!-- doxytag: member="kXMP_Char32BitBig" ref="a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc" args="" -->kXMP_Char32BitBig</em>&nbsp;</td><td>
+<p>32-bit big-endian </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e"></a><!-- doxytag: member="kXMP_Char32BitLittle" ref="a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e" args="" -->kXMP_Char32BitLittle</em>&nbsp;</td><td>
+<p>32-bit little-endian </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b"></a><!-- doxytag: member="kXMP_CharUnknown" ref="a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b" args="" -->kXMP_CharUnknown</em>&nbsp;</td><td>
+<p>Variable or not-yet-known cases. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="ba01db17f4a2bfbc3db60dc172972a25"></a><!-- doxytag: member="XMP_Const.h::@15" ref="ba01db17f4a2bfbc3db60dc172972a25" args="" -->
+</div>
+<a class="anchor" id="a16af7b253440dadd46a80a4b9fddba4d"></a><!-- doxytag: member="XMP_Const.h::@14" ref="a16af7b253440dadd46a80a4b9fddba4d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be"></a><!-- doxytag: member="kXMP_ThumbnailInfoVersion" ref="ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be" args="" -->kXMP_ThumbnailInfoVersion</em>&nbsp;</td><td>
-Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type. </td></tr>
+<p>Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817"></a><!-- doxytag: member="kXMP_PacketInfoVersion" ref="a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817" args="" -->kXMP_PacketInfoVersion</em>&nbsp;</td><td>
+<p>Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="af105ae5beaca1dee30ae54530691fce"></a><!-- doxytag: member="XMP_Const.h::@16" ref="af105ae5beaca1dee30ae54530691fce" args="" -->
+</div>
+<a class="anchor" id="aba01db17f4a2bfbc3db60dc172972a25"></a><!-- doxytag: member="XMP_Const.h::@15" ref="aba01db17f4a2bfbc3db60dc172972a25" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9"></a><!-- doxytag: member="kXMPFiles_NoQuickTimeInit" ref="af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9" args="" -->kXMPFiles_NoQuickTimeInit</em>&nbsp;</td><td>
-Do not initialize QuickTime, the client will. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50"></a><!-- doxytag: member="kXMPFiles_IgnoreLocalText" ref="aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50" args="" -->kXMPFiles_IgnoreLocalText</em>&nbsp;</td><td>
+<p>Ignore non-XMP text that uses an undefined "local" encoding. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145"></a><!-- doxytag: member="kXMPFiles_ServerMode" ref="aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145" args="" -->kXMPFiles_ServerMode</em>&nbsp;</td><td>
+<p>Combination of flags necessary for server products using XMPFiles. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="80155586fa275b28773c9b203f52caba"></a><!-- doxytag: member="XMP_Const.h::@17" ref="80155586fa275b28773c9b203f52caba" args="" -->
+</div>
+<a class="anchor" id="aaf105ae5beaca1dee30ae54530691fce"></a><!-- doxytag: member="XMP_Const.h::@16" ref="aaf105ae5beaca1dee30ae54530691fce" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388"></a><!-- doxytag: member="kXMPFiles_CanInjectXMP" ref="80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" args="" -->kXMPFiles_CanInjectXMP</em>&nbsp;</td><td>
-Can inject first-time XMP into an existing file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c"></a><!-- doxytag: member="kXMPFiles_CanExpand" ref="80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" args="" -->kXMPFiles_CanExpand</em>&nbsp;</td><td>
-Can expand XMP or other metadata in an existing file. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07"></a><!-- doxytag: member="kXMPFiles_CanRewrite" ref="80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" args="" -->kXMPFiles_CanRewrite</em>&nbsp;</td><td>
-Can copy one file to another, writing new metadata. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3"></a><!-- doxytag: member="kXMPFiles_PrefersInPlace" ref="80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3" args="" -->kXMPFiles_PrefersInPlace</em>&nbsp;</td><td>
-Can expand, but prefers in-place update. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694"></a><!-- doxytag: member="kXMPFiles_CanReconcile" ref="80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" args="" -->kXMPFiles_CanReconcile</em>&nbsp;</td><td>
-Supports reconciliation between XMP and other forms. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733"></a><!-- doxytag: member="kXMPFiles_AllowsOnlyXMP" ref="80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" args="" -->kXMPFiles_AllowsOnlyXMP</em>&nbsp;</td><td>
-Allows access to just the XMP, ignoring other forms. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea"></a><!-- doxytag: member="kXMPFiles_ReturnsRawPacket" ref="80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" args="" -->kXMPFiles_ReturnsRawPacket</em>&nbsp;</td><td>
-File handler returns raw XMP packet information. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09"></a><!-- doxytag: member="kXMPFiles_ReturnsTNail" ref="80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" args="" -->kXMPFiles_ReturnsTNail</em>&nbsp;</td><td>
-File handler returns native thumbnail. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4"></a><!-- doxytag: member="kXMPFiles_HandlerOwnsFile" ref="80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4" args="" -->kXMPFiles_HandlerOwnsFile</em>&nbsp;</td><td>
-The file handler does the file open and close. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd"></a><!-- doxytag: member="kXMPFiles_AllowsSafeUpdate" ref="80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd" args="" -->kXMPFiles_AllowsSafeUpdate</em>&nbsp;</td><td>
-The file handler allows crash-safe file updates. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999"></a><!-- doxytag: member="kXMPFiles_NeedsReadOnlyPacket" ref="80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999" args="" -->kXMPFiles_NeedsReadOnlyPacket</em>&nbsp;</td><td>
-The file format needs the XMP packet to be read-only. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c"></a><!-- doxytag: member="kXMPFiles_UsesSidecarXMP" ref="80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c" args="" -->kXMPFiles_UsesSidecarXMP</em>&nbsp;</td><td>
-The file handler uses a "sidecar" file for the XMP. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd"></a><!-- doxytag: member="kXMPFiles_FolderBasedFormat" ref="80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd" args="" -->kXMPFiles_FolderBasedFormat</em>&nbsp;</td><td>
-The format is folder oriented, for example the P2 video format. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388"></a><!-- doxytag: member="kXMPFiles_CanInjectXMP" ref="aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388" args="" -->kXMPFiles_CanInjectXMP</em>&nbsp;</td><td>
+<p>Can inject first-time XMP into an existing file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c"></a><!-- doxytag: member="kXMPFiles_CanExpand" ref="aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c" args="" -->kXMPFiles_CanExpand</em>&nbsp;</td><td>
+<p>Can expand XMP or other metadata in an existing file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07"></a><!-- doxytag: member="kXMPFiles_CanRewrite" ref="aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07" args="" -->kXMPFiles_CanRewrite</em>&nbsp;</td><td>
+<p>Can copy one file to another, writing new metadata. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3"></a><!-- doxytag: member="kXMPFiles_PrefersInPlace" ref="aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3" args="" -->kXMPFiles_PrefersInPlace</em>&nbsp;</td><td>
+<p>Can expand, but prefers in-place update. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694"></a><!-- doxytag: member="kXMPFiles_CanReconcile" ref="aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694" args="" -->kXMPFiles_CanReconcile</em>&nbsp;</td><td>
+<p>Supports reconciliation between XMP and other forms. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733"></a><!-- doxytag: member="kXMPFiles_AllowsOnlyXMP" ref="aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733" args="" -->kXMPFiles_AllowsOnlyXMP</em>&nbsp;</td><td>
+<p>Allows access to just the XMP, ignoring other forms. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea"></a><!-- doxytag: member="kXMPFiles_ReturnsRawPacket" ref="aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea" args="" -->kXMPFiles_ReturnsRawPacket</em>&nbsp;</td><td>
+<p>File handler returns raw XMP packet information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4"></a><!-- doxytag: member="kXMPFiles_HandlerOwnsFile" ref="aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4" args="" -->kXMPFiles_HandlerOwnsFile</em>&nbsp;</td><td>
+<p>The file handler does the file open and close. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd"></a><!-- doxytag: member="kXMPFiles_AllowsSafeUpdate" ref="aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd" args="" -->kXMPFiles_AllowsSafeUpdate</em>&nbsp;</td><td>
+<p>The file handler allows crash-safe file updates. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999"></a><!-- doxytag: member="kXMPFiles_NeedsReadOnlyPacket" ref="aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999" args="" -->kXMPFiles_NeedsReadOnlyPacket</em>&nbsp;</td><td>
+<p>The file format needs the XMP packet to be read-only. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c"></a><!-- doxytag: member="kXMPFiles_UsesSidecarXMP" ref="aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c" args="" -->kXMPFiles_UsesSidecarXMP</em>&nbsp;</td><td>
+<p>The file handler uses a "sidecar" file for the XMP. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd"></a><!-- doxytag: member="kXMPFiles_FolderBasedFormat" ref="aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd" args="" -->kXMPFiles_FolderBasedFormat</em>&nbsp;</td><td>
+<p>The format is folder oriented, for example the P2 video format. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea"></a><!-- doxytag: member="XMP_Const.h::@18" ref="6b7b47dd702d9e331586d485013fd1ea" args="" -->
+</div>
+<a class="anchor" id="a80155586fa275b28773c9b203f52caba"></a><!-- doxytag: member="XMP_Const.h::@17" ref="a80155586fa275b28773c9b203f52caba" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2"></a><!-- doxytag: member="kXMPFiles_OpenForRead" ref="6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" args="" -->kXMPFiles_OpenForRead</em>&nbsp;</td><td>
-Open for read-only access. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b"></a><!-- doxytag: member="kXMPFiles_OpenForUpdate" ref="6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" args="" -->kXMPFiles_OpenForUpdate</em>&nbsp;</td><td>
-Open for reading and writing. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96"></a><!-- doxytag: member="kXMPFiles_OpenOnlyXMP" ref="6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" args="" -->kXMPFiles_OpenOnlyXMP</em>&nbsp;</td><td>
-Only the XMP is wanted, allows space/time optimizations. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063"></a><!-- doxytag: member="kXMPFiles_OpenCacheTNail" ref="6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" args="" -->kXMPFiles_OpenCacheTNail</em>&nbsp;</td><td>
-Cache thumbnail if possible, <code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">TXMPFiles::GetThumbnail()</a></code> will be called. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18"></a><!-- doxytag: member="kXMPFiles_OpenStrictly" ref="6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" args="" -->kXMPFiles_OpenStrictly</em>&nbsp;</td><td>
-Be strict about locating XMP and reconciling with other forms. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646"></a><!-- doxytag: member="kXMPFiles_OpenUseSmartHandler" ref="6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" args="" -->kXMPFiles_OpenUseSmartHandler</em>&nbsp;</td><td>
-Require the use of a smart handler. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285"></a><!-- doxytag: member="kXMPFiles_OpenUsePacketScanning" ref="6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" args="" -->kXMPFiles_OpenUsePacketScanning</em>&nbsp;</td><td>
-Force packet scanning, do not use a smart handler. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182"></a><!-- doxytag: member="kXMPFiles_OpenLimitedScanning" ref="6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" args="" -->kXMPFiles_OpenLimitedScanning</em>&nbsp;</td><td>
-Only packet scan files "known" to need scanning. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a"></a><!-- doxytag: member="kXMPFiles_OpenRepairFile" ref="6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a" args="" -->kXMPFiles_OpenRepairFile</em>&nbsp;</td><td>
-Attempt to repair a file opened for update, default is to not open (throw an exception). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34"></a><!-- doxytag: member="kXMPFiles_OpenInBackground" ref="6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" args="" -->kXMPFiles_OpenInBackground</em>&nbsp;</td><td>
-Set if calling from background thread. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2"></a><!-- doxytag: member="kXMPFiles_OpenForRead" ref="a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" args="" -->kXMPFiles_OpenForRead</em>&nbsp;</td><td>
+<p>Open for read-only access. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b"></a><!-- doxytag: member="kXMPFiles_OpenForUpdate" ref="a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" args="" -->kXMPFiles_OpenForUpdate</em>&nbsp;</td><td>
+<p>Open for reading and writing. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96"></a><!-- doxytag: member="kXMPFiles_OpenOnlyXMP" ref="a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96" args="" -->kXMPFiles_OpenOnlyXMP</em>&nbsp;</td><td>
+<p>Only the XMP is wanted, allows space/time optimizations. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18"></a><!-- doxytag: member="kXMPFiles_OpenStrictly" ref="a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18" args="" -->kXMPFiles_OpenStrictly</em>&nbsp;</td><td>
+<p>Be strict about only attempting to use the designated file handler, no fallback to other handlers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646"></a><!-- doxytag: member="kXMPFiles_OpenUseSmartHandler" ref="a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646" args="" -->kXMPFiles_OpenUseSmartHandler</em>&nbsp;</td><td>
+<p>Require the use of a smart handler. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285"></a><!-- doxytag: member="kXMPFiles_OpenUsePacketScanning" ref="a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285" args="" -->kXMPFiles_OpenUsePacketScanning</em>&nbsp;</td><td>
+<p>Force packet scanning, do not use a smart handler. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182"></a><!-- doxytag: member="kXMPFiles_OpenLimitedScanning" ref="a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182" args="" -->kXMPFiles_OpenLimitedScanning</em>&nbsp;</td><td>
+<p>Only packet scan files "known" to need scanning. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a"></a><!-- doxytag: member="kXMPFiles_OpenRepairFile" ref="a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a" args="" -->kXMPFiles_OpenRepairFile</em>&nbsp;</td><td>
+<p>Attempt to repair a file opened for update, default is to not open (throw an exception). </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="f9bdc3014f3d54c426b6d2df10de4960"></a><!-- doxytag: member="XMP_Const.h::@19" ref="f9bdc3014f3d54c426b6d2df10de4960" args="" -->
+</div>
+<a class="anchor" id="a6b7b47dd702d9e331586d485013fd1ea"></a><!-- doxytag: member="XMP_Const.h::@18" ref="a6b7b47dd702d9e331586d485013fd1ea" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54"></a><!-- doxytag: member="kXMPFiles_UpdateSafely" ref="f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" args="" -->kXMPFiles_UpdateSafely</em>&nbsp;</td><td>
-Write into a temporary file and swap for crash safety. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54"></a><!-- doxytag: member="kXMPFiles_UpdateSafely" ref="a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54" args="" -->kXMPFiles_UpdateSafely</em>&nbsp;</td><td>
+<p>Write into a temporary file and swap for crash safety. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="XMP_Const.h::@2" ref="99fb83031ce9923c84392b4e92f956b5" args="" -->
+</div>
+<a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960"></a><!-- doxytag: member="XMP_Const.h::@19" ref="af9bdc3014f3d54c426b6d2df10de4960" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb"></a><!-- doxytag: member="kXMP_PropValueIsURI" ref="99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" args="" -->kXMP_PropValueIsURI</em>&nbsp;</td><td>
-The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159"></a><!-- doxytag: member="kXMP_PropHasQualifiers" ref="99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" args="" -->kXMP_PropHasQualifiers</em>&nbsp;</td><td>
-The property has qualifiers, includes <code>rdf:type</code> and <code>xml:lang</code>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe"></a><!-- doxytag: member="kXMP_PropIsQualifier" ref="99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe" args="" -->kXMP_PropIsQualifier</em>&nbsp;</td><td>
-This is a qualifier for some other property, includes <code>rdf:type</code> and <code>xml:lang</code>. Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217"></a><!-- doxytag: member="kXMP_PropHasLang" ref="99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217" args="" -->kXMP_PropHasLang</em>&nbsp;</td><td>
-Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>xml:lang</code>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5"></a><!-- doxytag: member="kXMP_PropHasType" ref="99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5" args="" -->kXMP_PropHasType</em>&nbsp;</td><td>
-Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>rdf:type</code>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e"></a><!-- doxytag: member="kXMP_PropValueIsStruct" ref="99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" args="" -->kXMP_PropValueIsStruct</em>&nbsp;</td><td>
-The value is a structure with nested fields. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc"></a><!-- doxytag: member="kXMP_PropValueIsArray" ref="99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc" args="" -->kXMP_PropValueIsArray</em>&nbsp;</td><td>
-The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types of array; default is a general unordered array, serialized using an <code>rdf:Bag</code> container. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0"></a><!-- doxytag: member="kXMP_PropArrayIsUnordered" ref="99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0" args="" -->kXMP_PropArrayIsUnordered</em>&nbsp;</td><td>
-The item order does not matter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04"></a><!-- doxytag: member="kXMP_PropArrayIsOrdered" ref="99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" args="" -->kXMP_PropArrayIsOrdered</em>&nbsp;</td><td>
-Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, item order matters. It is serialized using an <code>rdf:Seq</code> container. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1"></a><!-- doxytag: member="kXMP_PropArrayIsAlternate" ref="99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" args="" -->kXMP_PropArrayIsAlternate</em>&nbsp;</td><td>
-Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, items are alternates. It is serialized using an <code>rdf:Alt</code> container. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d"></a><!-- doxytag: member="kXMP_PropArrayIsAltText" ref="99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d" args="" -->kXMP_PropArrayIsAltText</em>&nbsp;</td><td>
-Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, items are localized text. Each array element is a simple property with an <code>xml:lang</code> attribute. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37"></a><!-- doxytag: member="kXMP_PropIsAlias" ref="99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37" args="" -->kXMP_PropIsAlias</em>&nbsp;</td><td>
-This property is an alias name for another property. This is only returned by <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0"></a><!-- doxytag: member="kXMP_PropHasAliases" ref="99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0" args="" -->kXMP_PropHasAliases</em>&nbsp;</td><td>
-This property is the base value (actual) for a set of aliases.This is only returned by <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464"></a><!-- doxytag: member="kXMP_PropIsInternal" ref="99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464" args="" -->kXMP_PropIsInternal</em>&nbsp;</td><td>
-The value of this property is "owned" by the application, and should not generally be editable in a UI. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c"></a><!-- doxytag: member="kXMP_PropIsStable" ref="99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c" args="" -->kXMP_PropIsStable</em>&nbsp;</td><td>
-The value of this property is not derived from the document content. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877"></a><!-- doxytag: member="kXMP_PropIsDerived" ref="99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877" args="" -->kXMP_PropIsDerived</em>&nbsp;</td><td>
-The value of this property is derived from the document content. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f"></a><!-- doxytag: member="kXMP_PropArrayFormMask" ref="99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" args="" -->kXMP_PropArrayFormMask</em>&nbsp;</td><td>
-Property type bit-flag mask for all array types. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956"></a><!-- doxytag: member="kXMP_PropCompositeMask" ref="99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956" args="" -->kXMP_PropCompositeMask</em>&nbsp;</td><td>
-Property type bit-flag mask for composite types (array and struct). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974"></a><!-- doxytag: member="kXMP_ImplReservedMask" ref="99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974" args="" -->kXMP_ImplReservedMask</em>&nbsp;</td><td>
-Mask for bits that are reserved for transient use by the implementation. </td></tr>
+<p>Exception code constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581"></a><!-- doxytag: member="kXMPErr_Unknown" ref="af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581" args="" -->kXMPErr_Unknown</em>&nbsp;</td><td>
+<p>Generic unknown error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1"></a><!-- doxytag: member="kXMPErr_TBD" ref="af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1" args="" -->kXMPErr_TBD</em>&nbsp;</td><td>
+<p>Generic undefined error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3"></a><!-- doxytag: member="kXMPErr_Unavailable" ref="af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3" args="" -->kXMPErr_Unavailable</em>&nbsp;</td><td>
+<p>Generic unavailable error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1"></a><!-- doxytag: member="kXMPErr_BadObject" ref="af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1" args="" -->kXMPErr_BadObject</em>&nbsp;</td><td>
+<p>Generic bad object error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1"></a><!-- doxytag: member="kXMPErr_BadParam" ref="af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1" args="" -->kXMPErr_BadParam</em>&nbsp;</td><td>
+<p>Generic bad parameter error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a"></a><!-- doxytag: member="kXMPErr_BadValue" ref="af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a" args="" -->kXMPErr_BadValue</em>&nbsp;</td><td>
+<p>Generic bad value error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6"></a><!-- doxytag: member="kXMPErr_AssertFailure" ref="af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6" args="" -->kXMPErr_AssertFailure</em>&nbsp;</td><td>
+<p>Generic assertion failure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b"></a><!-- doxytag: member="kXMPErr_EnforceFailure" ref="af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b" args="" -->kXMPErr_EnforceFailure</em>&nbsp;</td><td>
+<p>Generic enforcement failure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2"></a><!-- doxytag: member="kXMPErr_Unimplemented" ref="af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2" args="" -->kXMPErr_Unimplemented</em>&nbsp;</td><td>
+<p>Generic unimplemented error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0"></a><!-- doxytag: member="kXMPErr_InternalFailure" ref="af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0" args="" -->kXMPErr_InternalFailure</em>&nbsp;</td><td>
+<p>Generic internal failure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7"></a><!-- doxytag: member="kXMPErr_Deprecated" ref="af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7" args="" -->kXMPErr_Deprecated</em>&nbsp;</td><td>
+<p>Generic deprecated error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb"></a><!-- doxytag: member="kXMPErr_ExternalFailure" ref="af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb" args="" -->kXMPErr_ExternalFailure</em>&nbsp;</td><td>
+<p>Generic external failure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195"></a><!-- doxytag: member="kXMPErr_UserAbort" ref="af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195" args="" -->kXMPErr_UserAbort</em>&nbsp;</td><td>
+<p>Generic user abort error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb"></a><!-- doxytag: member="kXMPErr_StdException" ref="af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb" args="" -->kXMPErr_StdException</em>&nbsp;</td><td>
+<p>Generic standard exception. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4"></a><!-- doxytag: member="kXMPErr_UnknownException" ref="af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4" args="" -->kXMPErr_UnknownException</em>&nbsp;</td><td>
+<p>Generic unknown exception. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813"></a><!-- doxytag: member="kXMPErr_NoMemory" ref="af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813" args="" -->kXMPErr_NoMemory</em>&nbsp;</td><td>
+<p>Generic out-of-memory error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539"></a><!-- doxytag: member="kXMPErr_BadSchema" ref="af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539" args="" -->kXMPErr_BadSchema</em>&nbsp;</td><td>
+<p>Bad schema parameter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7"></a><!-- doxytag: member="kXMPErr_BadXPath" ref="af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7" args="" -->kXMPErr_BadXPath</em>&nbsp;</td><td>
+<p>Bad XPath parameter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444"></a><!-- doxytag: member="kXMPErr_BadOptions" ref="af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444" args="" -->kXMPErr_BadOptions</em>&nbsp;</td><td>
+<p>Bad options parameter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010"></a><!-- doxytag: member="kXMPErr_BadIndex" ref="af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010" args="" -->kXMPErr_BadIndex</em>&nbsp;</td><td>
+<p>Bad index parameter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9"></a><!-- doxytag: member="kXMPErr_BadIterPosition" ref="af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9" args="" -->kXMPErr_BadIterPosition</em>&nbsp;</td><td>
+<p>Bad iteration position. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8"></a><!-- doxytag: member="kXMPErr_BadParse" ref="af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8" args="" -->kXMPErr_BadParse</em>&nbsp;</td><td>
+<p>XML parsing error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9"></a><!-- doxytag: member="kXMPErr_BadSerialize" ref="af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9" args="" -->kXMPErr_BadSerialize</em>&nbsp;</td><td>
+<p>Serialization error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8"></a><!-- doxytag: member="kXMPErr_BadFileFormat" ref="af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8" args="" -->kXMPErr_BadFileFormat</em>&nbsp;</td><td>
+<p>File format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795"></a><!-- doxytag: member="kXMPErr_NoFileHandler" ref="af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795" args="" -->kXMPErr_NoFileHandler</em>&nbsp;</td><td>
+<p>No file handler found for format. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b"></a><!-- doxytag: member="kXMPErr_TooLargeForJPEG" ref="af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b" args="" -->kXMPErr_TooLargeForJPEG</em>&nbsp;</td><td>
+<p>Data too large for JPEG file format. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5"></a><!-- doxytag: member="kXMPErr_BadXML" ref="af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5" args="" -->kXMPErr_BadXML</em>&nbsp;</td><td>
+<p>XML format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e"></a><!-- doxytag: member="kXMPErr_BadRDF" ref="af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e" args="" -->kXMPErr_BadRDF</em>&nbsp;</td><td>
+<p>RDF format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821"></a><!-- doxytag: member="kXMPErr_BadXMP" ref="af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821" args="" -->kXMPErr_BadXMP</em>&nbsp;</td><td>
+<p>XMP format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179"></a><!-- doxytag: member="kXMPErr_EmptyIterator" ref="af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179" args="" -->kXMPErr_EmptyIterator</em>&nbsp;</td><td>
+<p>Empty iterator. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f"></a><!-- doxytag: member="kXMPErr_BadUnicode" ref="af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f" args="" -->kXMPErr_BadUnicode</em>&nbsp;</td><td>
+<p>Unicode error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d"></a><!-- doxytag: member="kXMPErr_BadTIFF" ref="af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d" args="" -->kXMPErr_BadTIFF</em>&nbsp;</td><td>
+<p>TIFF format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee"></a><!-- doxytag: member="kXMPErr_BadJPEG" ref="af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee" args="" -->kXMPErr_BadJPEG</em>&nbsp;</td><td>
+<p>JPEG format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d"></a><!-- doxytag: member="kXMPErr_BadPSD" ref="af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d" args="" -->kXMPErr_BadPSD</em>&nbsp;</td><td>
+<p>PSD format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3"></a><!-- doxytag: member="kXMPErr_BadPSIR" ref="af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3" args="" -->kXMPErr_BadPSIR</em>&nbsp;</td><td>
+<p>PSIR format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e"></a><!-- doxytag: member="kXMPErr_BadIPTC" ref="af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e" args="" -->kXMPErr_BadIPTC</em>&nbsp;</td><td>
+<p>IPTC format error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad"></a><!-- doxytag: member="kXMPErr_BadMPEG" ref="af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad" args="" -->kXMPErr_BadMPEG</em>&nbsp;</td><td>
+<p>MPEG format error. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409"></a><!-- doxytag: member="XMP_Const.h::@20" ref="db49720dc49f7d4e4cf9adbf2948e409" args="" -->
+</div>
+<a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="XMP_Const.h::@2" ref="a99fb83031ce9923c84392b4e92f956b5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Exception code constants.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581"></a><!-- doxytag: member="kXMPErr_Unknown" ref="db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581" args="" -->kXMPErr_Unknown</em>&nbsp;</td><td>
-Generic unknown error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1"></a><!-- doxytag: member="kXMPErr_TBD" ref="db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1" args="" -->kXMPErr_TBD</em>&nbsp;</td><td>
-Generic undefined error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3"></a><!-- doxytag: member="kXMPErr_Unavailable" ref="db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3" args="" -->kXMPErr_Unavailable</em>&nbsp;</td><td>
-Generic unavailable error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1"></a><!-- doxytag: member="kXMPErr_BadObject" ref="db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1" args="" -->kXMPErr_BadObject</em>&nbsp;</td><td>
-Generic bad object error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1"></a><!-- doxytag: member="kXMPErr_BadParam" ref="db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1" args="" -->kXMPErr_BadParam</em>&nbsp;</td><td>
-Generic bad parameter error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a"></a><!-- doxytag: member="kXMPErr_BadValue" ref="db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a" args="" -->kXMPErr_BadValue</em>&nbsp;</td><td>
-Generic bad value error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6"></a><!-- doxytag: member="kXMPErr_AssertFailure" ref="db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6" args="" -->kXMPErr_AssertFailure</em>&nbsp;</td><td>
-Generic assertion failure. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b"></a><!-- doxytag: member="kXMPErr_EnforceFailure" ref="db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b" args="" -->kXMPErr_EnforceFailure</em>&nbsp;</td><td>
-Generic enforcement failure. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2"></a><!-- doxytag: member="kXMPErr_Unimplemented" ref="db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2" args="" -->kXMPErr_Unimplemented</em>&nbsp;</td><td>
-Generic unimplemented error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0"></a><!-- doxytag: member="kXMPErr_InternalFailure" ref="db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0" args="" -->kXMPErr_InternalFailure</em>&nbsp;</td><td>
-Generic internal failure. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7"></a><!-- doxytag: member="kXMPErr_Deprecated" ref="db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7" args="" -->kXMPErr_Deprecated</em>&nbsp;</td><td>
-Generic deprecated error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb"></a><!-- doxytag: member="kXMPErr_ExternalFailure" ref="db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb" args="" -->kXMPErr_ExternalFailure</em>&nbsp;</td><td>
-Generic external failure. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195"></a><!-- doxytag: member="kXMPErr_UserAbort" ref="db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195" args="" -->kXMPErr_UserAbort</em>&nbsp;</td><td>
-Generic user abort error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb"></a><!-- doxytag: member="kXMPErr_StdException" ref="db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb" args="" -->kXMPErr_StdException</em>&nbsp;</td><td>
-Generic standard exception. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4"></a><!-- doxytag: member="kXMPErr_UnknownException" ref="db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4" args="" -->kXMPErr_UnknownException</em>&nbsp;</td><td>
-Generic unknown exception. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813"></a><!-- doxytag: member="kXMPErr_NoMemory" ref="db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813" args="" -->kXMPErr_NoMemory</em>&nbsp;</td><td>
-Generic out-of-memory error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539"></a><!-- doxytag: member="kXMPErr_BadSchema" ref="db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539" args="" -->kXMPErr_BadSchema</em>&nbsp;</td><td>
-Bad schema parameter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7"></a><!-- doxytag: member="kXMPErr_BadXPath" ref="db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7" args="" -->kXMPErr_BadXPath</em>&nbsp;</td><td>
-Bad XPath parameter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444"></a><!-- doxytag: member="kXMPErr_BadOptions" ref="db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444" args="" -->kXMPErr_BadOptions</em>&nbsp;</td><td>
-Bad options parameter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010"></a><!-- doxytag: member="kXMPErr_BadIndex" ref="db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010" args="" -->kXMPErr_BadIndex</em>&nbsp;</td><td>
-Bad index parameter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9"></a><!-- doxytag: member="kXMPErr_BadIterPosition" ref="db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9" args="" -->kXMPErr_BadIterPosition</em>&nbsp;</td><td>
-Bad iteration position. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8"></a><!-- doxytag: member="kXMPErr_BadParse" ref="db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8" args="" -->kXMPErr_BadParse</em>&nbsp;</td><td>
-XML parsing error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9"></a><!-- doxytag: member="kXMPErr_BadSerialize" ref="db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9" args="" -->kXMPErr_BadSerialize</em>&nbsp;</td><td>
-Serialization error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8"></a><!-- doxytag: member="kXMPErr_BadFileFormat" ref="db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8" args="" -->kXMPErr_BadFileFormat</em>&nbsp;</td><td>
-File format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795"></a><!-- doxytag: member="kXMPErr_NoFileHandler" ref="db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795" args="" -->kXMPErr_NoFileHandler</em>&nbsp;</td><td>
-No file handler found for format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b"></a><!-- doxytag: member="kXMPErr_TooLargeForJPEG" ref="db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b" args="" -->kXMPErr_TooLargeForJPEG</em>&nbsp;</td><td>
-Data too large for JPEG file format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5"></a><!-- doxytag: member="kXMPErr_BadXML" ref="db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5" args="" -->kXMPErr_BadXML</em>&nbsp;</td><td>
-XML format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e"></a><!-- doxytag: member="kXMPErr_BadRDF" ref="db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e" args="" -->kXMPErr_BadRDF</em>&nbsp;</td><td>
-RDF format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821"></a><!-- doxytag: member="kXMPErr_BadXMP" ref="db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821" args="" -->kXMPErr_BadXMP</em>&nbsp;</td><td>
-XMP format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179"></a><!-- doxytag: member="kXMPErr_EmptyIterator" ref="db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179" args="" -->kXMPErr_EmptyIterator</em>&nbsp;</td><td>
-Empty iterator. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f"></a><!-- doxytag: member="kXMPErr_BadUnicode" ref="db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f" args="" -->kXMPErr_BadUnicode</em>&nbsp;</td><td>
-Unicode error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d"></a><!-- doxytag: member="kXMPErr_BadTIFF" ref="db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d" args="" -->kXMPErr_BadTIFF</em>&nbsp;</td><td>
-TIFF format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee"></a><!-- doxytag: member="kXMPErr_BadJPEG" ref="db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee" args="" -->kXMPErr_BadJPEG</em>&nbsp;</td><td>
-JPEG format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d"></a><!-- doxytag: member="kXMPErr_BadPSD" ref="db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d" args="" -->kXMPErr_BadPSD</em>&nbsp;</td><td>
-PSD format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3"></a><!-- doxytag: member="kXMPErr_BadPSIR" ref="db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3" args="" -->kXMPErr_BadPSIR</em>&nbsp;</td><td>
-PSIR format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e"></a><!-- doxytag: member="kXMPErr_BadIPTC" ref="db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e" args="" -->kXMPErr_BadIPTC</em>&nbsp;</td><td>
-IPTC format error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad"></a><!-- doxytag: member="kXMPErr_BadMPEG" ref="db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad" args="" -->kXMPErr_BadMPEG</em>&nbsp;</td><td>
-MPEG format error. </td></tr>
+<p>Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb"></a><!-- doxytag: member="kXMP_PropValueIsURI" ref="a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" args="" -->kXMP_PropValueIsURI</em>&nbsp;</td><td>
+<p>The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159"></a><!-- doxytag: member="kXMP_PropHasQualifiers" ref="a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159" args="" -->kXMP_PropHasQualifiers</em>&nbsp;</td><td>
+<p>The property has qualifiers, includes <code>rdf:type</code> and <code>xml:lang</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe"></a><!-- doxytag: member="kXMP_PropIsQualifier" ref="a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe" args="" -->kXMP_PropIsQualifier</em>&nbsp;</td><td>
+<p>This is a qualifier for some other property, includes <code>rdf:type</code> and <code>xml:lang</code>. Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217"></a><!-- doxytag: member="kXMP_PropHasLang" ref="a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217" args="" -->kXMP_PropHasLang</em>&nbsp;</td><td>
+<p>Implies <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>xml:lang</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5"></a><!-- doxytag: member="kXMP_PropHasType" ref="a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5" args="" -->kXMP_PropHasType</em>&nbsp;</td><td>
+<p>Implies <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>rdf:type</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e"></a><!-- doxytag: member="kXMP_PropValueIsStruct" ref="a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" args="" -->kXMP_PropValueIsStruct</em>&nbsp;</td><td>
+<p>The value is a structure with nested fields. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc"></a><!-- doxytag: member="kXMP_PropValueIsArray" ref="a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc" args="" -->kXMP_PropValueIsArray</em>&nbsp;</td><td>
+<p>The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types of array; default is a general unordered array, serialized using an <code>rdf:Bag</code> container. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0"></a><!-- doxytag: member="kXMP_PropArrayIsUnordered" ref="a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0" args="" -->kXMP_PropArrayIsUnordered</em>&nbsp;</td><td>
+<p>The item order does not matter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04"></a><!-- doxytag: member="kXMP_PropArrayIsOrdered" ref="a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" args="" -->kXMP_PropArrayIsOrdered</em>&nbsp;</td><td>
+<p>Implies <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, item order matters. It is serialized using an <code>rdf:Seq</code> container. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1"></a><!-- doxytag: member="kXMP_PropArrayIsAlternate" ref="a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" args="" -->kXMP_PropArrayIsAlternate</em>&nbsp;</td><td>
+<p>Implies <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, items are alternates. It is serialized using an <code>rdf:Alt</code> container. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d"></a><!-- doxytag: member="kXMP_PropArrayIsAltText" ref="a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d" args="" -->kXMP_PropArrayIsAltText</em>&nbsp;</td><td>
+<p>Implies <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, items are localized text. Each array element is a simple property with an <code>xml:lang</code> attribute. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37"></a><!-- doxytag: member="kXMP_PropIsAlias" ref="a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37" args="" -->kXMP_PropIsAlias</em>&nbsp;</td><td>
+<p>This property is an alias name for another property. This is only returned by <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0"></a><!-- doxytag: member="kXMP_PropHasAliases" ref="a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0" args="" -->kXMP_PropHasAliases</em>&nbsp;</td><td>
+<p>This property is the base value (actual) for a set of aliases.This is only returned by <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464"></a><!-- doxytag: member="kXMP_PropIsInternal" ref="a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464" args="" -->kXMP_PropIsInternal</em>&nbsp;</td><td>
+<p>The value of this property is "owned" by the application, and should not generally be editable in a UI. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c"></a><!-- doxytag: member="kXMP_PropIsStable" ref="a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c" args="" -->kXMP_PropIsStable</em>&nbsp;</td><td>
+<p>The value of this property is not derived from the document content. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877"></a><!-- doxytag: member="kXMP_PropIsDerived" ref="a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877" args="" -->kXMP_PropIsDerived</em>&nbsp;</td><td>
+<p>The value of this property is derived from the document content. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f"></a><!-- doxytag: member="kXMP_PropArrayFormMask" ref="a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f" args="" -->kXMP_PropArrayFormMask</em>&nbsp;</td><td>
+<p>Property type bit-flag mask for all array types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956"></a><!-- doxytag: member="kXMP_PropCompositeMask" ref="a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956" args="" -->kXMP_PropCompositeMask</em>&nbsp;</td><td>
+<p>Property type bit-flag mask for composite types (array and struct). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974"></a><!-- doxytag: member="kXMP_ImplReservedMask" ref="a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974" args="" -->kXMP_ImplReservedMask</em>&nbsp;</td><td>
+<p>Mask for bits that are reserved for transient use by the implementation. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04"></a><!-- doxytag: member="XMP_Const.h::@3" ref="bc6126af1d45847bc59afa0aa3216b04" args="" -->
+</div>
+<a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04"></a><!-- doxytag: member="XMP_Const.h::@3" ref="abc6126af1d45847bc59afa0aa3216b04" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property setting functions. These option bits are shared with the accessor functions: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
+<p>Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property setting functions. These option bits are shared with the accessor functions: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
</ul>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f"></a><!-- doxytag: member="kXMP_InsertBeforeItem" ref="bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" args="" -->kXMP_InsertBeforeItem</em>&nbsp;</td><td>
-Option for array item location: Insert a new item before the given index. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05"></a><!-- doxytag: member="kXMP_InsertAfterItem" ref="bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" args="" -->kXMP_InsertAfterItem</em>&nbsp;</td><td>
-Option for array item location: Insert a new item after the given index. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c"></a><!-- doxytag: member="kXMP_DeleteExisting" ref="bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c" args="" -->kXMP_DeleteExisting</em>&nbsp;</td><td>
-Delete any pre-existing property. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465"></a><!-- doxytag: member="kXMP_PropValueOptionsMask" ref="bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465" args="" -->kXMP_PropValueOptionsMask</em>&nbsp;</td><td>
-Bit-flag mask for property-value option bits. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df"></a><!-- doxytag: member="kXMP_PropArrayLocationMask" ref="bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df" args="" -->kXMP_PropArrayLocationMask</em>&nbsp;</td><td>
-Bit-flag mask for array-item location bits. </td></tr>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f"></a><!-- doxytag: member="kXMP_InsertBeforeItem" ref="abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f" args="" -->kXMP_InsertBeforeItem</em>&nbsp;</td><td>
+<p>Option for array item location: Insert a new item before the given index. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05"></a><!-- doxytag: member="kXMP_InsertAfterItem" ref="abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05" args="" -->kXMP_InsertAfterItem</em>&nbsp;</td><td>
+<p>Option for array item location: Insert a new item after the given index. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c"></a><!-- doxytag: member="kXMP_DeleteExisting" ref="abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c" args="" -->kXMP_DeleteExisting</em>&nbsp;</td><td>
+<p>Delete any pre-existing property. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465"></a><!-- doxytag: member="kXMP_PropValueOptionsMask" ref="abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465" args="" -->kXMP_PropValueOptionsMask</em>&nbsp;</td><td>
+<p>Bit-flag mask for property-value option bits. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df"></a><!-- doxytag: member="kXMP_PropArrayLocationMask" ref="abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df" args="" -->kXMP_PropArrayLocationMask</em>&nbsp;</td><td>
+<p>Bit-flag mask for array-item location bits. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c"></a><!-- doxytag: member="XMP_Const.h::@4" ref="dc29c2ff13d900c2f185ee95427fb06c" args="" -->
+</div>
+<a class="anchor" id="adc29c2ff13d900c2f185ee95427fb06c"></a><!-- doxytag: member="XMP_Const.h::@4" ref="adc29c2ff13d900c2f185ee95427fb06c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400"></a><!-- doxytag: member="kXMP_RequireXMPMeta" ref="dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400" args="" -->kXMP_RequireXMPMeta</em>&nbsp;</td><td>
-Require a surrounding <code>x:xmpmeta</code> element. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e"></a><!-- doxytag: member="kXMP_ParseMoreBuffers" ref="dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" args="" -->kXMP_ParseMoreBuffers</em>&nbsp;</td><td>
-This is the not last input buffer for this parse stream. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1"></a><!-- doxytag: member="kXMP_StrictAliasing" ref="dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1" args="" -->kXMP_StrictAliasing</em>&nbsp;</td><td>
-Do not reconcile alias differences, throw an exception. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400"></a><!-- doxytag: member="kXMP_RequireXMPMeta" ref="adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400" args="" -->kXMP_RequireXMPMeta</em>&nbsp;</td><td>
+<p>Require a surrounding <code>x:xmpmeta</code> element. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e"></a><!-- doxytag: member="kXMP_ParseMoreBuffers" ref="adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e" args="" -->kXMP_ParseMoreBuffers</em>&nbsp;</td><td>
+<p>This is the not last input buffer for this parse stream. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1"></a><!-- doxytag: member="kXMP_StrictAliasing" ref="adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1" args="" -->kXMP_StrictAliasing</em>&nbsp;</td><td>
+<p>Do not reconcile alias differences, throw an exception. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="61dadd085c1777f559549e05962b2c9e"></a><!-- doxytag: member="XMP_Const.h::@5" ref="61dadd085c1777f559549e05962b2c9e" args="" -->
+</div>
+<a class="anchor" id="a61dadd085c1777f559549e05962b2c9e"></a><!-- doxytag: member="XMP_Const.h::@5" ref="a61dadd085c1777f559549e05962b2c9e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76"></a><!-- doxytag: member="kXMP_OmitPacketWrapper" ref="61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76" args="" -->kXMP_OmitPacketWrapper</em>&nbsp;</td><td>
-Omit the XML packet wrapper. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6"></a><!-- doxytag: member="kXMP_ReadOnlyPacket" ref="61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" args="" -->kXMP_ReadOnlyPacket</em>&nbsp;</td><td>
-Default is a writeable packet. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb"></a><!-- doxytag: member="kXMP_UseCompactFormat" ref="61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb" args="" -->kXMP_UseCompactFormat</em>&nbsp;</td><td>
-Use a compact form of RDF. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a"></a><!-- doxytag: member="kXMP_IncludeThumbnailPad" ref="61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" args="" -->kXMP_IncludeThumbnailPad</em>&nbsp;</td><td>
-Include a padding allowance for a thumbnail image. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6"></a><!-- doxytag: member="kXMP_ExactPacketLength" ref="61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" args="" -->kXMP_ExactPacketLength</em>&nbsp;</td><td>
-The padding parameter is the overall packet length. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654"></a><!-- doxytag: member="kXMP_WriteAliasComments" ref="61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654" args="" -->kXMP_WriteAliasComments</em>&nbsp;</td><td>
-Show aliases as XML comments. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29"></a><!-- doxytag: member="kXMP_OmitAllFormatting" ref="61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29" args="" -->kXMP_OmitAllFormatting</em>&nbsp;</td><td>
-Omit all formatting whitespace. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856"></a><!-- doxytag: member="kXMP_OmitXMPMetaElement" ref="61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856" args="" -->kXMP_OmitXMPMetaElement</em>&nbsp;</td><td>
-Omit the x:xmpmeta element surrounding the rdf:RDF element. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845"></a><!-- doxytag: member="kXMP_EncodingMask" ref="61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845" args="" -->kXMP_EncodingMask</em>&nbsp;</td><td>
-Bit-flag mask for encoding-type bits. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab"></a><!-- doxytag: member="kXMP_EncodeUTF8" ref="61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" args="" -->kXMP_EncodeUTF8</em>&nbsp;</td><td>
-Use UTF8 encoding. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d"></a><!-- doxytag: member="kXMP_EncodeUTF16Big" ref="61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" args="" -->kXMP_EncodeUTF16Big</em>&nbsp;</td><td>
-Use UTF16 big-endian encoding. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830"></a><!-- doxytag: member="kXMP_EncodeUTF16Little" ref="61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" args="" -->kXMP_EncodeUTF16Little</em>&nbsp;</td><td>
-Use UTF16 little-endian encoding. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713"></a><!-- doxytag: member="kXMP_EncodeUTF32Big" ref="61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" args="" -->kXMP_EncodeUTF32Big</em>&nbsp;</td><td>
-Use UTF32 big-endian encoding. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e"></a><!-- doxytag: member="kXMP_EncodeUTF32Little" ref="61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" args="" -->kXMP_EncodeUTF32Little</em>&nbsp;</td><td>
-Use UTF13 little-endian encoding. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76"></a><!-- doxytag: member="kXMP_OmitPacketWrapper" ref="a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76" args="" -->kXMP_OmitPacketWrapper</em>&nbsp;</td><td>
+<p>Omit the XML packet wrapper. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6"></a><!-- doxytag: member="kXMP_ReadOnlyPacket" ref="a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6" args="" -->kXMP_ReadOnlyPacket</em>&nbsp;</td><td>
+<p>Default is a writeable packet. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb"></a><!-- doxytag: member="kXMP_UseCompactFormat" ref="a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb" args="" -->kXMP_UseCompactFormat</em>&nbsp;</td><td>
+<p>Use a compact form of RDF. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a"></a><!-- doxytag: member="kXMP_IncludeThumbnailPad" ref="a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a" args="" -->kXMP_IncludeThumbnailPad</em>&nbsp;</td><td>
+<p>Include a padding allowance for a thumbnail image. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6"></a><!-- doxytag: member="kXMP_ExactPacketLength" ref="a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6" args="" -->kXMP_ExactPacketLength</em>&nbsp;</td><td>
+<p>The padding parameter is the overall packet length. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29"></a><!-- doxytag: member="kXMP_OmitAllFormatting" ref="a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29" args="" -->kXMP_OmitAllFormatting</em>&nbsp;</td><td>
+<p>Omit all formatting whitespace. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856"></a><!-- doxytag: member="kXMP_OmitXMPMetaElement" ref="a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856" args="" -->kXMP_OmitXMPMetaElement</em>&nbsp;</td><td>
+<p>Omit the x:xmpmeta element surrounding the rdf:RDF element. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845"></a><!-- doxytag: member="kXMP_EncodingMask" ref="a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845" args="" -->kXMP_EncodingMask</em>&nbsp;</td><td>
+<p>Bit-flag mask for encoding-type bits. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab"></a><!-- doxytag: member="kXMP_EncodeUTF8" ref="a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab" args="" -->kXMP_EncodeUTF8</em>&nbsp;</td><td>
+<p>Use UTF8 encoding. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d"></a><!-- doxytag: member="kXMP_EncodeUTF16Big" ref="a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d" args="" -->kXMP_EncodeUTF16Big</em>&nbsp;</td><td>
+<p>Use UTF16 big-endian encoding. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830"></a><!-- doxytag: member="kXMP_EncodeUTF16Little" ref="a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830" args="" -->kXMP_EncodeUTF16Little</em>&nbsp;</td><td>
+<p>Use UTF16 little-endian encoding. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713"></a><!-- doxytag: member="kXMP_EncodeUTF32Big" ref="a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713" args="" -->kXMP_EncodeUTF32Big</em>&nbsp;</td><td>
+<p>Use UTF32 big-endian encoding. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e"></a><!-- doxytag: member="kXMP_EncodeUTF32Little" ref="a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e" args="" -->kXMP_EncodeUTF32Little</em>&nbsp;</td><td>
+<p>Use UTF13 little-endian encoding. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="726ca809ffd3d67ab4b8476646f26635"></a><!-- doxytag: member="XMP_Const.h::@6" ref="726ca809ffd3d67ab4b8476646f26635" args="" -->
+</div>
+<a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635"></a><!-- doxytag: member="XMP_Const.h::@6" ref="a726ca809ffd3d67ab4b8476646f26635" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044"></a><!-- doxytag: member="kXMP_IterClassMask" ref="726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044" args="" -->kXMP_IterClassMask</em>&nbsp;</td><td>
-The low 8 bits are an enum of what data structure to iterate. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b"></a><!-- doxytag: member="kXMP_IterProperties" ref="726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b" args="" -->kXMP_IterProperties</em>&nbsp;</td><td>
-Iterate the property tree of a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9"></a><!-- doxytag: member="kXMP_IterAliases" ref="726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9" args="" -->kXMP_IterAliases</em>&nbsp;</td><td>
-Iterate the global alias table. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b"></a><!-- doxytag: member="kXMP_IterNamespaces" ref="726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b" args="" -->kXMP_IterNamespaces</em>&nbsp;</td><td>
-Iterate the global namespace table. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed"></a><!-- doxytag: member="kXMP_IterJustChildren" ref="726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" args="" -->kXMP_IterJustChildren</em>&nbsp;</td><td>
-Just do the immediate children of the root, default is subtree. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19"></a><!-- doxytag: member="kXMP_IterJustLeafNodes" ref="726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" args="" -->kXMP_IterJustLeafNodes</em>&nbsp;</td><td>
-Just do the leaf nodes, default is all nodes in the subtree. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344"></a><!-- doxytag: member="kXMP_IterJustLeafName" ref="726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" args="" -->kXMP_IterJustLeafName</em>&nbsp;</td><td>
-Return just the leaf part of the path, default is the full path. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08"></a><!-- doxytag: member="kXMP_IterIncludeAliases" ref="726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" args="" -->kXMP_IterIncludeAliases</em>&nbsp;</td><td>
-Include aliases, default is just actual properties. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101"></a><!-- doxytag: member="kXMP_IterOmitQualifiers" ref="726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" args="" -->kXMP_IterOmitQualifiers</em>&nbsp;</td><td>
-Omit all qualifiers. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044"></a><!-- doxytag: member="kXMP_IterClassMask" ref="a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044" args="" -->kXMP_IterClassMask</em>&nbsp;</td><td>
+<p>The low 8 bits are an enum of what data structure to iterate. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b"></a><!-- doxytag: member="kXMP_IterProperties" ref="a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b" args="" -->kXMP_IterProperties</em>&nbsp;</td><td>
+<p>Iterate the property tree of a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9"></a><!-- doxytag: member="kXMP_IterAliases" ref="a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9" args="" -->kXMP_IterAliases</em>&nbsp;</td><td>
+<p>Iterate the global alias table. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b"></a><!-- doxytag: member="kXMP_IterNamespaces" ref="a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b" args="" -->kXMP_IterNamespaces</em>&nbsp;</td><td>
+<p>Iterate the global namespace table. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed"></a><!-- doxytag: member="kXMP_IterJustChildren" ref="a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" args="" -->kXMP_IterJustChildren</em>&nbsp;</td><td>
+<p>Just do the immediate children of the root, default is subtree. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19"></a><!-- doxytag: member="kXMP_IterJustLeafNodes" ref="a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" args="" -->kXMP_IterJustLeafNodes</em>&nbsp;</td><td>
+<p>Just do the leaf nodes, default is all nodes in the subtree. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344"></a><!-- doxytag: member="kXMP_IterJustLeafName" ref="a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" args="" -->kXMP_IterJustLeafName</em>&nbsp;</td><td>
+<p>Return just the leaf part of the path, default is the full path. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101"></a><!-- doxytag: member="kXMP_IterOmitQualifiers" ref="a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" args="" -->kXMP_IterOmitQualifiers</em>&nbsp;</td><td>
+<p>Omit all qualifiers. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2d"></a><!-- doxytag: member="XMP_Const.h::@7" ref="0411cd49bb5b71852cecd93bcbf0ca2d" args="" -->
+</div>
+<a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2d"></a><!-- doxytag: member="XMP_Const.h::@7" ref="a0411cd49bb5b71852cecd93bcbf0ca2d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e"></a><!-- doxytag: member="kXMP_IterSkipSubtree" ref="0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" args="" -->kXMP_IterSkipSubtree</em>&nbsp;</td><td>
-Skip the subtree below the current node. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12"></a><!-- doxytag: member="kXMP_IterSkipSiblings" ref="0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" args="" -->kXMP_IterSkipSiblings</em>&nbsp;</td><td>
-Skip the subtree below and remaining siblings of the current node. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e"></a><!-- doxytag: member="kXMP_IterSkipSubtree" ref="a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e" args="" -->kXMP_IterSkipSubtree</em>&nbsp;</td><td>
+<p>Skip the subtree below the current node. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12"></a><!-- doxytag: member="kXMP_IterSkipSiblings" ref="a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12" args="" -->kXMP_IterSkipSiblings</em>&nbsp;</td><td>
+<p>Skip the subtree below and remaining siblings of the current node. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="bed82baf7f470b522273a3e37c24c600"></a><!-- doxytag: member="XMP_Const.h::@8" ref="bed82baf7f470b522273a3e37c24c600" args="" -->
+</div>
+<a class="anchor" id="abed82baf7f470b522273a3e37c24c600"></a><!-- doxytag: member="XMP_Const.h::@8" ref="abed82baf7f470b522273a3e37c24c600" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-Option bit flags for <code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">TXMPUtils::CatenateArrayItems()</a></code> and <code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">TXMPUtils::SeparateArrayItems()</a></code>. These option bits are shared with the accessor functions: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
+<p>Option bit flags for <code><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">TXMPUtils::CatenateArrayItems()</a></code> and <code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">TXMPUtils::SeparateArrayItems()</a></code>. These option bits are shared with the accessor functions: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
</ul>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506"></a><!-- doxytag: member="kXMPUtil_AllowCommas" ref="bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506" args="" -->kXMPUtil_AllowCommas</em>&nbsp;</td><td>
-Allow commas in item values, default is separator. </td></tr>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506"></a><!-- doxytag: member="kXMPUtil_AllowCommas" ref="abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506" args="" -->kXMPUtil_AllowCommas</em>&nbsp;</td><td>
+<p>Allow commas in item values, default is separator. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57"></a><!-- doxytag: member="XMP_Const.h::@9" ref="b04a0655cd1e3bcac5e8f48c18df1a57" args="" -->
+</div>
+<a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57"></a><!-- doxytag: member="XMP_Const.h::@9" ref="ab04a0655cd1e3bcac5e8f48c18df1a57" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">anonymous enum </td>
+ <td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Option bit flags for <code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">TXMPUtils::AppendProperties()</a></code>.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb"></a><!-- doxytag: member="kXMPUtil_DoAllProperties" ref="b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" args="" -->kXMPUtil_DoAllProperties</em>&nbsp;</td><td>
-Do all properties, default is just external properties. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962"></a><!-- doxytag: member="kXMPUtil_ReplaceOldValues" ref="b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" args="" -->kXMPUtil_ReplaceOldValues</em>&nbsp;</td><td>
-Replace existing values, default is to leave them. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9"></a><!-- doxytag: member="kXMPUtil_DeleteEmptyValues" ref="b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9" args="" -->kXMPUtil_DeleteEmptyValues</em>&nbsp;</td><td>
-Delete properties if the new value is empty. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b"></a><!-- doxytag: member="kXMPUtil_IncludeAliases" ref="b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" args="" -->kXMPUtil_IncludeAliases</em>&nbsp;</td><td>
-Include aliases, default is just actual properties. </td></tr>
+<p>Option bit flags for <code><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9" title="ApplyTemplate() modifies a working XMP object according to a template object.">TXMPUtils::ApplyTemplate()</a></code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea"></a><!-- doxytag: member="kXMPTemplate_IncludeInternalProperties" ref="ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea" args="" -->kXMPTemplate_IncludeInternalProperties</em>&nbsp;</td><td>
+<p>Do all properties, default is just external properties. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544"></a><!-- doxytag: member="kXMPTemplate_ReplaceExistingProperties" ref="ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544" args="" -->kXMPTemplate_ReplaceExistingProperties</em>&nbsp;</td><td>
+<p>Perform a Replace operation, add new properties and modify existing ones. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5"></a><!-- doxytag: member="kXMPTemplate_ReplaceWithDeleteEmpty" ref="ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5" args="" -->kXMPTemplate_ReplaceWithDeleteEmpty</em>&nbsp;</td><td>
+<p>Similar to Replace, also delete if the template has an empty value. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42"></a><!-- doxytag: member="kXMPTemplate_AddNewProperties" ref="ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42" args="" -->kXMPTemplate_AddNewProperties</em>&nbsp;</td><td>
+<p>Perform an Add operation, add properties if they don't already exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46"></a><!-- doxytag: member="kXMPTemplate_ClearUnnamedProperties" ref="ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46" args="" -->kXMPTemplate_ClearUnnamedProperties</em>&nbsp;</td><td>
+<p>Perform a Clear operation, keep named properties and delete everything else. </p>
+</td></tr>
</table>
+</dd>
</dl>
</div>
-</div><p>
+</div>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/XMP__Const_8h_source.html b/docs/API/XMP__Const_8h_source.html
new file mode 100644
index 0000000..8b5049a
--- /dev/null
+++ b/docs/API/XMP__Const_8h_source.html
@@ -0,0 +1,839 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-5.1.2: XMP_Const.h Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.6.3 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>XMP_Const.h</h1><a href="XMP__Const_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __XMP_Const_h__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __XMP_Const_h__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="comment">// =================================================================================================</span>
+<a name="l00005"></a>00005 <span class="comment">// Copyright 2002 Adobe Systems Incorporated</span>
+<a name="l00006"></a>00006 <span class="comment">// All Rights Reserved.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00009"></a>00009 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00010"></a>00010 <span class="comment">// =================================================================================================</span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &quot;XMP_Environment.h&quot;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor"> #include &lt;stddef.h&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#if XMP_MacBuild // ! No stdint.h on Windows and some UNIXes.</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;stdint.h&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#if XMP_UNIXBuild // hopefully an inttypes.h on all UNIXes...</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;inttypes.h&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#endif</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#if __cplusplus</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00026"></a>00026 <span class="preprocessor">#endif</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="comment">// =================================================================================================</span>
+<a name="l00031"></a>00031 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// =================================================================================================</span>
+<a name="l00034"></a>00034 <span class="comment">// Basic types and constants</span>
+<a name="l00035"></a>00035 <span class="comment">// =========================</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="comment">// The XMP_... types are used on the off chance that the ..._t types present a problem. In that</span>
+<a name="l00038"></a>00038 <span class="comment">// case only the declarations of the XMP_... types needs to change, not all of the uses. These</span>
+<a name="l00039"></a>00039 <span class="comment">// types are used where fixed sizes are required in order to have a known ABI for a DLL build.</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#if XMP_MacBuild</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> int8_t XMP_Int8;
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> int16_t XMP_Int16;
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> int32_t XMP_Int32;
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> int64_t XMP_Int64;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> uint8_t XMP_Uns8;
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> uint16_t XMP_Uns16;
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> uint32_t XMP_Uns32;
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> uint64_t XMP_Uns64;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="preprocessor">#elif XMP_WinBuild </span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> XMP_Int8;
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> XMP_Int16;
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> XMP_Int32;
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Int64;
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> XMP_Uns8;
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> XMP_Uns16;
+<a name="l00062"></a>00062 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> XMP_Uns32;
+<a name="l00063"></a>00063 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Uns64;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#elif XMP_UNIXBuild</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor"> #if ! XMP_64</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> XMP_Int8;
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> XMP_Int16;
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> XMP_Int32;
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Int64;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> XMP_Uns8;
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> XMP_Uns16;
+<a name="l00074"></a>00074 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> XMP_Uns32;
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Uns64;
+<a name="l00076"></a>00076 <span class="preprocessor"> #else</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> XMP_Int8;
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> XMP_Int16;
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> XMP_Int32;
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Int64;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> XMP_Uns8;
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> XMP_Uns16;
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> XMP_Uns32;
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Uns64;
+<a name="l00086"></a>00086 <span class="preprocessor"> #endif</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088 <span class="preprocessor">#else</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span>
+<a name="l00090"></a>00090 <span class="preprocessor"> #error &quot;XMP environment error - must define one of XMP_MacBuild, XMP_WinBuild, or XMP_UNIXBuild&quot;</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> XMP_Uns8 XMP_Bool;
+<a name="l00095"></a>00095
+<a name="l00098"></a><a class="code" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">00098</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPMeta__ * <a class="code" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>;
+<a name="l00099"></a>00099
+<a name="l00102"></a><a class="code" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">00102</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPIterator__ * <a class="code" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a>;
+<a name="l00103"></a>00103
+<a name="l00106"></a><a class="code" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">00106</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPDocOps__ * <a class="code" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a>;
+<a name="l00107"></a>00107
+<a name="l00110"></a><a class="code" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">00110</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPFiles__ * <a class="code" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">// =================================================================================================</span>
+<a name="l00113"></a>00113
+<a name="l00116"></a>00116
+<a name="l00120"></a>00120
+<a name="l00124"></a>00124
+<a name="l00128"></a>00128
+<a name="l00135"></a>00135
+<a name="l00136"></a><a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">00136</a> <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a>; <span class="comment">// Points to a null terminated UTF-8 string.</span>
+<a name="l00137"></a><a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">00137</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a>;
+<a name="l00138"></a><a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">00138</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a>; <span class="comment">// Signed, sometimes -1 is handy.</span>
+<a name="l00139"></a><a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">00139</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a>; <span class="comment">// Used as 32 individual bits.</span>
+<a name="l00140"></a>00140
+<a name="l00145"></a>00145
+<a name="l00150"></a>00150
+<a name="l00151"></a><a class="code" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141">00151</a> <span class="preprocessor">#define kXMP_TrueStr &quot;True&quot; // Serialized XMP spellings, not for the type bool.</span>
+<a name="l00152"></a><a class="code" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278">00152</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_FalseStr &quot;False&quot;</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span>
+<a name="l00156"></a>00156 <span class="keyword">enum</span> {
+<a name="l00158"></a><a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e">00158</a> <a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e" title="The part or parts have definitely changed.">kXMPTS_Yes</a> = 1,
+<a name="l00160"></a><a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90">00160</a> <a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90" title="The part or parts have definitely not changed.">kXMPTS_No</a> = 0,
+<a name="l00162"></a><a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584">00162</a> <a class="code" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584" title="The part or parts might, or might not, have changed.">kXMPTS_Maybe</a> = -1
+<a name="l00163"></a>00163 };
+<a name="l00164"></a>00164 <span class="keyword">typedef</span> XMP_Int8 XMP_TriState;
+<a name="l00165"></a>00165
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="comment">// =================================================================================================</span>
+<a name="l00169"></a>00169
+<a name="l00189"></a>00189
+<a name="l00190"></a><a class="code" href="structXMP__DateTime.html">00190</a> <span class="keyword">struct </span><a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> {
+<a name="l00191"></a>00191
+<a name="l00193"></a><a class="code" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad">00193</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad" title="The year, can be negative.">year</a>;
+<a name="l00194"></a>00194
+<a name="l00196"></a><a class="code" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f">00196</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f" title="The month in the range 1..12.">month</a>;
+<a name="l00197"></a>00197
+<a name="l00199"></a><a class="code" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094">00199</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094" title="The day of the month in the range 1..31.">day</a>;
+<a name="l00200"></a>00200
+<a name="l00202"></a><a class="code" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f">00202</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f" title="The hour in the range 0..23.">hour</a>;
+<a name="l00203"></a>00203
+<a name="l00205"></a><a class="code" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf">00205</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf" title="The minute in the range 0..59.">minute</a>;
+<a name="l00206"></a>00206
+<a name="l00208"></a><a class="code" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b">00208</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b" title="The second in the range 0..59.">second</a>;
+<a name="l00209"></a>00209
+<a name="l00211"></a><a class="code" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8">00211</a> XMP_Bool <a class="code" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8" title="Is the date portion meaningful?">hasDate</a>;
+<a name="l00212"></a>00212
+<a name="l00214"></a><a class="code" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268">00214</a> XMP_Bool <a class="code" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268" title="Is the time portion meaningful?">hasTime</a>;
+<a name="l00215"></a>00215
+<a name="l00217"></a><a class="code" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e">00217</a> XMP_Bool <a class="code" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e" title="Is the time zone meaningful?">hasTimeZone</a>;
+<a name="l00218"></a>00218
+<a name="l00221"></a><a class="code" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">00221</a> XMP_Int8 <a class="code" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">tzSign</a>;
+<a name="l00222"></a>00222
+<a name="l00224"></a><a class="code" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4">00224</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4" title="The time zone hour in the range 0..23.">tzHour</a>;
+<a name="l00225"></a>00225
+<a name="l00227"></a><a class="code" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1">00227</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1" title="The time zone minute in the range 0..59.">tzMinute</a>;
+<a name="l00228"></a>00228
+<a name="l00230"></a><a class="code" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c">00230</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c" title="Nanoseconds within a second, often left as zero.">nanoSecond</a>;
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="preprocessor"> #if __cplusplus</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a>() : <a class="code" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad" title="The year, can be negative.">year</a>(0), <a class="code" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f" title="The month in the range 1..12.">month</a>(0), <a class="code" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094" title="The day of the month in the range 1..31.">day</a>(0), <a class="code" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f" title="The hour in the range 0..23.">hour</a>(0), <a class="code" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf" title="The minute in the range 0..59.">minute</a>(0), <a class="code" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b" title="The second in the range 0..59.">second</a>(0), <a class="code" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c" title="Nanoseconds within a second, often left as zero.">nanoSecond</a>(0),
+<a name="l00234"></a>00234 <a class="code" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">tzSign</a>(0), <a class="code" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4" title="The time zone hour in the range 0..23.">tzHour</a>(0), <a class="code" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1" title="The time zone minute in the range 0..59.">tzMinute</a>(0), <a class="code" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8" title="Is the date portion meaningful?">hasDate</a>(false), <a class="code" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268" title="Is the time portion meaningful?">hasTime</a>(false), <a class="code" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e" title="Is the time zone meaningful?">hasTimeZone</a>(false) {};
+<a name="l00235"></a>00235 <span class="preprocessor"> #endif</span>
+<a name="l00236"></a>00236 <span class="preprocessor"></span>
+<a name="l00237"></a>00237 };
+<a name="l00238"></a>00238
+<a name="l00240"></a>00240 <span class="keyword">enum</span> {
+<a name="l00242"></a><a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801">00242</a> <a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801" title="Time zone is west of UTC.">kXMP_TimeWestOfUTC</a> = -1,
+<a name="l00244"></a><a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13">00244</a> <a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13" title="UTC time.">kXMP_TimeIsUTC</a> = 0,
+<a name="l00246"></a><a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec">00246</a> <a class="code" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec" title="Time zone is east of UTC.">kXMP_TimeEastOfUTC</a> = +1
+<a name="l00247"></a>00247 };
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="preprocessor">#define XMPDateTime_IsDateOnly(dt) ((dt).hasDate &amp; (! (dt).hasTime))</span>
+<a name="l00250"></a>00250 <span class="preprocessor"></span><span class="preprocessor">#define XMPDateTime_IsTimeOnly(dt) ((dt).hasTime &amp; (! (dt).hasDate))</span>
+<a name="l00251"></a>00251 <span class="preprocessor"></span>
+<a name="l00252"></a>00252 <span class="preprocessor">#define XMPDateTime_ClearTimeZone(dt) { (dt).hasTimeZone = (dt).tzSign = (dt).tzHour = (dt).tzMinute = 0; }</span>
+<a name="l00253"></a>00253 <span class="preprocessor"></span>
+<a name="l00254"></a>00254 <span class="comment">// =================================================================================================</span>
+<a name="l00255"></a>00255 <span class="comment">// Standard namespace URI constants</span>
+<a name="l00256"></a>00256 <span class="comment">// ================================</span>
+<a name="l00257"></a>00257
+<a name="l00292"></a>00292
+<a name="l00293"></a><a class="code" href="XMP__Const_8h.html#a030875c9dc0861c9251a3374ca14a376">00293</a> <span class="preprocessor">#define kXMP_NS_XMP &quot;http://ns.adobe.com/xap/1.0/&quot;</span>
+<a name="l00294"></a>00294 <span class="preprocessor"></span>
+<a name="l00295"></a><a class="code" href="XMP__Const_8h.html#ae52d761e5a4fc8c8499215d2f3d82b90">00295</a> <span class="preprocessor">#define kXMP_NS_XMP_Rights &quot;http://ns.adobe.com/xap/1.0/rights/&quot;</span>
+<a name="l00296"></a><a class="code" href="XMP__Const_8h.html#ac67379a9ffa425d0d7976a51c4f2f754">00296</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_MM &quot;http://ns.adobe.com/xap/1.0/mm/&quot;</span>
+<a name="l00297"></a><a class="code" href="XMP__Const_8h.html#a308e156c325618acb2172e550929ebee">00297</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_BJ &quot;http://ns.adobe.com/xap/1.0/bj/&quot;</span>
+<a name="l00298"></a>00298 <span class="preprocessor"></span>
+<a name="l00299"></a><a class="code" href="XMP__Const_8h.html#a0bcb67d0dd0922504e3da7ca5c40c82a">00299</a> <span class="preprocessor">#define kXMP_NS_PDF &quot;http://ns.adobe.com/pdf/1.3/&quot;</span>
+<a name="l00300"></a><a class="code" href="XMP__Const_8h.html#aa1a6f38ebfcdb281c5bf2809859167c7">00300</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_Photoshop &quot;http://ns.adobe.com/photoshop/1.0/&quot;</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PSAlbum &quot;http://ns.adobe.com/album/1.0/&quot;</span>
+<a name="l00302"></a><a class="code" href="XMP__Const_8h.html#ad12182e1df1652f56b5eec60c1fcdd8f">00302</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF &quot;http://ns.adobe.com/exif/1.0/&quot;</span>
+<a name="l00303"></a>00303 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF_Aux &quot;http://ns.adobe.com/exif/1.0/aux/&quot;</span>
+<a name="l00304"></a><a class="code" href="XMP__Const_8h.html#a673355818b7b9224e8fec0fbc60ba00c">00304</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_TIFF &quot;http://ns.adobe.com/tiff/1.0/&quot;</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PNG &quot;http://ns.adobe.com/png/1.0/&quot;</span>
+<a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_SWF &quot;http://ns.adobe.com/swf/1.0/&quot;</span>
+<a name="l00307"></a>00307 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JPEG &quot;http://ns.adobe.com/jpeg/1.0/&quot;</span>
+<a name="l00308"></a>00308 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JP2K &quot;http://ns.adobe.com/jp2k/1.0/&quot;</span>
+<a name="l00309"></a>00309 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CameraRaw &quot;http://ns.adobe.com/camera-raw-settings/1.0/&quot;</span>
+<a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_DM &quot;http://ns.adobe.com/xmp/1.0/DynamicMedia/&quot;</span>
+<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_Script &quot;http://ns.adobe.com/xmp/1.0/Script/&quot;</span>
+<a name="l00312"></a>00312 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_ASF &quot;http://ns.adobe.com/asf/1.0/&quot;</span>
+<a name="l00313"></a>00313 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_WAV &quot;http://ns.adobe.com/xmp/wav/1.0/&quot;</span>
+<a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_BWF &quot;http://ns.adobe.com/bwf/bext/1.0/&quot;</span>
+<a name="l00315"></a>00315 <span class="preprocessor"></span>
+<a name="l00316"></a>00316 <span class="preprocessor">#define kXMP_NS_XMP_Note &quot;http://ns.adobe.com/xmp/note/&quot;</span>
+<a name="l00317"></a>00317 <span class="preprocessor"></span>
+<a name="l00318"></a>00318 <span class="preprocessor">#define kXMP_NS_AdobeStockPhoto &quot;http://ns.adobe.com/StockPhoto/1.0/&quot;</span>
+<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CreatorAtom &quot;http://ns.adobe.com/creatorAtom/1.0/&quot;</span>
+<a name="l00320"></a>00320 <span class="preprocessor"></span>
+<a name="l00346"></a>00346
+<a name="l00347"></a><a class="code" href="XMP__Const_8h.html#ab466db52a4b85cecfa04710682c1e671">00347</a> <span class="preprocessor">#define kXMP_NS_XMP_IdentifierQual &quot;http://ns.adobe.com/xmp/Identifier/qual/1.0/&quot;</span>
+<a name="l00348"></a><a class="code" href="XMP__Const_8h.html#a9618e013619aa92ebc808b62243d2ba8">00348</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Dimensions &quot;http://ns.adobe.com/xap/1.0/sType/Dimensions#&quot;</span>
+<a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Text &quot;http://ns.adobe.com/xap/1.0/t/&quot;</span>
+<a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_PagedFile &quot;http://ns.adobe.com/xap/1.0/t/pg/&quot;</span>
+<a name="l00351"></a>00351 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Graphics &quot;http://ns.adobe.com/xap/1.0/g/&quot;</span>
+<a name="l00352"></a><a class="code" href="XMP__Const_8h.html#a935641acc7d01e782ad7a457a7ff338b">00352</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Image &quot;http://ns.adobe.com/xap/1.0/g/img/&quot;</span>
+<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Font &quot;http://ns.adobe.com/xap/1.0/sType/Font#&quot;</span>
+<a name="l00354"></a><a class="code" href="XMP__Const_8h.html#a861613273127156050b456eee11f6b0a">00354</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceEvent &quot;http://ns.adobe.com/xap/1.0/sType/ResourceEvent#&quot;</span>
+<a name="l00355"></a><a class="code" href="XMP__Const_8h.html#a9bf51f2653400645f7b5087e8c4e1c77">00355</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceRef &quot;http://ns.adobe.com/xap/1.0/sType/ResourceRef#&quot;</span>
+<a name="l00356"></a><a class="code" href="XMP__Const_8h.html#ab4923bed71ab29c6aa88debe8816c0a2">00356</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Version &quot;http://ns.adobe.com/xap/1.0/sType/Version#&quot;</span>
+<a name="l00357"></a><a class="code" href="XMP__Const_8h.html#ac7dc4d65bcbba2862e410cc8cfdff6f6">00357</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Job &quot;http://ns.adobe.com/xap/1.0/sType/Job#&quot;</span>
+<a name="l00358"></a>00358 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ManifestItem &quot;http://ns.adobe.com/xap/1.0/sType/ManifestItem#&quot;</span>
+<a name="l00359"></a>00359 <span class="preprocessor"></span>
+<a name="l00360"></a>00360 <span class="comment">// Deprecated XML namespace constants</span>
+<a name="l00361"></a><a class="code" href="XMP__Const_8h.html#a0a2d9c5f7beb27553214a7ad1df4f27e">00361</a> <span class="preprocessor">#define kXMP_NS_XMP_T &quot;http://ns.adobe.com/xap/1.0/t/&quot;</span>
+<a name="l00362"></a><a class="code" href="XMP__Const_8h.html#a39afb495ffb24bb3082493c6811e65d0">00362</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_T_PG &quot;http://ns.adobe.com/xap/1.0/t/pg/&quot;</span>
+<a name="l00363"></a>00363 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_G_IMG &quot;http://ns.adobe.com/xap/1.0/g/img/&quot;</span>
+<a name="l00364"></a>00364 <span class="preprocessor"></span>
+<a name="l00381"></a>00381
+<a name="l00382"></a><a class="code" href="XMP__Const_8h.html#a44453f0d0a1dd295d41722c2387b36fa">00382</a> <span class="preprocessor">#define kXMP_NS_DC &quot;http://purl.org/dc/elements/1.1/&quot;</span>
+<a name="l00383"></a>00383 <span class="preprocessor"></span>
+<a name="l00384"></a><a class="code" href="XMP__Const_8h.html#ab794d3d798daf75a963398347dcbb79b">00384</a> <span class="preprocessor">#define kXMP_NS_IPTCCore &quot;http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/&quot;</span>
+<a name="l00385"></a>00385 <span class="preprocessor"></span>
+<a name="l00386"></a>00386 <span class="preprocessor">#define kXMP_NS_DICOM &quot;http://ns.adobe.com/DICOM/&quot;</span>
+<a name="l00387"></a>00387 <span class="preprocessor"></span>
+<a name="l00388"></a>00388 <span class="preprocessor">#define kXMP_NS_PDFA_Schema &quot;http://www.aiim.org/pdfa/ns/schema#&quot;</span>
+<a name="l00389"></a>00389 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Property &quot;http://www.aiim.org/pdfa/ns/property#&quot;</span>
+<a name="l00390"></a>00390 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Type &quot;http://www.aiim.org/pdfa/ns/type#&quot;</span>
+<a name="l00391"></a>00391 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Field &quot;http://www.aiim.org/pdfa/ns/field#&quot;</span>
+<a name="l00392"></a>00392 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_ID &quot;http://www.aiim.org/pdfa/ns/id/&quot;</span>
+<a name="l00393"></a>00393 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Extension &quot;http://www.aiim.org/pdfa/ns/extension/&quot;</span>
+<a name="l00394"></a>00394 <span class="preprocessor"></span>
+<a name="l00395"></a>00395 <span class="preprocessor">#define kXMP_NS_PDFX &quot;http://ns.adobe.com/pdfx/1.3/&quot;</span>
+<a name="l00396"></a>00396 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFX_ID &quot;http://www.npes.org/pdfx/ns/id/&quot;</span>
+<a name="l00397"></a>00397 <span class="preprocessor"></span>
+<a name="l00398"></a><a class="code" href="XMP__Const_8h.html#a276fac0f70893607afa3f09030ad84c7">00398</a> <span class="preprocessor">#define kXMP_NS_RDF &quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</span>
+<a name="l00399"></a><a class="code" href="XMP__Const_8h.html#a97564c70460d1f235c8a41b8ac40cfe9">00399</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XML &quot;http://www.w3.org/XML/1998/namespace&quot;</span>
+<a name="l00400"></a>00400 <span class="preprocessor"></span>
+<a name="l00401"></a>00401 <span class="comment">// =================================================================================================</span>
+<a name="l00402"></a>00402 <span class="comment">// Enums and macros used for option bits</span>
+<a name="l00403"></a>00403 <span class="comment">// =====================================</span>
+<a name="l00404"></a>00404
+<a name="l00418"></a>00418
+<a name="l00419"></a><a class="code" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317">00419</a> <span class="preprocessor">#define kXMP_ArrayLastItem ((XMP_Index)(-1L))</span>
+<a name="l00420"></a><a class="code" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab">00420</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_UseNullTermination ((XMP_StringLen)(~0UL))</span>
+<a name="l00421"></a><a class="code" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b">00421</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NoOptions ((XMP_OptionBits)0UL)</span>
+<a name="l00422"></a>00422 <span class="preprocessor"></span>
+<a name="l00455"></a>00455
+<a name="l00456"></a><a class="code" href="XMP__Const_8h.html#a69c4d1b80c4dd581366e0c60209ef612">00456</a> <span class="preprocessor">#define XMP_SetOption(var,opt) var |= (opt)</span>
+<a name="l00457"></a><a class="code" href="XMP__Const_8h.html#a10c3c9b1b6e266b0b4eb6abe7b03b7d8">00457</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ClearOption(var,opt) var &amp;= ~(opt)</span>
+<a name="l00458"></a><a class="code" href="XMP__Const_8h.html#aa31596e850cb6b208f5920833d67b9f1">00458</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_TestOption(var,opt) (((var) &amp; (opt)) != 0)</span>
+<a name="l00459"></a><a class="code" href="XMP__Const_8h.html#aba3edaa921326c7916adb0b70b1bcfb4">00459</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsSet(var,opt) (((var) &amp; (opt)) != 0)</span>
+<a name="l00460"></a><a class="code" href="XMP__Const_8h.html#a1d41f53bd1d5c88fad8322ce15e39516">00460</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsClear(var,opt) (((var) &amp; (opt)) == 0)</span>
+<a name="l00461"></a>00461 <span class="preprocessor"></span>
+<a name="l00514"></a>00514
+<a name="l00515"></a><a class="code" href="XMP__Const_8h.html#a510b75338bd488ddd8d9bd4e326806f9">00515</a> <span class="preprocessor">#define XMP_PropIsSimple(opt) (((opt) &amp; kXMP_PropCompositeMask) == 0)</span>
+<a name="l00516"></a><a class="code" href="XMP__Const_8h.html#aebea8c35e09da7db613e27d0e3ce945f">00516</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsStruct(opt) (((opt) &amp; kXMP_PropValueIsStruct) != 0)</span>
+<a name="l00517"></a><a class="code" href="XMP__Const_8h.html#a98ae521b621cfa3611211e3922a0fce8">00517</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsArray(opt) (((opt) &amp; kXMP_PropValueIsArray) != 0)</span>
+<a name="l00518"></a>00518 <span class="preprocessor"></span>
+<a name="l00519"></a><a class="code" href="XMP__Const_8h.html#a8d763b3d36c7067cd7bccd32d4066b43">00519</a> <span class="preprocessor">#define XMP_ArrayIsUnordered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</span>
+<a name="l00520"></a><a class="code" href="XMP__Const_8h.html#a72c7077f3ff3e39804a899533867327d">00520</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsOrdered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</span>
+<a name="l00521"></a><a class="code" href="XMP__Const_8h.html#a86bc34c4e64dec75618c348163a88720">00521</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAlternate(opt) (((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</span>
+<a name="l00522"></a><a class="code" href="XMP__Const_8h.html#abbef21da7bce1491f780586c3e01cd9e">00522</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAltText(opt) (((opt) &amp; kXMP_PropArrayIsAltText) != 0)</span>
+<a name="l00523"></a>00523 <span class="preprocessor"></span>
+<a name="l00524"></a><a class="code" href="XMP__Const_8h.html#a10828aa191aa666aa1166c27beead2a6">00524</a> <span class="preprocessor">#define XMP_PropHasQualifiers(opt) (((opt) &amp; kXMP_PropHasQualifiers) != 0)</span>
+<a name="l00525"></a><a class="code" href="XMP__Const_8h.html#a8d1b4da6b3cb3a67bf4f8e79352eeeaa">00525</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsQualifier(opt) (((opt) &amp; kXMP_PropIsQualifier) != 0)</span>
+<a name="l00526"></a><a class="code" href="XMP__Const_8h.html#a7dc82df90f45b0d746b67d8fdc529c83">00526</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropHasLang(opt) (((opt) &amp; kXMP_PropHasLang) != 0)</span>
+<a name="l00527"></a>00527 <span class="preprocessor"></span>
+<a name="l00528"></a><a class="code" href="XMP__Const_8h.html#a12870d8442720ce5230791abc26f9597">00528</a> <span class="preprocessor">#define XMP_NodeIsSchema(opt) (((opt) &amp; kXMP_SchemaNode) != 0)</span>
+<a name="l00529"></a><a class="code" href="XMP__Const_8h.html#a193b1414fa5312da2aa1d833b85612d0">00529</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsAlias(opt) (((opt) &amp; kXMP_PropIsAlias) != 0)</span>
+<a name="l00530"></a>00530 <span class="preprocessor"></span>
+<a name="l00531"></a>00531 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00532"></a>00532
+<a name="l00534"></a>00534 <span class="keyword">enum</span> {
+<a name="l00535"></a>00535
+<a name="l00537"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb">00537</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a> = 0x00000002UL,
+<a name="l00538"></a>00538
+<a name="l00539"></a>00539 <span class="comment">// ------------------------------------------------------</span>
+<a name="l00540"></a>00540 <span class="comment">// Options relating to qualifiers attached to a property.</span>
+<a name="l00541"></a>00541
+<a name="l00543"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159">00543</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a> = 0x00000010UL,
+<a name="l00544"></a>00544
+<a name="l00549"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe">00549</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
+<a name="l00550"></a>00550
+<a name="l00552"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217">00552</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217" title="Implies kXMP_PropHasQualifiers, property has xml:lang.">kXMP_PropHasLang</a> = 0x00000040UL,
+<a name="l00553"></a>00553
+<a name="l00555"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5">00555</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5" title="Implies kXMP_PropHasQualifiers, property has rdf:type.">kXMP_PropHasType</a> = 0x00000080UL,
+<a name="l00556"></a>00556
+<a name="l00557"></a>00557 <span class="comment">// --------------------------------------------</span>
+<a name="l00558"></a>00558 <span class="comment">// Options relating to the data structure form.</span>
+<a name="l00559"></a>00559
+<a name="l00561"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e">00561</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> = 0x00000100UL,
+<a name="l00562"></a>00562
+<a name="l00565"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">00565</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
+<a name="l00566"></a>00566
+<a name="l00568"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0">00568</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0" title="The item order does not matter.">kXMP_PropArrayIsUnordered</a> = <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a>,
+<a name="l00569"></a>00569
+<a name="l00571"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04">00571</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
+<a name="l00572"></a>00572
+<a name="l00574"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1">00574</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
+<a name="l00575"></a>00575
+<a name="l00576"></a>00576 <span class="comment">// ------------------------------------</span>
+<a name="l00577"></a>00577 <span class="comment">// Additional struct and array options.</span>
+<a name="l00578"></a>00578
+<a name="l00581"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">00581</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
+<a name="l00582"></a>00582
+<a name="l00583"></a>00583 <span class="comment">// kXMP_InsertBeforeItem = 0x00004000UL, ! Used by SetXyz functions.</span>
+<a name="l00584"></a>00584 <span class="comment">// kXMP_InsertAfterItem = 0x00008000UL, ! Used by SetXyz functions.</span>
+<a name="l00585"></a>00585
+<a name="l00586"></a>00586 <span class="comment">// ----------------------------</span>
+<a name="l00587"></a>00587 <span class="comment">// Other miscellaneous options.</span>
+<a name="l00588"></a>00588
+<a name="l00591"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37">00591</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
+<a name="l00592"></a>00592
+<a name="l00595"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0">00595</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
+<a name="l00596"></a>00596
+<a name="l00598"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464">00598</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464" title="The value of this property is &amp;quot;owned&amp;quot; by the application, and should not...">kXMP_PropIsInternal</a> = 0x00040000UL,
+<a name="l00599"></a>00599
+<a name="l00601"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c">00601</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c" title="The value of this property is not derived from the document content.">kXMP_PropIsStable</a> = 0x00100000UL,
+<a name="l00602"></a>00602
+<a name="l00604"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877">00604</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877" title="The value of this property is derived from the document content.">kXMP_PropIsDerived</a> = 0x00200000UL,
+<a name="l00605"></a>00605
+<a name="l00606"></a>00606 <span class="comment">// kXMPUtil_AllowCommas = 0x10000000UL, ! Used by TXMPUtils::CatenateArrayItems and ::SeparateArrayItems.</span>
+<a name="l00607"></a>00607 <span class="comment">// kXMP_DeleteExisting = 0x20000000UL, ! Used by TXMPMeta::SetXyz functions to delete any pre-existing property.</span>
+<a name="l00608"></a>00608 <span class="comment">// kXMP_SchemaNode = 0x80000000UL, ! Returned by iterators - #define to avoid warnings</span>
+<a name="l00609"></a>00609
+<a name="l00610"></a>00610 <span class="comment">// ------------------------------</span>
+<a name="l00611"></a>00611 <span class="comment">// Masks that are multiple flags.</span>
+<a name="l00612"></a>00612
+<a name="l00614"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f">00614</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a> = <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> | <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> | <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> | <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a>,
+<a name="l00615"></a>00615
+<a name="l00617"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956">00617</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956" title="Property type bit-flag mask for composite types (array and struct).">kXMP_PropCompositeMask</a> = <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> | <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a>,
+<a name="l00618"></a>00618
+<a name="l00620"></a><a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974">00620</a> <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974" title="Mask for bits that are reserved for transient use by the implementation.">kXMP_ImplReservedMask</a> = 0x70000000L
+<a name="l00621"></a>00621
+<a name="l00622"></a>00622 };
+<a name="l00623"></a>00623
+<a name="l00624"></a>00624 <span class="preprocessor">#define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)</span>
+<a name="l00625"></a>00625 <span class="preprocessor"></span>
+<a name="l00634"></a>00634 <span class="keyword">enum</span> {
+<a name="l00635"></a>00635
+<a name="l00637"></a><a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f">00637</a> <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> = 0x00004000UL,
+<a name="l00638"></a>00638
+<a name="l00640"></a><a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05">00640</a> <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a> = 0x00008000UL,
+<a name="l00641"></a>00641
+<a name="l00643"></a><a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c">00643</a> <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c" title="Delete any pre-existing property.">kXMP_DeleteExisting</a> = 0x20000000UL,
+<a name="l00644"></a>00644
+<a name="l00646"></a><a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465">00646</a> <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465" title="Bit-flag mask for property-value option bits.">kXMP_PropValueOptionsMask</a> = <a class="code" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a>,
+<a name="l00647"></a>00647
+<a name="l00649"></a><a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df">00649</a> <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df" title="Bit-flag mask for array-item location bits.">kXMP_PropArrayLocationMask</a> = <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> | <a class="code" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a>
+<a name="l00650"></a>00650
+<a name="l00651"></a>00651 };
+<a name="l00652"></a>00652
+<a name="l00653"></a>00653 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00654"></a>00654
+<a name="l00656"></a>00656 <span class="keyword">enum</span> {
+<a name="l00657"></a>00657
+<a name="l00659"></a><a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400">00659</a> <a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400" title="Require a surrounding x:xmpmeta element.">kXMP_RequireXMPMeta</a> = 0x0001UL,
+<a name="l00660"></a>00660
+<a name="l00662"></a><a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e">00662</a> <a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a> = 0x0002UL,
+<a name="l00663"></a>00663
+<a name="l00665"></a><a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1">00665</a> <a class="code" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1" title="Do not reconcile alias differences, throw an exception.">kXMP_StrictAliasing</a> = 0x0004UL
+<a name="l00666"></a>00666
+<a name="l00667"></a>00667 };
+<a name="l00668"></a>00668
+<a name="l00670"></a>00670 <span class="keyword">enum</span> {
+<a name="l00671"></a>00671
+<a name="l00672"></a>00672 <span class="comment">// *** Option to remove empty struct/array, or leaf with empty value?</span>
+<a name="l00673"></a>00673
+<a name="l00675"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76">00675</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76" title="Omit the XML packet wrapper.">kXMP_OmitPacketWrapper</a> = 0x0010UL,
+<a name="l00676"></a>00676
+<a name="l00678"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6">00678</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a> = 0x0020UL,
+<a name="l00679"></a>00679
+<a name="l00681"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb">00681</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb" title="Use a compact form of RDF.">kXMP_UseCompactFormat</a> = 0x0040UL,
+<a name="l00682"></a>00682
+<a name="l00684"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a">00684</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
+<a name="l00685"></a>00685
+<a name="l00687"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6">00687</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a> = 0x0200UL,
+<a name="l00688"></a>00688
+<a name="l00690"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29">00690</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29" title="Omit all formatting whitespace.">kXMP_OmitAllFormatting</a> = 0x0800UL,
+<a name="l00691"></a>00691
+<a name="l00693"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856">00693</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856" title="Omit the x:xmpmeta element surrounding the rdf:RDF element.">kXMP_OmitXMPMetaElement</a> = 0x1000UL,
+<a name="l00694"></a>00694
+<a name="l00695"></a>00695 _XMP_LittleEndian_Bit = 0x0001UL, <span class="comment">// ! Don&#39;t use directly, see the combined values below!</span>
+<a name="l00696"></a>00696 _XMP_UTF16_Bit = 0x0002UL,
+<a name="l00697"></a>00697 _XMP_UTF32_Bit = 0x0004UL,
+<a name="l00698"></a>00698
+<a name="l00700"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845">00700</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845" title="Bit-flag mask for encoding-type bits.">kXMP_EncodingMask</a> = 0x0007UL,
+<a name="l00701"></a>00701
+<a name="l00703"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab">00703</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a> = 0UL,
+<a name="l00704"></a>00704
+<a name="l00706"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d">00706</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
+<a name="l00707"></a>00707
+<a name="l00709"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830">00709</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
+<a name="l00710"></a>00710
+<a name="l00712"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713">00712</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
+<a name="l00713"></a>00713
+<a name="l00715"></a><a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e">00715</a> <a class="code" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
+<a name="l00716"></a>00716
+<a name="l00717"></a>00717 };
+<a name="l00718"></a>00718
+<a name="l00719"></a>00719 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00720"></a>00720
+<a name="l00722"></a>00722 <span class="keyword">enum</span> {
+<a name="l00723"></a>00723
+<a name="l00725"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044">00725</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044" title="The low 8 bits are an enum of what data structure to iterate.">kXMP_IterClassMask</a> = 0x00FFUL,
+<a name="l00726"></a>00726
+<a name="l00728"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b">00728</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b" title="Iterate the property tree of a TXMPMeta object.">kXMP_IterProperties</a> = 0x0000UL,
+<a name="l00729"></a>00729
+<a name="l00731"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9">00731</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9" title="Iterate the global alias table.">kXMP_IterAliases</a> = 0x0001UL,
+<a name="l00732"></a>00732
+<a name="l00734"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b">00734</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b" title="Iterate the global namespace table.">kXMP_IterNamespaces</a> = 0x0002UL,
+<a name="l00735"></a>00735
+<a name="l00737"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed">00737</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a> = 0x0100UL,
+<a name="l00738"></a>00738
+<a name="l00740"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19">00740</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a> = 0x0200UL,
+<a name="l00741"></a>00741
+<a name="l00743"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344">00743</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a> = 0x0400UL,
+<a name="l00744"></a>00744
+<a name="l00746"></a><a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101">00746</a> <a class="code" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a> = 0x1000UL
+<a name="l00747"></a>00747
+<a name="l00748"></a>00748 };
+<a name="l00749"></a>00749
+<a name="l00751"></a>00751 <span class="keyword">enum</span> {
+<a name="l00752"></a>00752
+<a name="l00754"></a><a class="code" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e">00754</a> <a class="code" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a> = 0x0001UL,
+<a name="l00755"></a>00755
+<a name="l00757"></a><a class="code" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12">00757</a> <a class="code" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a> = 0x0002UL
+<a name="l00758"></a>00758
+<a name="l00759"></a>00759 };
+<a name="l00760"></a>00760
+<a name="l00761"></a>00761 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00762"></a>00762
+<a name="l00769"></a>00769 <span class="keyword">enum</span> {
+<a name="l00770"></a>00770
+<a name="l00772"></a><a class="code" href="XMP__Const_8h.html#abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506">00772</a> <a class="code" href="XMP__Const_8h.html#abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506" title="Allow commas in item values, default is separator.">kXMPUtil_AllowCommas</a> = 0x10000000UL
+<a name="l00773"></a>00773
+<a name="l00774"></a>00774 };
+<a name="l00775"></a>00775
+<a name="l00777"></a>00777 <span class="keyword">enum</span> {
+<a name="l00778"></a>00778
+<a name="l00780"></a><a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea">00780</a> <a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea" title="Do all properties, default is just external properties.">kXMPTemplate_IncludeInternalProperties</a> = 0x0001UL,
+<a name="l00781"></a>00781
+<a name="l00783"></a><a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544">00783</a> <a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544" title="Perform a Replace operation, add new properties and modify existing ones.">kXMPTemplate_ReplaceExistingProperties</a> = 0x0002UL,
+<a name="l00784"></a>00784
+<a name="l00786"></a><a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5">00786</a> <a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5" title="Similar to Replace, also delete if the template has an empty value.">kXMPTemplate_ReplaceWithDeleteEmpty</a> = 0x0004UL,
+<a name="l00787"></a>00787
+<a name="l00789"></a><a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42">00789</a> <a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42" title="Perform an Add operation, add properties if they don&amp;#39;t already exist.">kXMPTemplate_AddNewProperties</a> = 0x0008UL,
+<a name="l00790"></a>00790
+<a name="l00792"></a><a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46">00792</a> <a class="code" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46" title="Perform a Clear operation, keep named properties and delete everything else.">kXMPTemplate_ClearUnnamedProperties</a> = 0x0010UL
+<a name="l00793"></a>00793
+<a name="l00794"></a>00794 };
+<a name="l00795"></a>00795
+<a name="l00797"></a>00797 <span class="keyword">enum</span> {
+<a name="l00798"></a>00798
+<a name="l00800"></a><a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb">00800</a> <a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a> = 0x0001UL,
+<a name="l00801"></a>00801
+<a name="l00803"></a><a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962">00803</a> <a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962" title="Replace existing values, default is to leave them.">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
+<a name="l00804"></a>00804
+<a name="l00806"></a><a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9">00806</a> <a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9" title="Delete properties if the new value is empty.">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
+<a name="l00807"></a>00807
+<a name="l00809"></a><a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b">00809</a> <a class="code" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a> = 0x0800UL
+<a name="l00810"></a>00810
+<a name="l00811"></a>00811 };
+<a name="l00812"></a>00812
+<a name="l00813"></a>00813 <span class="comment">// =================================================================================================</span>
+<a name="l00814"></a>00814 <span class="comment">// Types and Constants for XMPFiles</span>
+<a name="l00815"></a>00815 <span class="comment">// ================================</span>
+<a name="l00816"></a>00816
+<a name="l00818"></a>00818 <span class="keyword">enum</span> {
+<a name="l00819"></a>00819
+<a name="l00820"></a>00820 <span class="comment">// ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There</span>
+<a name="l00821"></a>00821 <span class="comment">// ! seems to be no decent way on UNIX to determine the target endianness at compile time.</span>
+<a name="l00822"></a>00822 <span class="comment">// ! Forcing it on the client isn&#39;t acceptable.</span>
+<a name="l00823"></a>00823
+<a name="l00824"></a>00824 <span class="comment">// --------------------</span>
+<a name="l00825"></a>00825 <span class="comment">// Public file formats.</span>
+<a name="l00826"></a>00826
+<a name="l00828"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb">00828</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &amp;#39;PDF &amp;#39;.">kXMP_PDFFile</a> = 0x50444620UL,
+<a name="l00830"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70">00830</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70" title="Public file format constant: &amp;#39;PS &amp;#39;, general PostScript following DSC conventions...">kXMP_PostScriptFile</a> = 0x50532020UL,
+<a name="l00832"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e">00832</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e" title="Public file format constant: &amp;#39;EPS &amp;#39;, encapsulated PostScript.">kXMP_EPSFile</a> = 0x45505320UL,
+<a name="l00833"></a>00833
+<a name="l00835"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487">00835</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487" title="Public file format constant: &amp;#39;JPEG&amp;#39;.">kXMP_JPEGFile</a> = 0x4A504547UL,
+<a name="l00837"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d">00837</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d" title="Public file format constant: &amp;#39;JPX &amp;#39;, JPEG 2000, ISO 15444-1.">kXMP_JPEG2KFile</a> = 0x4A505820UL,
+<a name="l00839"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08">00839</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08" title="Public file format constant: &amp;#39;TIFF&amp;#39;.">kXMP_TIFFFile</a> = 0x54494646UL,
+<a name="l00841"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06">00841</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06" title="Public file format constant: &amp;#39;GIF &amp;#39;.">kXMP_GIFFile</a> = 0x47494620UL,
+<a name="l00843"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371">00843</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371" title="Public file format constant: &amp;#39;PNG &amp;#39;.">kXMP_PNGFile</a> = 0x504E4720UL,
+<a name="l00844"></a>00844
+<a name="l00846"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597">00846</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597" title="Public file format constant: &amp;#39;SWF &amp;#39;.">kXMP_SWFFile</a> = 0x53574620UL,
+<a name="l00848"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9">00848</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9" title="Public file format constant: &amp;#39;FLA &amp;#39;.">kXMP_FLAFile</a> = 0x464C4120UL,
+<a name="l00850"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f">00850</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f" title="Public file format constant: &amp;#39;FLV &amp;#39;.">kXMP_FLVFile</a> = 0x464C5620UL,
+<a name="l00851"></a>00851
+<a name="l00853"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37">00853</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37" title="Public file format constant: &amp;#39;MOV &amp;#39;, Quicktime.">kXMP_MOVFile</a> = 0x4D4F5620UL,
+<a name="l00855"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e">00855</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e" title="Public file format constant: &amp;#39;AVI &amp;#39;.">kXMP_AVIFile</a> = 0x41564920UL,
+<a name="l00857"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb">00857</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb" title="Public file format constant: &amp;#39;CIN &amp;#39;, Cineon.">kXMP_CINFile</a> = 0x43494E20UL,
+<a name="l00859"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8">00859</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8" title="Public file format constant: &amp;#39;WAV &amp;#39;.">kXMP_WAVFile</a> = 0x57415620UL,
+<a name="l00861"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b">00861</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b" title="Public file format constant: &amp;#39;MP3 &amp;#39;.">kXMP_MP3File</a> = 0x4D503320UL,
+<a name="l00863"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9">00863</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9" title="Public file format constant: &amp;#39;SES &amp;#39;, Audition session.">kXMP_SESFile</a> = 0x53455320UL,
+<a name="l00865"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789">00865</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789" title="Public file format constant: &amp;#39;CEL &amp;#39;, Audition loop.">kXMP_CELFile</a> = 0x43454C20UL,
+<a name="l00867"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8">00867</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8" title="Public file format constant: &amp;#39;MPEG&amp;#39;.">kXMP_MPEGFile</a> = 0x4D504547UL,
+<a name="l00869"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a">00869</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a" title="Public file format constant: &amp;#39;MP2 &amp;#39;.">kXMP_MPEG2File</a> = 0x4D503220UL,
+<a name="l00871"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91">00871</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91" title="Public file format constant: &amp;#39;MP4 &amp;#39;, ISO 14494-12 and -14.">kXMP_MPEG4File</a> = 0x4D503420UL,
+<a name="l00873"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622">00873</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622" title="Public file format constant: &amp;#39;WMAV&amp;#39;, Windows Media Audio and Video.">kXMP_WMAVFile</a> = 0x574D4156UL,
+<a name="l00875"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3">00875</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3" title="Public file format constant: &amp;#39;AIFF&amp;#39;.">kXMP_AIFFFile</a> = 0x41494646UL,
+<a name="l00877"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34">00877</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34" title="Public file format constant: &amp;#39;P2 &amp;#39;, a collection not really a single file...">kXMP_P2File</a> = 0x50322020UL,
+<a name="l00879"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57">00879</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57" title="Public file format constant: &amp;#39;XDCF&amp;#39;, a collection not really a single file...">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
+<a name="l00881"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852">00881</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852" title="Public file format constant: &amp;#39;XDCS&amp;#39;, a collection not really a single file...">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
+<a name="l00883"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc">00883</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc" title="Public file format constant: &amp;#39;XDCX&amp;#39;, a collection not really a single file...">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
+<a name="l00885"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2">00885</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2" title="Public file format constant: &amp;#39;AVHD&amp;#39;, a collection not really a single file...">kXMP_AVCHDFile</a> = 0x41564844UL,
+<a name="l00887"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e">00887</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e" title="Public file format constant: &amp;#39;SHDV&amp;#39;, a collection not really a single file...">kXMP_SonyHDVFile</a> = 0x53484456UL,
+<a name="l00888"></a>00888
+<a name="l00890"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760">00890</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760" title="Public file format constant: &amp;#39;HTML&amp;#39;.">kXMP_HTMLFile</a> = 0x48544D4CUL,
+<a name="l00892"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124">00892</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124" title="Public file format constant: &amp;#39;XML &amp;#39;.">kXMP_XMLFile</a> = 0x584D4C20UL,
+<a name="l00894"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd">00894</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd" title="Public file format constant: &amp;#39;text&amp;#39;.">kXMP_TextFile</a> = 0x74657874UL,
+<a name="l00895"></a>00895
+<a name="l00896"></a>00896 <span class="comment">// -------------------------------</span>
+<a name="l00897"></a>00897 <span class="comment">// Adobe application file formats.</span>
+<a name="l00898"></a>00898
+<a name="l00900"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c">00900</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c" title="Adobe application file format constant: &amp;#39;PSD &amp;#39;.">kXMP_PhotoshopFile</a> = 0x50534420UL,
+<a name="l00902"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554">00902</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554" title="Adobe application file format constant: &amp;#39;AI &amp;#39;.">kXMP_IllustratorFile</a> = 0x41492020UL,
+<a name="l00904"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60">00904</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60" title="Adobe application file format constant: &amp;#39;INDD&amp;#39;.">kXMP_InDesignFile</a> = 0x494E4444UL,
+<a name="l00906"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e">00906</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e" title="Adobe application file format constant: &amp;#39;AEP &amp;#39;.">kXMP_AEProjectFile</a> = 0x41455020UL,
+<a name="l00908"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df">00908</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df" title="Adobe application file format constant: &amp;#39;AET &amp;#39;, After Effects Project Template...">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
+<a name="l00910"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0">00910</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0" title="Adobe application file format constant: &amp;#39;FFX &amp;#39;.">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
+<a name="l00912"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a">00912</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a" title="Adobe application file format constant: &amp;#39;NCOR&amp;#39;.">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
+<a name="l00914"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d">00914</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d" title="Adobe application file format constant: &amp;#39;PRPJ&amp;#39;.">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
+<a name="l00916"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a">00916</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a" title="Adobe application file format constant: &amp;#39;PRTL&amp;#39;.">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
+<a name="l00918"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96">00918</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96" title="Adobe application file format constant: &amp;#39;UCF &amp;#39;, Universal Container Format...">kXMP_UCFFile</a> = 0x55434620UL,
+<a name="l00919"></a>00919
+<a name="l00920"></a>00920 <span class="comment">// -------</span>
+<a name="l00921"></a>00921 <span class="comment">// Others.</span>
+<a name="l00922"></a>00922
+<a name="l00924"></a><a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719">00924</a> <a class="code" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a> = 0x20202020UL
+<a name="l00925"></a>00925
+<a name="l00926"></a>00926 };
+<a name="l00927"></a>00927
+<a name="l00929"></a><a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">00929</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a>;
+<a name="l00930"></a>00930
+<a name="l00931"></a>00931 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00932"></a>00932
+<a name="l00934"></a>00934 <span class="keyword">enum</span> {
+<a name="l00935"></a>00935 kXMP_CharLittleEndianMask = 1,
+<a name="l00936"></a>00936 kXMP_Char16BitMask = 2,
+<a name="l00937"></a>00937 kXMP_Char32BitMask = 4
+<a name="l00938"></a>00938 };
+<a name="l00939"></a>00939
+<a name="l00941"></a>00941 <span class="keyword">enum</span> {
+<a name="l00943"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637">00943</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637" title="8-bit">kXMP_Char8Bit</a> = 0,
+<a name="l00945"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d">00945</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d" title="16-bit big-endian">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
+<a name="l00947"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa">00947</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa" title="16-bit little-endian">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
+<a name="l00949"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc">00949</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc" title="32-bit big-endian">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
+<a name="l00951"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e">00951</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e" title="32-bit little-endian">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
+<a name="l00953"></a><a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b">00953</a> <a class="code" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b" title="Variable or not-yet-known cases.">kXMP_CharUnknown</a> = 1
+<a name="l00954"></a>00954 };
+<a name="l00955"></a>00955
+<a name="l00988"></a>00988
+<a name="l00989"></a><a class="code" href="XMP__Const_8h.html#aa7596216164335f926cb91d600cddf99">00989</a> <span class="preprocessor">#define XMP_CharFormIs16Bit(f) ( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</span>
+<a name="l00990"></a><a class="code" href="XMP__Const_8h.html#a1e99ef08266943f52f5c649ab2836ddf">00990</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIs32Bit(f) ( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</span>
+<a name="l00991"></a><a class="code" href="XMP__Const_8h.html#aba2539629b8d238fc56a1901dd07ebca">00991</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsBigEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</span>
+<a name="l00992"></a><a class="code" href="XMP__Const_8h.html#a906ec1cd2fb1631c1b5ad9ccdf9c0a6b">00992</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsLittleEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</span>
+<a name="l00993"></a><a class="code" href="XMP__Const_8h.html#a85bbf023b1b799c3c20176aa289d32b0">00993</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_GetCharSize(f) ( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</span>
+<a name="l00994"></a><a class="code" href="XMP__Const_8h.html#a8f522964919b742b4138c79611997bae">00994</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) )</span>
+<a name="l00995"></a><a class="code" href="XMP__Const_8h.html#a93e7900e6c9fb4057dfd685b5201057d">00995</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) )</span>
+<a name="l00996"></a>00996 <span class="preprocessor"></span>
+<a name="l00999"></a><a class="code" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">00999</a> <span class="preprocessor">#define kXMPFiles_UnknownOffset ((XMP_Int64)-1)</span>
+<a name="l01000"></a>01000 <span class="preprocessor"></span>
+<a name="l01003"></a><a class="code" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">01003</a> <span class="preprocessor">#define kXMPFiles_UnknownLength ((XMP_Int32)-1)</span>
+<a name="l01004"></a>01004 <span class="preprocessor"></span>
+<a name="l01006"></a><a class="code" href="structXMP__PacketInfo.html">01006</a> <span class="keyword">struct </span><a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> {
+<a name="l01007"></a>01007
+<a name="l01009"></a><a class="code" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">01009</a> XMP_Int64 <a class="code" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>;
+<a name="l01011"></a><a class="code" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">01011</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>;
+<a name="l01013"></a><a class="code" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">01013</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>; <span class="comment">// Zero if unknown.</span>
+<a name="l01014"></a>01014
+<a name="l01016"></a><a class="code" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">01016</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>;
+<a name="l01018"></a><a class="code" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">01018</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>;
+<a name="l01020"></a><a class="code" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">01020</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>;
+<a name="l01021"></a>01021
+<a name="l01023"></a><a class="code" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">01023</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>;
+<a name="l01024"></a>01024
+<a name="l01026"></a><a class="code" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">01026</a> <a class="code" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8" title="Default constructor.">XMP_PacketInfo</a>() : <a class="code" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>(<a class="code" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4" title="Constant for an unknown packet offset within a file.">kXMPFiles_UnknownOffset</a>), <a class="code" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>(<a class="code" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658" title="Constant for an unknown packet length within a file.">kXMPFiles_UnknownLength</a>),
+<a name="l01027"></a>01027 <a class="code" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>(0), <a class="code" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>(0), <a class="code" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>(0), <a class="code" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>(0), <a class="code" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>(0) {};
+<a name="l01028"></a>01028
+<a name="l01029"></a>01029 };
+<a name="l01030"></a>01030
+<a name="l01032"></a>01032 <span class="keyword">enum</span> {
+<a name="l01034"></a><a class="code" href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817">01034</a> <a class="code" href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817" title="Version of the XMP_PacketInfo type.">kXMP_PacketInfoVersion</a> = 3
+<a name="l01035"></a>01035 };
+<a name="l01036"></a>01036
+<a name="l01037"></a>01037 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01038"></a>01038
+<a name="l01040"></a>01040 <span class="keyword">enum</span> {
+<a name="l01042"></a><a class="code" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50">01042</a> <a class="code" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50" title="Ignore non-XMP text that uses an undefined &amp;quot;local&amp;quot; encoding.">kXMPFiles_IgnoreLocalText</a> = 0x0002,
+<a name="l01044"></a><a class="code" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145">01044</a> <a class="code" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145" title="Combination of flags necessary for server products using XMPFiles.">kXMPFiles_ServerMode</a> = <a class="code" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50" title="Ignore non-XMP text that uses an undefined &amp;quot;local&amp;quot; encoding.">kXMPFiles_IgnoreLocalText</a>
+<a name="l01045"></a>01045 };
+<a name="l01046"></a>01046
+<a name="l01048"></a>01048 <span class="keyword">enum</span> {
+<a name="l01049"></a>01049
+<a name="l01051"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388">01051</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a> = 0x00000001,
+<a name="l01052"></a>01052
+<a name="l01054"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c">01054</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a> = 0x00000002,
+<a name="l01055"></a>01055
+<a name="l01057"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07">01057</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a> = 0x00000004,
+<a name="l01058"></a>01058
+<a name="l01060"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3">01060</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3" title="Can expand, but prefers in-place update.">kXMPFiles_PrefersInPlace</a> = 0x00000008,
+<a name="l01061"></a>01061
+<a name="l01063"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694">01063</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a> = 0x00000010,
+<a name="l01064"></a>01064
+<a name="l01066"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733">01066</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
+<a name="l01067"></a>01067
+<a name="l01069"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea">01069</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
+<a name="l01070"></a>01070
+<a name="l01072"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4">01072</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4" title="The file handler does the file open and close.">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
+<a name="l01073"></a>01073
+<a name="l01075"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd">01075</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd" title="The file handler allows crash-safe file updates.">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
+<a name="l01076"></a>01076
+<a name="l01078"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999">01078</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999" title="The file format needs the XMP packet to be read-only.">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
+<a name="l01079"></a>01079
+<a name="l01081"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c">01081</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c" title="The file handler uses a &amp;quot;sidecar&amp;quot; file for the XMP.">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
+<a name="l01082"></a>01082
+<a name="l01084"></a><a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd">01084</a> <a class="code" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd" title="The format is folder oriented, for example the P2 video format.">kXMPFiles_FolderBasedFormat</a> = 0x00001000
+<a name="l01085"></a>01085
+<a name="l01086"></a>01086 };
+<a name="l01087"></a>01087
+<a name="l01089"></a>01089 <span class="keyword">enum</span> {
+<a name="l01090"></a>01090
+<a name="l01092"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2">01092</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a> = 0x00000001,
+<a name="l01093"></a>01093
+<a name="l01095"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b">01095</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a> = 0x00000002,
+<a name="l01096"></a>01096
+<a name="l01098"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96">01098</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
+<a name="l01099"></a>01099
+<a name="l01101"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18">01101</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about only attempting to use the designated file handler, no fallback to...">kXMPFiles_OpenStrictly</a> = 0x00000010,
+<a name="l01102"></a>01102
+<a name="l01104"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646">01104</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
+<a name="l01105"></a>01105
+<a name="l01107"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285">01107</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
+<a name="l01108"></a>01108
+<a name="l01110"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182">01110</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &amp;quot;known&amp;quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
+<a name="l01111"></a>01111
+<a name="l01113"></a><a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a">01113</a> <a class="code" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a" title="Attempt to repair a file opened for update, default is to not open (throw an exception)...">kXMPFiles_OpenRepairFile</a> = 0x00000100
+<a name="l01114"></a>01114
+<a name="l01115"></a>01115 };
+<a name="l01116"></a>01116
+<a name="l01118"></a>01118 <span class="keyword">enum</span> {
+<a name="l01120"></a><a class="code" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54">01120</a> <a class="code" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a> = 0x0001
+<a name="l01121"></a>01121 };
+<a name="l01122"></a>01122
+<a name="l01123"></a>01123 <span class="comment">// =================================================================================================</span>
+<a name="l01124"></a>01124 <span class="comment">// Exception codes</span>
+<a name="l01125"></a>01125 <span class="comment">// ===============</span>
+<a name="l01126"></a>01126
+<a name="l01140"></a>01140
+<a name="l01142"></a><a class="code" href="classXMP__Error.html">01142</a> <span class="keyword">class </span><a class="code" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a> {
+<a name="l01143"></a>01143 <span class="keyword">public</span>:
+<a name="l01144"></a>01144
+<a name="l01151"></a><a class="code" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa">01151</a> <a class="code" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa" title="Constructor for an XMP_Error.">XMP_Error</a> ( XMP_Int32 _id, XMP_StringPtr _errMsg ) : <a class="code" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>(_id), <a class="code" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">errMsg</a>(_errMsg) {};
+<a name="l01152"></a>01152
+<a name="l01154"></a><a class="code" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd">01154</a> <span class="keyword">inline</span> XMP_Int32 <a class="code" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd" title="Retrieves the numeric code from an XMP_Error.">GetID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>; };
+<a name="l01155"></a>01155
+<a name="l01157"></a><a class="code" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125">01157</a> <span class="keyword">inline</span> XMP_StringPtr <a class="code" href="classXMP__Error.html#a9a3560c67612dec9a6ca37c34eb2c153" title="Retrieves the descriptive string from an XMP_Error.">GetErrMsg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">errMsg</a>; };
+<a name="l01158"></a>01158
+<a name="l01159"></a>01159 <span class="keyword">private</span>:
+<a name="l01161"></a>01161 XMP_Int32 <a class="code" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>;
+<a name="l01164"></a><a class="code" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">01164</a> XMP_StringPtr <a class="code" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">errMsg</a>;
+<a name="l01165"></a>01165 };
+<a name="l01166"></a>01166
+<a name="l01168"></a>01168 <span class="keyword">enum</span> {
+<a name="l01169"></a>01169
+<a name="l01170"></a>01170 <span class="comment">// --------------------</span>
+<a name="l01171"></a>01171 <span class="comment">// Generic error codes.</span>
+<a name="l01172"></a>01172
+<a name="l01174"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581">01174</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581" title="Generic unknown error.">kXMPErr_Unknown</a> = 0,
+<a name="l01176"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1">01176</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1" title="Generic undefined error.">kXMPErr_TBD</a> = 1,
+<a name="l01178"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3">01178</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3" title="Generic unavailable error.">kXMPErr_Unavailable</a> = 2,
+<a name="l01180"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1">01180</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1" title="Generic bad object error.">kXMPErr_BadObject</a> = 3,
+<a name="l01182"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1">01182</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1" title="Generic bad parameter error.">kXMPErr_BadParam</a> = 4,
+<a name="l01184"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a">01184</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a" title="Generic bad value error.">kXMPErr_BadValue</a> = 5,
+<a name="l01186"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6">01186</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6" title="Generic assertion failure.">kXMPErr_AssertFailure</a> = 6,
+<a name="l01188"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b">01188</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b" title="Generic enforcement failure.">kXMPErr_EnforceFailure</a> = 7,
+<a name="l01190"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2">01190</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2" title="Generic unimplemented error.">kXMPErr_Unimplemented</a> = 8,
+<a name="l01192"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0">01192</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0" title="Generic internal failure.">kXMPErr_InternalFailure</a> = 9,
+<a name="l01194"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7">01194</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7" title="Generic deprecated error.">kXMPErr_Deprecated</a> = 10,
+<a name="l01196"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb">01196</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb" title="Generic external failure.">kXMPErr_ExternalFailure</a> = 11,
+<a name="l01198"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195">01198</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195" title="Generic user abort error.">kXMPErr_UserAbort</a> = 12,
+<a name="l01200"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb">01200</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb" title="Generic standard exception.">kXMPErr_StdException</a> = 13,
+<a name="l01202"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4">01202</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4" title="Generic unknown exception.">kXMPErr_UnknownException</a> = 14,
+<a name="l01204"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813">01204</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813" title="Generic out-of-memory error.">kXMPErr_NoMemory</a> = 15,
+<a name="l01205"></a>01205
+<a name="l01206"></a>01206 <span class="comment">// ------------------------------------</span>
+<a name="l01207"></a>01207 <span class="comment">// More specific parameter error codes.</span>
+<a name="l01208"></a>01208
+<a name="l01210"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539">01210</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539" title="Bad schema parameter.">kXMPErr_BadSchema</a> = 101,
+<a name="l01212"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7">01212</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7" title="Bad XPath parameter.">kXMPErr_BadXPath</a> = 102,
+<a name="l01214"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444">01214</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444" title="Bad options parameter.">kXMPErr_BadOptions</a> = 103,
+<a name="l01216"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010">01216</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010" title="Bad index parameter.">kXMPErr_BadIndex</a> = 104,
+<a name="l01218"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9">01218</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9" title="Bad iteration position.">kXMPErr_BadIterPosition</a> = 105,
+<a name="l01220"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8">01220</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8" title="XML parsing error.">kXMPErr_BadParse</a> = 106,
+<a name="l01222"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9">01222</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9" title="Serialization error.">kXMPErr_BadSerialize</a> = 107,
+<a name="l01224"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8">01224</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8" title="File format error.">kXMPErr_BadFileFormat</a> = 108,
+<a name="l01226"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795">01226</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795" title="No file handler found for format.">kXMPErr_NoFileHandler</a> = 109,
+<a name="l01228"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b">01228</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b" title="Data too large for JPEG file format.">kXMPErr_TooLargeForJPEG</a> = 110,
+<a name="l01229"></a>01229
+<a name="l01230"></a>01230 <span class="comment">// -----------------------------------------------</span>
+<a name="l01231"></a>01231 <span class="comment">// File format and internal structure error codes.</span>
+<a name="l01232"></a>01232
+<a name="l01234"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5">01234</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5" title="XML format error.">kXMPErr_BadXML</a> = 201,
+<a name="l01236"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e">01236</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e" title="RDF format error.">kXMPErr_BadRDF</a> = 202,
+<a name="l01238"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821">01238</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821" title="XMP format error.">kXMPErr_BadXMP</a> = 203,
+<a name="l01240"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179">01240</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179" title="Empty iterator.">kXMPErr_EmptyIterator</a> = 204,
+<a name="l01242"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f">01242</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f" title="Unicode error.">kXMPErr_BadUnicode</a> = 205,
+<a name="l01244"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d">01244</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d" title="TIFF format error.">kXMPErr_BadTIFF</a> = 206,
+<a name="l01246"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee">01246</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee" title="JPEG format error.">kXMPErr_BadJPEG</a> = 207,
+<a name="l01248"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d">01248</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d" title="PSD format error.">kXMPErr_BadPSD</a> = 208,
+<a name="l01250"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3">01250</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3" title="PSIR format error.">kXMPErr_BadPSIR</a> = 209,
+<a name="l01252"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e">01252</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e" title="IPTC format error.">kXMPErr_BadIPTC</a> = 210,
+<a name="l01254"></a><a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad">01254</a> <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad" title="MPEG format error.">kXMPErr_BadMPEG</a> = 211
+<a name="l01255"></a>01255
+<a name="l01256"></a>01256 };
+<a name="l01257"></a>01257
+<a name="l01259"></a>01259
+<a name="l01260"></a>01260 <span class="comment">// =================================================================================================</span>
+<a name="l01261"></a>01261 <span class="comment">// Client callbacks</span>
+<a name="l01262"></a>01262 <span class="comment">// ================</span>
+<a name="l01263"></a>01263
+<a name="l01264"></a>01264 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01267"></a>01267 <span class="comment"></span>
+<a name="l01272"></a>01272
+<a name="l01273"></a><a class="code" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">01273</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>;
+<a name="l01274"></a>01274
+<a name="l01275"></a>01275 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01290"></a>01290 <span class="comment"></span>
+<a name="l01291"></a><a class="code" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">01291</a> <span class="keyword">typedef</span> <a class="code" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> (* <a class="code" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>) ( <span class="keywordtype">void</span> * refCon,
+<a name="l01292"></a>01292 XMP_StringPtr buffer,
+<a name="l01293"></a>01293 XMP_StringLen bufferSize );
+<a name="l01294"></a>01294
+<a name="l01295"></a>01295 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01304"></a>01304 <span class="comment"></span>
+<a name="l01305"></a><a class="code" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">01305</a> <span class="keyword">typedef</span> bool (* <a class="code" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>) ( <span class="keywordtype">void</span> * arg ); <span class="comment">// Used by .</span>
+<a name="l01306"></a>01306
+<a name="l01308"></a>01308
+<a name="l01309"></a>01309 <span class="comment">// =================================================================================================</span>
+<a name="l01310"></a>01310 <span class="comment">// Stuff with no better place to be</span>
+<a name="l01311"></a>01311 <span class="comment">// ================================</span>
+<a name="l01312"></a>01312
+<a name="l01314"></a><a class="code" href="structXMP__VersionInfo.html">01314</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> {
+<a name="l01316"></a><a class="code" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb">01316</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb" title="The primary release number, the &amp;quot;1&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">major</a>;
+<a name="l01318"></a><a class="code" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317">01318</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317" title="The secondary release number, the &amp;quot;2&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">minor</a>;
+<a name="l01320"></a><a class="code" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28">01320</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28" title="The tertiary release number, the &amp;quot;3&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">micro</a>;
+<a name="l01322"></a><a class="code" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018">01322</a> XMP_Bool <a class="code" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018" title="A 0/1 boolean value, true if this is a debug build.">isDebug</a>;
+<a name="l01324"></a><a class="code" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc">01324</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc" title="A rolling build number, monotonically increasing in a release.">build</a>;
+<a name="l01326"></a><a class="code" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74">01326</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74" title="Individual feature implementation flags.">flags</a>;
+<a name="l01328"></a><a class="code" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834">01328</a> XMP_StringPtr <a class="code" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834" title="A comprehensive version information string.">message</a>;
+<a name="l01329"></a>01329 } <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a>;
+<a name="l01330"></a>01330
+<a name="l01331"></a>01331 <span class="comment">// =================================================================================================</span>
+<a name="l01332"></a>01332
+<a name="l01333"></a>01333 <span class="preprocessor">#if __cplusplus</span>
+<a name="l01334"></a>01334 <span class="preprocessor"></span>} <span class="comment">// extern &quot;C&quot;</span>
+<a name="l01335"></a>01335 <span class="preprocessor">#endif</span>
+<a name="l01336"></a>01336 <span class="preprocessor"></span>
+<a name="l01337"></a>01337 <span class="preprocessor">#endif // __XMP_Const_h__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
+</body>
+</html>
diff --git a/docs/API/annotated.html b/docs/API/annotated.html
index 7d6540d..a3bf2af 100644
--- a/docs/API/annotated.html
+++ b/docs/API/annotated.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -71,11 +71,10 @@ window.onload = initDynSections;
<tr><td class="indexkey"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td class="indexvalue">The expanded type for a date and time </td></tr>
<tr><td class="indexkey"><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td class="indexvalue">XMP Toolkit error, associates an error code with a descriptive error string </td></tr>
<tr><td class="indexkey"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td class="indexvalue">XMP packet description </td></tr>
- <tr><td class="indexkey"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td class="indexvalue">Thumbnail descriptor </td></tr>
<tr><td class="indexkey"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td class="indexvalue">XMP Toolkit version information </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPFiles-members.html b/docs/API/classTXMPFiles-members.html
index 8985a53..d573fea 100644
--- a/docs/API/classTXMPFiles-members.html
+++ b/docs/API/classTXMPFiles-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,37 +63,36 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPFiles&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#2303dfcc00f108bda202600e3da9c109">CanPutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a>(XMP_StringPtr filePath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a>(XMP_StringPtr folderPath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">CloseFile</a>(XMP_OptionBits closeFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">GetFileInfo</a>(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a>(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">GetThumbnail</a>(XMP_ThumbnailInfo *tnailInfo)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a>(XMP_VersionInfo *versionInfo)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a>(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">Initialize</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">Initialize</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">OpenFile</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">operator=</a>(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#da77eab74c3440659db3122f6ec8b7f4">PutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#502ed01119e0421413e773f4f42683ec">PutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a>(XMP_AbortProc abortProc, void *abortArg)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">Terminate</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54">TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#f540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cf343fb6771b482ca72d467233a6f920">TXMPFiles</a>(const TXMPFiles&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#d986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a>(XMPFilesRef xmpFilesObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
+<h1>TXMPFiles&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a2303dfcc00f108bda202600e3da9c109">CanPutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a>(XMP_StringPtr filePath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a>(XMP_StringPtr folderPath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927">CloseFile</a>(XMP_OptionBits closeFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b">GetFileInfo</a>(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a>(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a>(XMP_VersionInfo *versionInfo)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a>(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d">Initialize</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a794e1830a84a6328eaa1995ba5aa6874">Initialize</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb">OpenFile</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#acfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a3f1483fcc92860460d3772216dfaef81">operator=</a>(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#ada77eab74c3440659db3122f6ec8b7f4">PutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a502ed01119e0421413e773f4f42683ec">PutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a>(XMP_AbortProc abortProc, void *abortArg)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a1e8de80c252b60b332dc4bc524139fd8">Terminate</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54">TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#af540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#acf343fb6771b482ca72d467233a6f920">TXMPFiles</a>(const TXMPFiles&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#ad986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a>(XMPFilesRef xmpFilesObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#a5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPFiles.html b/docs/API/classTXMPFiles.html
index 22b1063..7c09c52 100644
--- a/docs/API/classTXMPFiles.html
+++ b/docs/API/classTXMPFiles.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles&lt; tStringObj &gt; Class Template Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPFiles&lt; tStringObj &gt; Class Template Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,134 +63,108 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPFiles&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPFiles" -->API for access to the main (document-level) metadata in a file.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="TXMPFiles_8hpp-source.html">TXMPFiles.hpp</a>&gt;</code>
-<p>
+<h1>TXMPFiles&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPFiles" -->
+<p>API for access to the main (document-level) metadata in a file.
+<a href="#_details">More...</a></p>
-<p>
-<a href="classTXMPFiles-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>File operations</h2></td></tr>
-<tr><td colspan="2">These functions allow you to open, close, and query files. <br><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath)</td></tr>
+<p><code>#include &lt;<a class="el" href="TXMPFiles_8hpp_source.html">TXMPFiles.hpp</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file. <a href="#07b7c4b44fb0e0a7d115ddd5ba22f926"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> folderPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder. <a href="#7f505664c41d7304fb757d6009b0751c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">OpenFile</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access. <a href="#fcd21cfe5d6f13c648c5541e161919cb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object <a href="#cfef1688f3a62e2f465bb3a27da7b4ac"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">CloseFile</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> closeFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file. <a href="#eca89170c7aa3e2d56e30bff04dd7927"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">GetFileInfo</a> (tStringObj *filePath=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *openFlags=0, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *format=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file. <a href="#f9931d081cb19f98c81e41786030765b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a> (<a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc, void *abortArg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort. <a href="#7b86c130fdbd54b5ac158ec3fee93777"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<p><a href="classTXMPFiles-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors and destructor</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The default constructor initializes an object that is associated with no file. The alternate constructors call <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14f01e38454178578fd25fff6024fd54"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="14f01e38454178578fd25fff6024fd54" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54">TXMPFiles</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor initializes an object that is associated with no file. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a> () throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor; typical virtual destructor. <a href="#5eaa92724cc82d933a32eff9c4636739"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file. <a href="#36abe01988d4ca3939138e871c7b75e7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#f540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object. <a href="#f540b3ea689a6d7381dca4f52132a4ac"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cf343fb6771b482ca72d467233a6f920">TXMPFiles</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;original)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <a href="#cf343fb6771b482ca72d467233a6f920"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">operator=</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <a href="#3f1483fcc92860460d3772216dfaef81"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#d986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference. <a href="#d986c7b2e2d82eaef6cf6a33e9d09b65"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. <a href="#311fc36fdf7270fe05b1c531cdbbd009"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9f50e6f946106b24d825e99ea17f1027"></a> The default constructor initializes an object that is associated with no file. The alternate constructors call <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14f01e38454178578fd25fff6024fd54"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="a14f01e38454178578fd25fff6024fd54" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a14f01e38454178578fd25fff6024fd54">TXMPFiles</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor initializes an object that is associated with no file. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a> () throw ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor; typical virtual destructor. <a href="#a5eaa92724cc82d933a32eff9c4636739"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file. <a href="#a36abe01988d4ca3939138e871c7b75e7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#af540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object. <a href="#af540b3ea689a6d7381dca4f52132a4ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#acf343fb6771b482ca72d467233a6f920">TXMPFiles</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <a href="#acf343fb6771b482ca72d467233a6f920"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a3f1483fcc92860460d3772216dfaef81">operator=</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <a href="#a3f1483fcc92860460d3772216dfaef81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#ad986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference. <a href="#ad986c7b2e2d82eaef6cf6a33e9d09b65"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. <a href="#a311fc36fdf7270fe05b1c531cdbbd009"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessing metadata</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions allow you to retrieve XMP metadata from open files, so that you can use the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> API to manipulate it. The <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> functions update the XMP packet in memory. Changed XMP is not actually written out to the file until the file is closed. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a> (SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, <a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *packetInfo=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file. <a href="#42ca0bbc5ac66a8de1710e03a7ff17b3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">GetThumbnail</a> (<a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a> *tnailInfo)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail()</a></code> retrieves the native thumbnail from an open file. <a href="#4ea1eda39f803322e10b2a554ef8ab06"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file. <a href="#d3f7babdc07c7de0d0cd9a3362b4710a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#da77eab74c3440659db3122f6ec8b7f4">PutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input. <a href="#da77eab74c3440659db3122f6ec8b7f4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#502ed01119e0421413e773f4f42683ec">PutXMP</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length. <a href="#502ed01119e0421413e773f4f42683ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet. <a href="#29a11a1539d6300da3fb4c7e9ea02bb6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#1d3f32c2b95659ada198775e2f67c808"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#2303dfcc00f108bda202600e3da9c109">CanPutXMP</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#2303dfcc00f108bda202600e3da9c109"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp3ba55d9475ea0ae60516525ec20c5167"></a> These functions allow you to retrieve XMP metadata from open files, so that you can use the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> API to manipulate it. The <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> functions update the XMP packet in memory. Changed XMP is not actually written out to the file until the file is closed. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a> (SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, <a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *packetInfo=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file. <a href="#a42ca0bbc5ac66a8de1710e03a7ff17b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file. <a href="#ad3f7babdc07c7de0d0cd9a3362b4710a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#ada77eab74c3440659db3122f6ec8b7f4">PutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input. <a href="#ada77eab74c3440659db3122f6ec8b7f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a502ed01119e0421413e773f4f42683ec">PutXMP</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length. <a href="#a502ed01119e0421413e773f4f42683ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet. <a href="#a29a11a1539d6300da3fb4c7e9ea02bb6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#a1d3f32c2b95659ada198775e2f67c808"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a2303dfcc00f108bda202600e3da9c109">CanPutXMP</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#a2303dfcc00f108bda202600e3da9c109"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Initialization and termination</div></td></tr>
-<tr><td colspan="2"><div class="groupText">A <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object must be initialized before use and can be terminated when done. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a> (<a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *versionInfo)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component. <a href="#6e521c034728b59ab55213a9d8203d1e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">Initialize</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#0874bbbf41c9490abfb613bfe297327d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">Initialize</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#794e1830a84a6328eaa1995ba5aa6874"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">Terminate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates use of the XMPFiles library. <a href="#1e8de80c252b60b332dc4bc524139fd8"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9dc126b6914be34103027a21c1233dfa"></a> A <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object must be initialized before use and can be terminated when done. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a> (<a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *versionInfo)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component. <a href="#a6e521c034728b59ab55213a9d8203d1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d">Initialize</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#a0874bbbf41c9490abfb613bfe297327d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a794e1830a84a6328eaa1995ba5aa6874">Initialize</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#a794e1830a84a6328eaa1995ba5aa6874"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a1e8de80c252b60b332dc4bc524139fd8">Terminate</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates use of the XMPFiles library. <a href="#a1e8de80c252b60b332dc4bc524139fd8"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">File handler information</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Call this static function from the concrete class, <code>SXMPFiles</code>, to obtain information about the file handlers for the XMPFiles component. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a> (<a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format. <a href="#cb9e16a1477ec67fa6da6d736a9bc131"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp529938e0909910356e9a3257c7178cbf"></a> Call this static function from the concrete class, <code>SXMPFiles</code>, to obtain information about the file handlers for the XMPFiles component. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a> (<a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format. <a href="#acb9e16a1477ec67fa6da6d736a9bc131"></a><br/></td></tr>
+<tr><td colspan="2"><h2>File operations</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrpea9298288a22f5c5f166a17c556b9a13"></a> These functions allow you to open, close, and query files. </p>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file. <a href="#a07b7c4b44fb0e0a7d115ddd5ba22f926"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> folderPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder. <a href="#a7f505664c41d7304fb757d6009b0751c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb">OpenFile</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access. <a href="#afcd21cfe5d6f13c648c5541e161919cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#acfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object <a href="#acfef1688f3a62e2f465bb3a27da7b4ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927">CloseFile</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> closeFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file. <a href="#aeca89170c7aa3e2d56e30bff04dd7927"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b">GetFileInfo</a> (tStringObj *filePath=0, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *openFlags=0, <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *format=0, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file. <a href="#af9931d081cb19f98c81e41786030765b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a> (<a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc, void *abortArg)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort. <a href="#a7b86c130fdbd54b5ac158ec3fee93777"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class tStringObj&gt;<br>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br/>
class TXMPFiles&lt; tStringObj &gt;</h3>
-API for access to the main (document-level) metadata in a file.
-<p>
-<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is a template class that provides the API for the Adobe XMP Toolkit's XMPFiles component. This provides convenient access to the main, or document level, XMP for a file. Use it to obtain metadata from a file, which you can then manipulate with the XMP Core component (the classes <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>, <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>, and <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>); and to write new or changed metadata back out to a file.<p>
-The functions allow you to open a file, read and write the metadata, then close the file. While open, portions of the file might be maintained in RAM data structures. Memory usage can vary considerably depending onfile format and access options.<p>
-A file can be opened for read-only or read-write access, with typical exclusion for both modes. Errors result in the throw of an <code>XMPError</code> exception.<p>
-<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is the template class. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.<p>
-Access these functions through the concrete class, <code>SXMPFiles</code>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="5eaa92724cc82d933a32eff9c4636739"></a><!-- doxytag: member="TXMPFiles::~TXMPFiles" ref="5eaa92724cc82d933a32eff9c4636739" args="()" -->
+<p>API for access to the main (document-level) metadata in a file. </p>
+<p><code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is a template class that provides the API for the Adobe XMP Toolkit's XMPFiles component. This provides convenient access to the main, or document level, XMP for a file. Use it to obtain metadata from a file, which you can then manipulate with the XMP Core component (the classes <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>, <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>, and <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>); and to write new or changed metadata back out to a file.</p>
+<p>The functions allow you to open a file, read and write the metadata, then close the file. While open, portions of the file might be maintained in RAM data structures. Memory usage can vary considerably depending onfile format and access options.</p>
+<p>A file can be opened for read-only or read-write access, with typical exclusion for both modes. Errors result in the throw of an <code>XMPError</code> exception.</p>
+<p><code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is the template class. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.</p>
+<p>Access these functions through the concrete class, <code>SXMPFiles</code>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5eaa92724cc82d933a32eff9c4636739"></a><!-- doxytag: member="TXMPFiles::~TXMPFiles" ref="a5eaa92724cc82d933a32eff9c4636739" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::~<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td class="memname">virtual <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::~<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> throw ()<code> [virtual]</code></td>
</tr>
@@ -198,36 +172,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Destructor; typical virtual destructor.
-<p>
-The destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; pending updates are lost when the destructor is run.<p>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>, <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> </dd></dl>
+<p>Destructor; typical virtual destructor. </p>
+<p>The destructor does not call <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; pending updates are lost when the destructor is run.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>, <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="36abe01988d4ca3939138e871c7b75e7"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="36abe01988d4ca3939138e871c7b75e7" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+</div>
+<a class="anchor" id="a36abe01988d4ca3939138e871c7b75e7"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="a36abe01988d4ca3939138e871c7b75e7" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>filePath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
<td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -239,40 +211,37 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Alternate constructor associates the new <code>XMPFiles</code> object with a specific file.
-<p>
-Calls <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> to open the specified file after performing a default construct.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Alternate constructor associates the new <code>XMPFiles</code> object with a specific file. </p>
+<p>Calls <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> to open the specified file after performing a default construct.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, specified as a nul-terminated UTF-8 string.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>A format hint for the file, if known.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>Options for how the file is to be opened (for read or read/write, for example). Use a logical OR of these bit-flag constants:</td></tr>
</table>
+ </dd>
</dl>
<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &quot;known&quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a></code> </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" title="Set if calling from background thread.">kXMPFiles_OpenInBackground</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about only attempting to use the designated file handler, no fallback to...">kXMPFiles_OpenStrictly</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &quot;known&quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a></code> </li>
</ul>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="f540b3ea689a6d7381dca4f52132a4ac"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="f540b3ea689a6d7381dca4f52132a4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+</div>
+<a class="anchor" id="af540b3ea689a6d7381dca4f52132a4ac"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="af540b3ea689a6d7381dca4f52132a4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
<td class="paramname"> <em>filePath</em>, </td>
@@ -280,13 +249,13 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
<td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -298,23 +267,22 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form.
+<p>Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="cf343fb6771b482ca72d467233a6f920"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="cf343fb6771b482ca72d467233a6f920" args="(const TXMPFiles&lt; tStringObj &gt; &amp;original)" -->
+<a class="anchor" id="acf343fb6771b482ca72d467233a6f920"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="acf343fb6771b482ca72d467233a6f920" args="(const TXMPFiles&lt; tStringObj &gt; &amp;original)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>original</em> </td>
+ <td class="paramname"> <em>original</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -322,30 +290,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Copy constructor.
-<p>
-Increments an internal reference count but does not perform a deep copy.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Copy constructor. </p>
+<p>Increments an internal reference count but does not perform a deep copy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>The existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object to copy.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="d986c7b2e2d82eaef6cf6a33e9d09b65"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="d986c7b2e2d82eaef6cf6a33e9d09b65" args="(XMPFilesRef xmpFilesObj)" -->
+</div>
+<a class="anchor" id="ad986c7b2e2d82eaef6cf6a33e9d09b65"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="ad986c7b2e2d82eaef6cf6a33e9d09b65" args="(XMPFilesRef xmpFilesObj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td>
- <td class="paramname"> <em>xmpFilesObj</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpFilesObj</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -353,119 +320,141 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference.
-<p>
-This constructor creates a new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object that refers to the underlying reference object of an existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. Use to safely pass <code>SXMPFiles</code> references across DLL boundaries.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference. </p>
+<p>This constructor creates a new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object that refers to the underlying reference object of an existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. Use to safely pass <code>SXMPFiles</code> references across DLL boundaries.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpFilesObj</em>&nbsp;</td><td>The underlying reference object, obtained from some other XMP object with <code><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">TXMPFiles::GetInternalRef()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpFilesObj</em>&nbsp;</td><td>The underlying reference object, obtained from some other XMP object with <code><a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">TXMPFiles::GetInternalRef()</a></code>.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6e521c034728b59ab55213a9d8203d1e"></a><!-- doxytag: member="TXMPFiles::GetVersionInfo" ref="6e521c034728b59ab55213a9d8203d1e" args="(XMP_VersionInfo *versionInfo)" -->
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2303dfcc00f108bda202600e3da9c109"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="a2303dfcc00f108bda202600e3da9c109" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetVersionInfo </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *&nbsp;</td>
- <td class="paramname"> <em>versionInfo</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpLength</em> = <code>kXMP_UseNullTermination</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component.
-<p>
-Can be called before <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize()</a></code>. This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>versionInfo</em>&nbsp;</td><td>[out] A buffer in which to return the version information. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a <code>const char *</code> string containing an XMP packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpLength</em>&nbsp;</td><td>Optional. The number of bytes in the string. If not supplied, the string is assumed to be nul-terminated. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="0874bbbf41c9490abfb613bfe297327d"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="0874bbbf41c9490abfb613bfe297327d" args="()" -->
+</div>
+<a class="anchor" id="a1d3f32c2b95659ada198775e2f67c808"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="a1d3f32c2b95659ada198775e2f67c808" args="(const tStringObj &amp;xmpPacket)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em></td>
<td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object.
-<p>
-The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
+<p><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a string object containing an XMP packet. </td></tr>
+ </table>
+ </dd>
+</dl>
</div>
-</div><p>
-<a class="anchor" name="794e1830a84a6328eaa1995ba5aa6874"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="794e1830a84a6328eaa1995ba5aa6874" args="(XMP_OptionBits options)" -->
+</div>
+<a class="anchor" id="a29a11a1539d6300da3fb4c7e9ea02bb6"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="a29a11a1539d6300da3fb4c7e9ea02bb6" args="(const SXMPMeta &amp;xmpObj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> </td>
+ <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em></td>
<td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object.
-<p>
-This overload of <a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a> accepts option bits to customize the initialization actions. At this time only one option is defined, <code>kXMPFiles_NoQuickTimeInit</code>. This option prevents calling the QuickTime initialization on Windows, which can be slow. The MOV file handler on Windows uses Apple's QuickTime SDK for the actual file I/O.<p>
-The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet. </p>
+<p>Use to determine if the file can probably be updated with a given set of XMP metadata. This depends on the size of the packet, the options with which the file was opened, and the capabilities of the handler for the file format. The function obtains the length of the serialized packet for the provided XMP, but does not keep it or modify it, and does not cause the file to be written when closed. This is implemented roughly as follows:</p>
+<pre>
+ bool CanPutXMP ( XMP_StringPtr xmpPacket )
+ {
+ XMP_FileFormat format;
+ this-&gt;GetFileInfo ( 0, &amp;format, 0 );</pre><pre> XMP_OptionBits formatFlags;
+ GetFormatInfo ( format, &amp;formatFlags );</pre><pre> if ( (formatFlags &amp; kXMPFiles_CanInjectXMP) &amp;&amp; (formatFlags &amp; kXMPFiles_CanExpand) ) return true;</pre><pre> <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> packetInfo;
+ bool hasXMP = this-&gt;GetXMP ( 0, 0, &amp;packetInfo );</pre><pre> if ( ! hasXMP ) {
+ if ( formatFlags &amp; kXMPFiles_CanInjectXMP ) return true;
+ } else {
+ if ( (formatFlags &amp; kXMPFiles_CanExpand) ||
+ (packetInfo.length &gt;= strlen(xmpPacket)) ) return true;
+ }
+ return false;
+ }
+ </pre><dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the initialization actions.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The proposed new metadata as an XMP object. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="1e8de80c252b60b332dc4bc524139fd8"></a><!-- doxytag: member="TXMPFiles::Terminate" ref="1e8de80c252b60b332dc4bc524139fd8" args="()" -->
+</div>
+<a class="anchor" id="a07b7c4b44fb0e0a7d115ddd5ba22f926"></a><!-- doxytag: member="TXMPFiles::CheckFileFormat" ref="a07b7c4b44fb0e0a7d115ddd5ba22f926" args="(XMP_StringPtr filePath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Terminate </td>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckFileFormat </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>filePath</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -473,53 +462,59 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Terminates use of the XMPFiles library.
-<p>
-Optional. Deallocates global data structures created by intialization. Its main action is to deallocate heap-allocated global storage, for the benefit of client leak checkers.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).
-</div>
-</div><p>
-<a class="anchor" name="3f1483fcc92860460d3772216dfaef81"></a><!-- doxytag: member="TXMPFiles::operator=" ref="3f1483fcc92860460d3772216dfaef81" args="(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)" -->
+<p><code><a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file. </p>
+<p>Tries to determine the format of a file, returning an <code><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a></code> value. Uses the same logic as <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> to select a smart handler.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. The path is the same as would be passed to <code>OpenFile</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The file's format if a smart handler would be selected by <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>, otherwise <code><a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7f505664c41d7304fb757d6009b0751c"></a><!-- doxytag: member="TXMPFiles::CheckPackageFormat" ref="a7f505664c41d7304fb757d6009b0751c" args="(XMP_StringPtr folderPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::operator= </td>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckPackageFormat </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>rhs</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>folderPath</em></td>
<td>&nbsp;)&nbsp;</td>
- <td></td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Assignment operator.
-<p>
-Increments an internal reference count but does not perform a deep copy.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder. </p>
+<p>Tries to determine the format of a package, given the name of the top-level folder. Returns an <code><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a></code> value. Examples of recognized packages include the video formats P2, XDCAM, or Sony HDV. These packages contain collections of "clips", stored as multiple files in specific subfolders.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>The existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>folderPath</em>&nbsp;</td><td>The path for the top-level folder, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. This is not the same path you would pass to <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. For example, the top-level path for a package might be ".../MyMovie", while the path to a file you wish to open would be ".../MyMovie/SomeClip".</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The package's format if it can be determined, otherwise <code><a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code>. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="311fc36fdf7270fe05b1c531cdbbd009"></a><!-- doxytag: member="TXMPFiles::GetInternalRef" ref="311fc36fdf7270fe05b1c531cdbbd009" args="()" -->
+</div>
+<a class="anchor" id="aeca89170c7aa3e2d56e30bff04dd7927"></a><!-- doxytag: member="TXMPFiles::CloseFile" ref="aeca89170c7aa3e2d56e30bff04dd7927" args="(XMP_OptionBits closeFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetInternalRef </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CloseFile </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>closeFlags</em> = <code>0</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -527,212 +522,201 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed.
-<p>
-Use with the reconstruction constructor to safely pass <code>SXMPFiles</code> references across DLL boundaries where the clients might have used different string types when instantiating <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The internal reference.</dd></dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code> for usage. </dd></dl>
+<p><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file. </p>
+<p>Performs any necessary output to the file and closes it. Files that are opened for update are written to only when closing.</p>
+<p>If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.</p>
+<p>If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>closeFlags</em>&nbsp;</td><td>Option flags for optional closing actions. This bit-flag constant is defined:</td></tr>
+ </table>
+ </dd>
+</dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a></code> - Write into a temporary file then swap for crash safety. </li>
+</ul>
</div>
-</div><p>
-<a class="anchor" name="cb9e16a1477ec67fa6da6d736a9bc131"></a><!-- doxytag: member="TXMPFiles::GetFormatInfo" ref="cb9e16a1477ec67fa6da6d736a9bc131" args="(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)" -->
+</div>
+<a class="anchor" id="af9931d081cb19f98c81e41786030765b"></a><!-- doxytag: member="TXMPFiles::GetFileInfo" ref="af9931d081cb19f98c81e41786030765b" args="(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFormatInfo </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFileInfo </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
- <td class="paramname"> <em>format</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>filePath</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
<td class="paramname"> <em>handlerFlags</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format.
-<p>
-The file handlers for different file formats vary considerably in what features they support. Support depends on both the general capabilities of the format and the implementation of the handler for that format.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The file format whose support flags are desired.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return a logical OR of option bit flags. The following constants are defined:</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>[out] A buffer in which to return the path passed to <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>[out] A buffer in which to return the option flags passed to <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>[out] A buffer in which to return the file format. Can be null if value is not wanted. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return the handler's capability flags. Can be null if value is not wanted.</td></tr>
</table>
+ </dd>
</dl>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a></code> - Can inject first-time XMP into an existing file. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a></code> - Can expand XMP or other metadata in an existing file. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a></code> - Can copy one file to another, writing new metadata (as in SaveAs) </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> - Supports reconciliation between XMP and other forms. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a></code> - Allows access to just the XMP, ignoring other forms. This is only meaningful if <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> is set. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" title="File handler returns native thumbnail.">kXMPFiles_ReturnsTNail</a></code> - File handler returns native thumbnail information. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> - File handler returns raw XMP packet information and string.</li>
-</ul>
-Even if <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> is set, the returned packet information might have an offset of -1 to indicate an unknown offset. While all file handlers should be able to return the raw packet, some might not know the offset of the packet within the file. This is typical in cases where external libraries are used. These cases might not even allow return of the raw packet.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the format has explicit "smart" support, false if the format is handled by the default packet scanning plus heuristics. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the file object is in the open state; that is, <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> has been called but <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> has not. False otherwise. Even if the file object is open, the actual disk file might be closed in the host file-system sense; see <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="07b7c4b44fb0e0a7d115ddd5ba22f926"></a><!-- doxytag: member="TXMPFiles::CheckFileFormat" ref="07b7c4b44fb0e0a7d115ddd5ba22f926" args="(XMP_StringPtr filePath)" -->
+</div>
+<a class="anchor" id="acb9e16a1477ec67fa6da6d736a9bc131"></a><!-- doxytag: member="TXMPFiles::GetFormatInfo" ref="acb9e16a1477ec67fa6da6d736a9bc131" args="(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckFileFormat </td>
+ <td class="memname">* static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFormatInfo </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>filePath</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>handlerFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file.
-<p>
-<code>CheckFileFormat</code> tries to determine the format of a file, returning an XMP_FileFormat value. It uses the same logic as <code>OpenFile</code> will use to select a smart handler.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format. </p>
+<p>The file handlers for different file formats vary considerably in what features they support. Support depends on both the general capabilities of the format and the implementation of the handler for that format.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. The path is the same as would be passed to <code>OpenFile</code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The file format whose support flags are desired.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return a logical OR of option bit flags. The following constants are defined:</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file's format if a smart handler would be selected, otherwise <code>kXMP_UnknownFile</code>. </dd></dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a></code> - Can inject first-time XMP into an existing file. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a></code> - Can expand XMP or other metadata in an existing file. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a></code> - Can copy one file to another, writing new metadata (as in SaveAs) </li>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> - Supports reconciliation between XMP and other forms. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a></code> - Allows access to just the XMP, ignoring other forms. This is only meaningful if <code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> is set. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> - File handler returns raw XMP packet information and string.</li>
+</ul>
+<p>Even if <code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> is set, the returned packet information might have an offset of -1 to indicate an unknown offset. While all file handlers should be able to return the raw packet, some might not know the offset of the packet within the file. This is typical in cases where external libraries are used. These cases might not even allow return of the raw packet.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the format has explicit "smart" support, false if the format is handled by the default packet scanning plus heuristics. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="7f505664c41d7304fb757d6009b0751c"></a><!-- doxytag: member="TXMPFiles::CheckPackageFormat" ref="7f505664c41d7304fb757d6009b0751c" args="(XMP_StringPtr folderPath)" -->
+</div>
+<a class="anchor" id="a311fc36fdf7270fe05b1c531cdbbd009"></a><!-- doxytag: member="TXMPFiles::GetInternalRef" ref="a311fc36fdf7270fe05b1c531cdbbd009" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckPackageFormat </td>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetInternalRef </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>folderPath</em> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder.
-<p>
-<code>CheckPackageFormat</code> tries to determine the format of a "package" given the name of the top level folder, returning an XMP_FileFormat value. Examples of recognized packages include the video formats P2, XDCAM, or Sony HDV. These packages contain collections of "clips", stored as multiple files in specific subfolders.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>folderPath</em>&nbsp;</td><td>The path for the top level folder, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. The path is not the same as would be passed to <code>OpenFile</code>. For example the path passed to <code>CheckPackageFormat</code> might be ".../MyMovie", while the path passed to <code>OpenFile</code> would be ".../MyMovie/SomeClip".</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The package's format if a smart handler would be selected, otherwise <code>kXMP_UnknownFile</code>. </dd></dl>
+<p><a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. </p>
+<p>Use with the reconstruction constructor to safely pass <code>SXMPFiles</code> references across DLL boundaries where the clients might have used different string types when instantiating <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The internal reference.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code> for usage. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="fcd21cfe5d6f13c648c5541e161919cb"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="fcd21cfe5d6f13c648c5541e161919cb" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+</div>
+<a class="anchor" id="a6e521c034728b59ab55213a9d8203d1e"></a><!-- doxytag: member="TXMPFiles::GetVersionInfo" ref="a6e521c034728b59ab55213a9d8203d1e" args="(XMP_VersionInfo *versionInfo)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
+ <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetVersionInfo </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>filePath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
- <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramtype"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>versionInfo</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access.
-<p>
-Opens a file for the requested forms of metadata access. Opening the file at a minimum causes the raw XMP packet to be read from the file. If the file handler supports legacy metadata reconciliation then legacy metadata is also read, unless <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> is passed. If the file handler supports native thumbnails and <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> is passed, the native thumbnail is cached.<p>
-If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.<p>
-If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.<p>
-Typically, the XMP is not parsed and legacy reconciliation is not performed until <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> is called, but this is not guaranteed. Specific file handlers might do earlier parsing of the XMP. Delayed parsing and early disk file close for read-only access are optimizations to help clients implementing file browsers, so that they can access the file briefly and possibly display a thumbnail, then postpone more expensive XMP processing until later.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component. </p>
+<p>Can be called before <code><a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize()</a></code>. This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format of the file. If the format is unknown (<code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code>) the format is determined from the file content. The first handler to check is guessed from the file's extension. Passing a specific format value is generally just a hint about what file handler to try first (instead of the one based on the extension). If <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> is set, then any format other than <code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code> requires that the file actually be that format; otherwise an exception is thrown.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>A set of option flags that describe the desired access. By default (zero) the file is opened for read-only access and the format handler decides on the level of reconciliation that will be performed. A logical OR of these bit-flag constants:</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>versionInfo</em>&nbsp;</td><td>[out] A buffer in which to return the version information. </td></tr>
</table>
+ </dd>
</dl>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> - Open for read-only access. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> - Open for reading and writing. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> - Only the XMP is wanted, no reconciliation. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> - Cache thumbnail if possible, GetThumbnail will be called. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> - Be strict about locating XMP and reconciling with other forms. By default, a best effort is made to locate the correct XMP and to reconcile XMP with other forms (if reconciliation is done). This option forces stricter rules, resulting in exceptions for errors. The definition of strictness is specific to each handler, there might be no difference. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> - Require the use of a smart handler. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> - Force packet scanning, do not use a smart handler.</li>
-</ul>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file is succesfully opened and attached to a file handler. False for anticipated problems, such as passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> but not having an appropriate smart handler. Throws an exception for serious problems. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="cfef1688f3a62e2f465bb3a27da7b4ac"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="cfef1688f3a62e2f465bb3a27da7b4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+</div>
+<a class="anchor" id="a42ca0bbc5ac66a8de1710e03a7ff17b3"></a><!-- doxytag: member="TXMPFiles::GetXMP" ref="a42ca0bbc5ac66a8de1710e03a7ff17b3" args="(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetXMP </td>
<td>(</td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>filePath</em>, </td>
+ <td class="paramtype">SXMPMeta *&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
- <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>packetInfo</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -743,118 +727,99 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object
-<p>
-Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file. </p>
+<p>The function reports whether XMP is present in the file; you can choose to retrieve any or all of the parsed XMP, the raw XMP packet,or information about the raw XMP packet. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>[out] An XMP object in which to return the parsed XMP metadata. Can be null.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>[out] An string object in which to return the raw XMP packet as stored in the file. Can be null. The encoding of the packet is given in the <code>packetInfo</code>. Returns an empty string if the low level file handler does not provide the raw packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>packetInfo</em>&nbsp;</td><td>[out] An string object in which to return the location and form of the raw XMP in the file. <code><a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> reflect the raw XMP in the file. The parsed XMP property values are always UTF-8. The writeable flag is taken from the packet trailer; it applies only to "format ignorant" writing. The <code><a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a></code> structure always reflects the state of the XMP in the file. The offset, length, and character form do not change as a result of calling <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> unless the file is also written. Some file handlers might not return location or contents of the raw packet string. To determine whether one does, check the <code><a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> bit returned by <code><a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a></code>. If the low-level file handler does not provide the raw packet location, <code><a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">XMP_PacketInfo::offset</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">XMP_PacketInfo::length</a></code> are both 0, <code><a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> is UTF-8, and <code><a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> is false.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the file has XMP, false otherwise. </dd></dl>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="eca89170c7aa3e2d56e30bff04dd7927"></a><!-- doxytag: member="TXMPFiles::CloseFile" ref="eca89170c7aa3e2d56e30bff04dd7927" args="(XMP_OptionBits closeFlags=0)" -->
+<a class="anchor" id="a794e1830a84a6328eaa1995ba5aa6874"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="a794e1830a84a6328eaa1995ba5aa6874" args="(XMP_OptionBits options)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CloseFile </td>
+ <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>closeFlags</em> = <code>0</code> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em></td>
<td>&nbsp;)&nbsp;</td>
- <td></td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file.
-<p>
-Performs any necessary output to the file and closes it. Files that are opened for update are written to only when closing.<p>
-If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.<p>
-If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. </p>
+<p>This overload of <a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a> accepts option bits to customize the initialization actions. At this time no option is defined.</p>
+<p>The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>closeFlags</em>&nbsp;</td><td>Option flags for optional closing actions. This bit-flag constant is defined:</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the initialization actions.</td></tr>
</table>
+ </dd>
</dl>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a></code> - Write into a temporary file then swap for crash safety. </li>
-</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="f9931d081cb19f98c81e41786030765b"></a><!-- doxytag: member="TXMPFiles::GetFileInfo" ref="f9931d081cb19f98c81e41786030765b" args="(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)" -->
+</div>
+<a class="anchor" id="a0874bbbf41c9490abfb613bfe297327d"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="a0874bbbf41c9490abfb613bfe297327d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFileInfo </td>
+ <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
<td>(</td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>filePath</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>openFlags</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *&nbsp;</td>
- <td class="paramname"> <em>format</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>handlerFlags</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>[out] A buffer in which to return the path passed to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>[out] A buffer in which to return the option flags passed to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>[out] A buffer in which to return the file format. Can be null if value is not wanted. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return the handler's capability flags. Can be null if value is not wanted.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file object is in the open state; that is, <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> has been called but <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> has not. False otherwise. Even if the file object is open, the actual disk file might be closed in the host file-system sense; see <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. </dd></dl>
+<p>Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. </p>
+<p>The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="7b86c130fdbd54b5ac158ec3fee93777"></a><!-- doxytag: member="TXMPFiles::SetAbortProc" ref="7b86c130fdbd54b5ac158ec3fee93777" args="(XMP_AbortProc abortProc, void *abortArg)" -->
+</div>
+<a class="anchor" id="acfef1688f3a62e2f465bb3a27da7b4ac"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="acfef1688f3a62e2f465bb3a27da7b4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::SetAbortProc </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>&nbsp;</td>
- <td class="paramname"> <em>abortProc</em>, </td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>abortArg</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -865,42 +830,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort.
-<p>
-The specified procedure is called periodically to allow a user to cancel time-consuming operations. The callback function should return true to signal an abort, which results in an exception being thrown.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>abortProc</em>&nbsp;</td><td>The callback function.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>abortArg</em>&nbsp;</td><td>A pointer to caller-defined data to pass to the callback function. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="42ca0bbc5ac66a8de1710e03a7ff17b3"></a><!-- doxytag: member="TXMPFiles::GetXMP" ref="42ca0bbc5ac66a8de1710e03a7ff17b3" args="(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)" -->
+</div>
+<a class="anchor" id="afcd21cfe5d6f13c648c5541e161919cb"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="afcd21cfe5d6f13c648c5541e161919cb" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetXMP </td>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
<td>(</td>
- <td class="paramtype">SXMPMeta *&nbsp;</td>
- <td class="paramname"> <em>xmpObj</em> = <code>0</code>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>xmpPacket</em> = <code>0</code>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *&nbsp;</td>
- <td class="paramname"> <em>packetInfo</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -911,99 +868,42 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file.
-<p>
-The function reports whether XMP is present in the file; you can choose to retrieve any or all of the parsed XMP, the raw XMP packet,or information about the raw XMP packet. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access. </p>
+<p>Opens a file for the requested forms of metadata access. Opening the file at a minimum causes the raw XMP packet to be read from the file. If the file handler supports legacy metadata reconciliation then legacy metadata is also read, unless <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> is passed.</p>
+<p>If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.</p>
+<p>If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.</p>
+<p>Typically, the XMP is not parsed and legacy reconciliation is not performed until <code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> is called, but this is not guaranteed. Specific file handlers might do earlier parsing of the XMP. Delayed parsing and early disk file close for read-only access are optimizations to help clients implementing file browsers, so that they can access the file briefly and possibly display a thumbnail, then postpone more expensive XMP processing until later.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>[out] An XMP object in which to return the parsed XMP metadata. Can be null.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>[out] An string object in which to return the raw XMP packet as stored in the file. Can be null. The encoding of the packet is given in the <code>packetInfo</code>. Returns an empty string if the low level file handler does not provide the raw packet.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>packetInfo</em>&nbsp;</td><td>[out] An string object in which to return the location and form of the raw XMP in the file. <code><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> reflect the raw XMP in the file. The parsed XMP property values are always UTF-8. The writeable flag is taken from the packet trailer; it applies only to "format ignorant" writing. The <code><a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a></code> structure always reflects the state of the XMP in the file. The offset, length, and character form do not change as a result of calling <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> unless the file is also written. Some file handlers might not return location or contents of the raw packet string. To determine whether one does, check the <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> bit returned by <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a></code>. If the low-level file handler does not provide the raw packet location, <code><a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">XMP_PacketInfo::offset</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">XMP_PacketInfo::length</a></code> are both 0, <code><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> is UTF-8, and <code><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> is false.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format of the file. If the format is unknown (<code><a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code>) the format is determined from the file content. The first handler to check is guessed from the file's extension. Passing a specific format value is generally just a hint about what file handler to try first (instead of the one based on the extension). If <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about only attempting to use the designated file handler, no fallback to...">kXMPFiles_OpenStrictly</a></code> is set, then any format other than <code><a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code> requires that the file actually be that format; otherwise an exception is thrown.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>A set of option flags that describe the desired access. By default (zero) the file is opened for read-only access and the format handler decides on the level of reconciliation that will be performed. A logical OR of these bit-flag constants:</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file has XMP, false otherwise. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="4ea1eda39f803322e10b2a554ef8ab06"></a><!-- doxytag: member="TXMPFiles::GetThumbnail" ref="4ea1eda39f803322e10b2a554ef8ab06" args="(XMP_ThumbnailInfo *tnailInfo)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetThumbnail </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a> *&nbsp;</td>
- <td class="paramname"> <em>tnailInfo</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail()</a></code> retrieves the native thumbnail from an open file.
-<p>
-Use this function to obtain native thumbnail information, if the associated file handler supports that and the thumbnail was cached by the call to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>; that is, the <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> option flag was set. The return value reports whether a thumbnail is present in the file.<p>
-The returned thumbnail information can be incomplete, depending on the file format, the file handler's capabilities, and the specific file content.<p>
<ul>
-<li>The <code><a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">XMP_ThumbnailInfo::fullWidth</a></code>, <code>fullHeight</code>, and <code>fullOrientation</code> fields are only meaningful for image files. They are not meaningful for multi-page files such as PDF or InDesign, for dynamic audio or video files, and so on. The field values are zero if not meaningful or not determined. </li>
-<li>The <code><a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">XMP_ThumbnailInfo::tnailImage</a></code> and <code><a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">XMP_ThumbnailInfo::tnailSize</a></code> fields might be zero even if a recognized thumbnail is present.</li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> - Open for read-only access. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> - Open for reading and writing. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> - Only the XMP is wanted, no reconciliation. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about only attempting to use the designated file handler, no fallback to...">kXMPFiles_OpenStrictly</a></code> - Be strict about locating XMP and reconciling with other forms. By default, a best effort is made to locate the correct XMP and to reconcile XMP with other forms (if reconciliation is done). This option forces stricter rules, resulting in exceptions for errors. The definition of strictness is specific to each handler, there might be no difference. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> - Require the use of a smart handler. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> - Force packet scanning, do not use a smart handler.</li>
</ul>
-Being recognized means only that the handler has determined that the file does contain a native thumbnail. The thumbnail data might be of a format that the file handler cannot return as a single contiguous block of thumbnail data. For example, for a TIFF uncompressed thumbnail, the handler might not have logic to gather the various disjoint pieces of the thumbnail from the overall TIFF stream.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>tnailInfo</em>&nbsp;</td><td>[out] Optional. A buffer in which to return information about a recognized native thumbnail, and related information about the primary image if appropriate. Can be null if the information is not desired.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a recognized native thumbnail is present and the thumbnail was cached by the call to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>; that is, the <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> option flag was set. Can return true even if the function cannot retrieve the actual thumbnail image. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the file is succesfully opened and attached to a file handler. False for anticipated problems, such as passing <code><a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> but not having an appropriate smart handler. Throws an exception for serious problems. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="d3f7babdc07c7de0d0cd9a3362b4710a"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="d3f7babdc07c7de0d0cd9a3362b4710a" args="(const SXMPMeta &amp;xmpObj)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
- <td>(</td>
- <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
- <td class="paramname"> <em>xmpObj</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file.
-<p>
-This function supplies new XMP for the file. However, the disk file is not written until the object is closed with <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The new metadata as an XMP object. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="da77eab74c3440659db3122f6ec8b7f4"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="da77eab74c3440659db3122f6ec8b7f4" args="(const tStringObj &amp;xmpPacket)" -->
+<a class="anchor" id="a3f1483fcc92860460d3772216dfaef81"></a><!-- doxytag: member="TXMPFiles::operator=" ref="a3f1483fcc92860460d3772216dfaef81" args="(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::operator= </td>
<td>(</td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>xmpPacket</em> </td>
+ <td class="paramtype">const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -1011,34 +911,33 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input.
-<p>
-Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Assignment operator. </p>
+<p>Increments an internal reference count but does not perform a deep copy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The new metadata as a string object containing a complete XMP packet. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>The existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="502ed01119e0421413e773f4f42683ec"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="502ed01119e0421413e773f4f42683ec" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
+</div>
+<a class="anchor" id="a502ed01119e0421413e773f4f42683ec"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="a502ed01119e0421413e773f4f42683ec" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>xmpPacket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
<td class="paramname"> <em>xmpLength</em> = <code>kXMP_UseNullTermination</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -1050,30 +949,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length.
-<p>
-Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length. </p>
+<p>Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The new metadata as a <code>const char *</code> string containing an XMP packet.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>xmpLength</em>&nbsp;</td><td>Optional. The number of bytes in the string. If not supplied, the string is assumed to be nul-terminated. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="29a11a1539d6300da3fb4c7e9ea02bb6"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="29a11a1539d6300da3fb4c7e9ea02bb6" args="(const SXMPMeta &amp;xmpObj)" -->
+</div>
+<a class="anchor" id="ada77eab74c3440659db3122f6ec8b7f4"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="ada77eab74c3440659db3122f6ec8b7f4" args="(const tStringObj &amp;xmpPacket)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
<td>(</td>
- <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
- <td class="paramname"> <em>xmpObj</em> </td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -1081,48 +979,28 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet.
-<p>
-Use to determine if the file can probably be updated with a given set of XMP metadata. This depends on the size of the packet, the options with which the file was opened, and the capabilities of the handler for the file format. The function obtains the length of the serialized packet for the provided XMP, but does not keep it or modify it, and does not cause the file to be written when closed. This is implemented roughly as follows:<p>
-<pre>
- bool CanPutXMP ( XMP_StringPtr xmpPacket )
- {
- XMP_FileFormat format;
- this-&gt;GetFileInfo ( 0, &amp;format, 0 );</pre><p>
-<pre> XMP_OptionBits formatFlags;
- GetFormatInfo ( format, &amp;formatFlags );</pre><p>
-<pre> if ( (formatFlags &amp; kXMPFiles_CanInjectXMP) &amp;&amp; (formatFlags &amp; kXMPFiles_CanExpand) ) return true;</pre><p>
-<pre> <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> packetInfo;
- bool hasXMP = this-&gt;GetXMP ( 0, 0, &amp;packetInfo );</pre><p>
-<pre> if ( ! hasXMP ) {
- if ( formatFlags &amp; kXMPFiles_CanInjectXMP ) return true;
- } else {
- if ( (formatFlags &amp; kXMPFiles_CanExpand) ||
- (packetInfo.length &gt;= strlen(xmpPacket)) ) return true;
- }
- return false;
- }
- </pre><p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input. </p>
+<p>Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The proposed new metadata as an XMP object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The new metadata as a string object containing a complete XMP packet. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="1d3f32c2b95659ada198775e2f67c808"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="1d3f32c2b95659ada198775e2f67c808" args="(const tStringObj &amp;xmpPacket)" -->
+</div>
+<a class="anchor" id="ad3f7babdc07c7de0d0cd9a3362b4710a"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="ad3f7babdc07c7de0d0cd9a3362b4710a" args="(const SXMPMeta &amp;xmpObj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
<td>(</td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>xmpPacket</em> </td>
+ <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -1130,35 +1008,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file. </p>
+<p>This function supplies new XMP for the file. However, the disk file is not written until the object is closed with <code><a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a string object containing an XMP packet. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The new metadata as an XMP object. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="2303dfcc00f108bda202600e3da9c109"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="2303dfcc00f108bda202600e3da9c109" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
+</div>
+<a class="anchor" id="a7b86c130fdbd54b5ac158ec3fee93777"></a><!-- doxytag: member="TXMPFiles::SetAbortProc" ref="a7b86c130fdbd54b5ac158ec3fee93777" args="(XMP_AbortProc abortProc, void *abortArg)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::SetAbortProc </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>xmpPacket</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>&nbsp;</td>
+ <td class="paramname"> <em>abortProc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>xmpLength</em> = <code>kXMP_UseNullTermination</code></td><td>&nbsp;</td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>abortArg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1169,23 +1046,46 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort. </p>
+<p>The specified procedure is called periodically to allow a user to cancel time-consuming operations. The callback function should return true to signal an abort, which results in an exception being thrown.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a <code>const char *</code> string containing an XMP packet.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>xmpLength</em>&nbsp;</td><td>Optional. The number of bytes in the string. If not supplied, the string is assumed to be nul-terminated. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>abortProc</em>&nbsp;</td><td>The callback function.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>abortArg</em>&nbsp;</td><td>A pointer to caller-defined data to pass to the callback function. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="TXMPFiles_8hpp-source.html">TXMPFiles.hpp</a></ul>
+</div>
+<a class="anchor" id="a1e8de80c252b60b332dc4bc524139fd8"></a><!-- doxytag: member="TXMPFiles::Terminate" ref="a1e8de80c252b60b332dc4bc524139fd8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Terminate </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Terminates use of the XMPFiles library. </p>
+<p>Optional. Deallocates global data structures created by intialization. Its main action is to deallocate heap-allocated global storage, for the benefit of client leak checkers.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>). </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPFiles_8hpp_source.html">TXMPFiles.hpp</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPIterator-members.html b/docs/API/classTXMPIterator-members.html
index 50a5888..8b4c2e3 100644
--- a/docs/API/classTXMPIterator-members.html
+++ b/docs/API/classTXMPIterator-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,18 +63,18 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPIterator&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a>(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">operator=</a>(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">Skip</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a>(const TXMPIterator&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#b0965286a8cabeafc92fdc52f643003f">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">~TXMPIterator</a>()</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
+<h1>TXMPIterator&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a>(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63">operator=</a>(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2">Skip</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a>(const TXMPIterator&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#ab0965286a8cabeafc92fdc52f643003f">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196">~TXMPIterator</a>()</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPIterator.html b/docs/API/classTXMPIterator.html
index 09d7aff..cb76e28 100644
--- a/docs/API/classTXMPIterator.html
+++ b/docs/API/classTXMPIterator.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator&lt; tStringObj &gt; Class Template Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPIterator&lt; tStringObj &gt; Class Template Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,57 +63,46 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPIterator&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPIterator" -->API for access to the XMP Toolkit iteration services.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="TXMPIterator_8hpp-source.html">TXMPIterator.hpp</a>&gt;</code>
-<p>
+<h1>TXMPIterator&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPIterator" -->
+<p>API for access to the XMP Toolkit iteration services.
+<a href="#_details">More...</a></p>
-<p>
-<a href="classTXMPIterator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">operator=</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+<p><code>#include &lt;<a class="el" href="TXMPIterator_8hpp_source.html">TXMPIterator.hpp</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal ref and increments the ref count. <a href="#d767d731320d3f4c997c6ce9f7f8fa63"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;original)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor, creates a client object refering to the same internal object. <a href="#88e855c18b2b15f7b8a5ccf3b9398352"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for properties within a schema in an XMP object. <a href="#5c1bd03e776a91cbb6fd02991fe08e1b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for a subtree of properties within an XMP object. <a href="#3aab7b2ddd84f25e024d7c3e66161cac"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#b0965286a8cabeafc92fdc52f643003f">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the entire data tree within an XMP object. <a href="#b0965286a8cabeafc92fdc52f643003f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b2b7a3d6359aec216adf32bdf7fb140"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="6b2b7a3d6359aec216adf32bdf7fb140" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the global tables of the XMP toolkit. Not implemented. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="911554533e8a3f09ab8870bd54462196"></a><!-- doxytag: member="TXMPIterator::~TXMPIterator" ref="911554533e8a3f09ab8870bd54462196" args="()" -->
-virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">~TXMPIterator</a> () throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, typical virtual destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a> (tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration. <a href="#124a1dd1ab3ff0d236e4d4b967dafcd9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">Skip</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations. <a href="#30b4d78974b347e4fcd275f1f65a61b2"></a><br></td></tr>
+<p><a href="classTXMPIterator-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63">operator=</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal ref and increments the ref count. <a href="#ad767d731320d3f4c997c6ce9f7f8fa63"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor, creates a client object refering to the same internal object. <a href="#a88e855c18b2b15f7b8a5ccf3b9398352"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for properties within a schema in an XMP object. <a href="#a5c1bd03e776a91cbb6fd02991fe08e1b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for a subtree of properties within an XMP object. <a href="#a3aab7b2ddd84f25e024d7c3e66161cac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#ab0965286a8cabeafc92fdc52f643003f">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the entire data tree within an XMP object. <a href="#ab0965286a8cabeafc92fdc52f643003f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b2b7a3d6359aec216adf32bdf7fb140"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="a6b2b7a3d6359aec216adf32bdf7fb140" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the global tables of the XMP toolkit. Not implemented. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a911554533e8a3f09ab8870bd54462196"></a><!-- doxytag: member="TXMPIterator::~TXMPIterator" ref="a911554533e8a3f09ab8870bd54462196" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196">~TXMPIterator</a> () throw ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, typical virtual destructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a> (tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration. <a href="#a124a1dd1ab3ff0d236e4d4b967dafcd9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2">Skip</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations. <a href="#a30b4d78974b347e4fcd275f1f65a61b2"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class tStringObj&gt;<br>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br/>
class TXMPIterator&lt; tStringObj &gt;</h3>
-API for access to the XMP Toolkit iteration services.
-<p>
-<code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> provides a uniform means to iterate over the schema and properties within an XMP object. <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is a template class which must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. Access these functions through the concrete class, <code>SXMPIterator</code>.<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>Only XMP object iteration is currently available. Future development may include iteration over global tables, such as registered namespaces.</dd></dl>
-To understand how iteration works, you should have a thorough understanding of the XMP data tree, as described in the XMP Specification Part 1. You might also find it helpful to create some complex XMP and examine the output of <code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code>.<p>
+<p>API for access to the XMP Toolkit iteration services. </p>
+<p><code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> provides a uniform means to iterate over the schema and properties within an XMP object. <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is a template class which must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. Access these functions through the concrete class, <code>SXMPIterator</code>.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Only XMP object iteration is currently available. Future development may include iteration over global tables, such as registered namespaces.</dd></dl>
+<p>To understand how iteration works, you should have a thorough understanding of the XMP data tree, as described in the XMP Specification Part 1. You might also find it helpful to create some complex XMP and examine the output of <code><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code>.</p>
<ul>
-<li>The top of the XMP data tree is a single root node. This does not explicitly appear in the dump and is never visited by an iterator; that is, it is never returned from <code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code>.</li>
+<li>The top of the XMP data tree is a single root node. This does not explicitly appear in the dump and is never visited by an iterator; that is, it is never returned from <code><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code>.</li>
</ul>
<ul>
<li>Beneath the root are schema nodes; these collect the top-level properties in the same namespace. They are created and destroyed implicitly.</li>
@@ -121,28 +110,27 @@ To understand how iteration works, you should have a thorough understanding of t
<ul>
<li>Beneath the schema nodes are the property nodes. The nodes below a property node depend on its type (simple, struct, or array) and whether it has qualifiers.</li>
</ul>
-A <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> constructor defines a starting point for the iteration, and options that control how it proceeds. By default, iteration starts at the root and visits all nodes beneath it in a depth-first manner. The root node iteself is not visited; the first visited node is a schema node. You can provide a schema name or property path to select a different starting node. By default, this visits the named root node first then all nodes beneath it in a depth-first manner.<p>
-The function <code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code> delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value. Qualifiers for this node are visited next. The fields of a struct or items of an array are visited after the qualifiers of the parent.<p>
-You can specify options when contructing the iteration object to control how the iteration is performed.<p>
+<p>A <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> constructor defines a starting point for the iteration, and options that control how it proceeds. By default, iteration starts at the root and visits all nodes beneath it in a depth-first manner. The root node iteself is not visited; the first visited node is a schema node. You can provide a schema name or property path to select a different starting node. By default, this visits the named root node first then all nodes beneath it in a depth-first manner.</p>
+<p>The function <code><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code> delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value. Qualifiers for this node are visited next. The fields of a struct or items of an array are visited after the qualifiers of the parent.</p>
+<p>You can specify options when contructing the iteration object to control how the iteration is performed.</p>
<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit just the immediate children of the root. Skip the root itself and all nodes below the immediate children. This omits the qualifiers of the immediate children, the qualifier nodes being below what they qualify. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit just the leaf property nodes and their qualifiers. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf component of the node names. The default is to return the full path name. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" title="Include aliases, default is just actual properties.">kXMP_IterIncludeAliases</a></code> - Include aliases as part of the iteration. Since aliases are not actual nodes the default iteration does not visit them. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Do not visit the qualifiers of a node. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit just the immediate children of the root. Skip the root itself and all nodes below the immediate children. This omits the qualifiers of the immediate children, the qualifier nodes being below what they qualify. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit just the leaf property nodes and their qualifiers. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf component of the node names. The default is to return the full path name. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Do not visit the qualifiers of a node. </li>
</ul>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="88e855c18b2b15f7b8a5ccf3b9398352"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="88e855c18b2b15f7b8a5ccf3b9398352" args="(const TXMPIterator&lt; tStringObj &gt; &amp;original)" -->
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a88e855c18b2b15f7b8a5ccf3b9398352"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="a88e855c18b2b15f7b8a5ccf3b9398352" args="(const TXMPIterator&lt; tStringObj &gt; &amp;original)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>original</em> </td>
+ <td class="paramname"> <em>original</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -150,26 +138,25 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Copy constructor, creates a client object refering to the same internal object.
-<p>
-Creates a new client iterator that refers to the same underlying iterator as an existing object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Copy constructor, creates a client object refering to the same internal object. </p>
+<p>Creates a new client iterator that refers to the same underlying iterator as an existing object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>An existing iteration object to copy. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="5c1bd03e776a91cbb6fd02991fe08e1b"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="5c1bd03e776a91cbb6fd02991fe08e1b" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a5c1bd03e776a91cbb6fd02991fe08e1b"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="a5c1bd03e776a91cbb6fd02991fe08e1b" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -177,19 +164,19 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -201,36 +188,36 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Constructs an iterator for properties within a schema in an XMP object.
-<p>
-See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Constructs an iterator for properties within a schema in an XMP object. </p>
+<p>See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI to restrict the iteration. To visit all of the schema, pass 0 or the empty string "".</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>Optional property name to restrict the iteration. May be an arbitrary path expression. If provided, a schema URI must also be provided. To visit all properties, pass 0 or the empty string "".</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
</ul>
</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="3aab7b2ddd84f25e024d7c3e66161cac"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="3aab7b2ddd84f25e024d7c3e66161cac" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a3aab7b2ddd84f25e024d7c3e66161cac"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="a3aab7b2ddd84f25e024d7c3e66161cac" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -238,13 +225,13 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -256,35 +243,35 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Constructs an iterator for a subtree of properties within an XMP object.
-<p>
-See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Constructs an iterator for a subtree of properties within an XMP object. </p>
+<p>See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI to restrict the iteration. To visit all of the schema, pass 0 or the empty string "".</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
</ul>
</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="b0965286a8cabeafc92fdc52f643003f"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="b0965286a8cabeafc92fdc52f643003f" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="ab0965286a8cabeafc92fdc52f643003f"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="ab0965286a8cabeafc92fdc52f643003f" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -292,7 +279,7 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -304,65 +291,35 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Constructs an iterator for the entire data tree within an XMP object.
-<p>
-See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Constructs an iterator for the entire data tree within an XMP object. </p>
+<p>See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
</ul>
</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> object. </dd></dl>
</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d767d731320d3f4c997c6ce9f7f8fa63"></a><!-- doxytag: member="TXMPIterator::operator=" ref="d767d731320d3f4c997c6ce9f7f8fa63" args="(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::operator= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>rhs</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assignment operator, assigns the internal ref and increments the ref count.
-<p>
-Assigns the internal reference from an existing object and increments the reference count on the underlying internal XMP iterator.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>An existing iteration object. </td></tr>
- </table>
-</dl>
-
</div>
-</div><p>
-<a class="anchor" name="124a1dd1ab3ff0d236e4d4b967dafcd9"></a><!-- doxytag: member="TXMPIterator::Next" ref="124a1dd1ab3ff0d236e4d4b967dafcd9" args="(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)" -->
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a124a1dd1ab3ff0d236e4d4b967dafcd9"></a><!-- doxytag: member="TXMPIterator::Next" ref="a124a1dd1ab3ff0d236e4d4b967dafcd9" args="(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Next </td>
+ <td class="memname">bool <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Next </td>
<td>(</td>
<td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>schemaNS</em> = <code>0</code>, </td>
@@ -382,7 +339,7 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -394,33 +351,61 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration.
-<p>
-Proceeds to the next node according to the options specified on creation of this object, and delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration. </p>
+<p>Proceeds to the next node according to the options specified on creation of this object, and delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>[out] A string object in which to return the assigned the schema namespace URI of the current property. Can be null if the value is not wanted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propPath</em>&nbsp;</td><td>[out] A string object in which to return the XPath name of the current property. Can be null if the value is not wanted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the current property. Can be null if the value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the flags describing the current property, which are a logical OR of <code><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a></code> bit-flag constants.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the flags describing the current property, which are a logical OR of <code><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a></code> bit-flag constants.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was another node to visit, false if the iteration is complete. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad767d731320d3f4c997c6ce9f7f8fa63"></a><!-- doxytag: member="TXMPIterator::operator=" ref="ad767d731320d3f4c997c6ce9f7f8fa63" args="(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Assignment operator, assigns the internal ref and increments the ref count. </p>
+<p>Assigns the internal reference from an existing object and increments the reference count on the underlying internal XMP iterator.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>An existing iteration object. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if there was another node to visit, false if the iteration is complete. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="30b4d78974b347e4fcd275f1f65a61b2"></a><!-- doxytag: member="TXMPIterator::Skip" ref="30b4d78974b347e4fcd275f1f65a61b2" args="(XMP_OptionBits options)" -->
+</div>
+<a class="anchor" id="a30b4d78974b347e4fcd275f1f65a61b2"></a><!-- doxytag: member="TXMPIterator::Skip" ref="a30b4d78974b347e4fcd275f1f65a61b2" args="(XMP_OptionBits options)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Skip </td>
+ <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Skip </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -428,25 +413,26 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration, a logical OR of these bit-flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a></code> - Skip the subtree below the current node. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a></code> - Skip the subtree below and remaining siblings of the current node. </li>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration, a logical OR of these bit-flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a></code> - Skip the subtree below the current node. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a></code> - Skip the subtree below and remaining siblings of the current node. </li>
</ul>
</td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="TXMPIterator_8hpp-source.html">TXMPIterator.hpp</a></ul>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPIterator_8hpp_source.html">TXMPIterator.hpp</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPMeta-members.html b/docs/API/classTXMPMeta-members.html
index 631e83a..d7bd904 100644
--- a/docs/API/classTXMPMeta-members.html
+++ b/docs/API/classTXMPMeta-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,79 +63,75 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPMeta&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a">AppendArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#4f768a8cb35cabff1cf4187aa6a88dd3">AppendArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj &amp;itemValue, XMP_OptionBits itemOptions=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c">Clone</a>(XMP_OptionBits options=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc">CountArrayItems</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675">DeleteAlias</a>(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264">DeleteArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a">DeleteNamespace</a>(XMP_StringPtr namespaceURI)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844">DeleteProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be">DeleteQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4">DeleteStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58">DoesArrayItemExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066">DoesPropertyExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a">DoesQualifierExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5">DoesStructFieldExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512">DumpAliases</a>(XMP_TextOutputProc outProc, void *clientData)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817">DumpNamespaces</a>(XMP_TextOutputProc outProc, void *clientData)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f">DumpObject</a>(XMP_TextOutputProc outProc, void *clientData) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7">Erase</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc">GetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *itemValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4">GetGlobalOptions</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0">GetInternalRef</a>() const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0">GetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj *actualLang, tStringObj *itemValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97">GetNamespacePrefix</a>(XMP_StringPtr namespaceURI, tStringObj *namespacePrefix)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a">GetNamespaceURI</a>(XMP_StringPtr namespacePrefix, tStringObj *namespaceURI)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40">GetObjectName</a>(tStringObj *name) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2">GetObjectOptions</a>() const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c">GetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7">GetProperty_Bool</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650">GetProperty_Date</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47">GetProperty_Float</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, double *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc">GetProperty_Int</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, long *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402">GetProperty_Int64</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, long long *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13">GetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *qualValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94">GetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fieldValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d">GetVersionInfo</a>(XMP_VersionInfo *info)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c">Initialize</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef">operator=</a>(const TXMPMeta&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">ParseFromBuffer</a>(XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a">RegisterAlias</a>(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm=kXMP_NoOptions)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1">RegisterNamespace</a>(XMP_StringPtr namespaceURI, XMP_StringPtr suggestedPrefix, tStringObj *registeredPrefix)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602">RegisterStandardAliases</a>(XMP_StringPtr schemaNS)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a">ResolveAlias</a>(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, tStringObj *actualNS, tStringObj *actualProp, XMP_OptionBits *arrayForm)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49">SerializeToBuffer</a>(tStringObj *rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent=&quot;&quot;, XMP_Index baseIndent=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#0d98bc15bdb0f45737b15fc6822f3bc6">SerializeToBuffer</a>(tStringObj *rdfString, XMP_OptionBits options=0, XMP_StringLen padding=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc">SetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#15720ee8e732232fa25989870cf99846">SetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj &amp;itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332">SetGlobalOptions</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19">SetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#81273a152fb7b19e99c62ee39bf723f2">SetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj &amp;itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a">SetObjectName</a>(XMP_StringPtr name)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#fd059cc7cd9f906e12dab04e380e495c">SetObjectName</a>(tStringObj name)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17">SetObjectOptions</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28">SetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#cc50625611f6aad405aa47197b6d0055">SetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj &amp;propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f">SetProperty_Bool</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079">SetProperty_Date</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime &amp;propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed">SetProperty_Float</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421">SetProperty_Int</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, long propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377">SetProperty_Int64</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, long long propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3">SetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#c395e094cab251a0593d508594b21521">SetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj &amp;qualValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5">SetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#77d4a1bf7831f39073af9ea1544ebefa">SetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681">Sort</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865">Terminate</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7">TXMPMeta</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#da43d63894350e23a4307c41b7335eca">TXMPMeta</a>(const TXMPMeta&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#cbe8f556a5b32542c44fa9de9648ad41">TXMPMeta</a>(XMPMetaRef xmpRef)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#05199e2a4bc61db7aed207759e899bc2">TXMPMeta</a>(XMP_StringPtr buffer, XMP_StringLen xmpSize)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02">~TXMPMeta</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
+<h1>TXMPMeta&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a">AppendArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a4f768a8cb35cabff1cf4187aa6a88dd3">AppendArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj &amp;itemValue, XMP_OptionBits itemOptions=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c">Clone</a>(XMP_OptionBits options=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc">CountArrayItems</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264">DeleteArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8">DeleteLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a3f989597e95db929676273cacd4ea09a">DeleteNamespace</a>(XMP_StringPtr namespaceURI)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844">DeleteProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be">DeleteQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4">DeleteStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58">DoesArrayItemExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066">DoesPropertyExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a">DoesQualifierExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5">DoesStructFieldExist</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817">DumpNamespaces</a>(XMP_TextOutputProc outProc, void *clientData)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f">DumpObject</a>(XMP_TextOutputProc outProc, void *clientData) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7">Erase</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc">GetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *itemValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4">GetGlobalOptions</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0">GetInternalRef</a>() const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0">GetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj *actualLang, tStringObj *itemValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97">GetNamespacePrefix</a>(XMP_StringPtr namespaceURI, tStringObj *namespacePrefix)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a">GetNamespaceURI</a>(XMP_StringPtr namespacePrefix, tStringObj *namespaceURI)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40">GetObjectName</a>(tStringObj *name) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a0bfc04142a35671a4c8989fcaca6d6c2">GetObjectOptions</a>() const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c">GetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7">GetProperty_Bool</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650">GetProperty_Date</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47">GetProperty_Float</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, double *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650">GetProperty_Int</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050">GetProperty_Int64</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 *propValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13">GetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *qualValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94">GetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fieldValue, XMP_OptionBits *options) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d">GetVersionInfo</a>(XMP_VersionInfo *info)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c">Initialize</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a4d5a601c9b77f6f6ab5f14e658de58ef">operator=</a>(const TXMPMeta&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26">ParseFromBuffer</a>(XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1">RegisterNamespace</a>(XMP_StringPtr namespaceURI, XMP_StringPtr suggestedPrefix, tStringObj *registeredPrefix)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49">SerializeToBuffer</a>(tStringObj *rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent=&quot;&quot;, XMP_Index baseIndent=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a0d98bc15bdb0f45737b15fc6822f3bc6">SerializeToBuffer</a>(tStringObj *rdfString, XMP_OptionBits options=0, XMP_StringLen padding=0) const </td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc">SetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a15720ee8e732232fa25989870cf99846">SetArrayItem</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj &amp;itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332">SetGlobalOptions</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19">SetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a81273a152fb7b19e99c62ee39bf723f2">SetLocalizedText</a>(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj &amp;itemValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a">SetObjectName</a>(XMP_StringPtr name)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#afd059cc7cd9f906e12dab04e380e495c">SetObjectName</a>(tStringObj name)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a92055b3ae18dfd5e5491108f59318f17">SetObjectOptions</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28">SetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#acc50625611f6aad405aa47197b6d0055">SetProperty</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj &amp;propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f">SetProperty_Bool</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079">SetProperty_Date</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime &amp;propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed">SetProperty_Float</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943">SetProperty_Int</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90">SetProperty_Int64</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3">SetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ac395e094cab251a0593d508594b21521">SetQualifier</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj &amp;qualValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5">SetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a77d4a1bf7831f39073af9ea1544ebefa">SetStructField</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681">Sort</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865">Terminate</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7">TXMPMeta</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#ada43d63894350e23a4307c41b7335eca">TXMPMeta</a>(const TXMPMeta&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#acbe8f556a5b32542c44fa9de9648ad41">TXMPMeta</a>(XMPMetaRef xmpRef)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#a05199e2a4bc61db7aed207759e899bc2">TXMPMeta</a>(XMP_StringPtr buffer, XMP_StringLen xmpSize)</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPMeta.html#abab5013870cd47eb0d9d701653735a02">~TXMPMeta</a>()</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPMeta.html b/docs/API/classTXMPMeta.html
index 3a1de8e..eca4330 100644
--- a/docs/API/classTXMPMeta.html
+++ b/docs/API/classTXMPMeta.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta&lt; tStringObj &gt; Class Template Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPMeta&lt; tStringObj &gt; Class Template Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,294 +63,226 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPMeta&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPMeta" -->API for access to the XMP Toolkit core services.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="TXMPMeta_8hpp-source.html">TXMPMeta.hpp</a>&gt;</code>
-<p>
-
-<p>
-<a href="classTXMPMeta-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Constructors and destructor</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7">TXMPMeta</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, creates an empty object. <a href="#61ffb3aa3e387d8ff9c1f4ebd26606c7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#da43d63894350e23a4307c41b7335eca">TXMPMeta</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;original)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor, creates a client object refering to the same internal object. <a href="#da43d63894350e23a4307c41b7335eca"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef">operator=</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+<h1>TXMPMeta&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPMeta" -->
+<p>API for access to the XMP Toolkit core services.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal reference and increments the reference count. <a href="#4d5a601c9b77f6f6ab5f14e658de58ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#cbe8f556a5b32542c44fa9de9648ad41">TXMPMeta</a> (<a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef)</td></tr>
+<p><code>#include &lt;<a class="el" href="TXMPMeta_8hpp_source.html">TXMPMeta.hpp</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstructs an XMP object from an internal reference. <a href="#cbe8f556a5b32542c44fa9de9648ad41"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#05199e2a4bc61db7aed207759e899bc2">TXMPMeta</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpSize)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an object and parse one buffer of RDF into it. <a href="#05199e2a4bc61db7aed207759e899bc2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bab5013870cd47eb0d9d701653735a02"></a><!-- doxytag: member="TXMPMeta::~TXMPMeta" ref="bab5013870cd47eb0d9d701653735a02" args="()" -->
-virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02">~TXMPMeta</a> () throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, typical virtual destructor. */. <br></td></tr>
+<p><a href="classTXMPMeta-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Constructors and destructor</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9f50e6f946106b24d825e99ea17f1027"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7">TXMPMeta</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, creates an empty object. <a href="#a61ffb3aa3e387d8ff9c1f4ebd26606c7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ada43d63894350e23a4307c41b7335eca">TXMPMeta</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor, creates a client object refering to the same internal object. <a href="#ada43d63894350e23a4307c41b7335eca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a4d5a601c9b77f6f6ab5f14e658de58ef">operator=</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal reference and increments the reference count. <a href="#a4d5a601c9b77f6f6ab5f14e658de58ef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#acbe8f556a5b32542c44fa9de9648ad41">TXMPMeta</a> (<a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstructs an XMP object from an internal reference. <a href="#acbe8f556a5b32542c44fa9de9648ad41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a05199e2a4bc61db7aed207759e899bc2">TXMPMeta</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpSize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an object and parse one buffer of RDF into it. <a href="#a05199e2a4bc61db7aed207759e899bc2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abab5013870cd47eb0d9d701653735a02"></a><!-- doxytag: member="TXMPMeta::~TXMPMeta" ref="abab5013870cd47eb0d9d701653735a02" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#abab5013870cd47eb0d9d701653735a02">~TXMPMeta</a> () throw ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, typical virtual destructor. */. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessing property values</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The property value accessors all take a property specification; the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.<p>
-The accessor functions return true if the specified property exists. If it does, output parameters return the value (if any) and option flags describing the property. The option bit-flag constants that describe properties are <code>kXMP_PropXx</code> and <code>kXMP_ArrayIsXx</code>. See <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> and following, and macros <code><a class="el" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9" title="Macro reports the property type specified by an options flag.">XMP_PropIsSimple</a></code> and following in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>. If the property exists and has a value, it is returned as a Unicode string in UTF-8 encoding. Arrays and the non-leaf levels of structs do not have values. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c">GetProperty</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, tStringObj *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> reports whether a property exists, and retrieves its value. <a href="#06a3241c7fa5df87f61dff02fca23a0c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc">GetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, tStringObj *itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem()</a></code> provides access to items within an array. <a href="#c64a4251d157937f69b73f2ffac4f7cc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94">GetStructField</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, tStringObj *fieldValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField()</a></code> provides access to fields within a nested structure. <a href="#885ef7127b897e349f71fa493ace3c94"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13">GetQualifier</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, tStringObj *qualValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier()</a></code> provides access to a qualifier attached to a property. <a href="#2cc58d8316043b035643e7c21633bc13"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp5cc5af021f073cf28aebd8ad56075cbd"></a> The property value accessors all take a property specification; the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.</p>
+<p>The accessor functions return true if the specified property exists. If it does, output parameters return the value (if any) and option flags describing the property. The option bit-flag constants that describe properties are <code>kXMP_PropXx</code> and <code>kXMP_ArrayIsXx</code>. See <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> and following, and macros <code><a class="el" href="XMP__Const_8h.html#a510b75338bd488ddd8d9bd4e326806f9" title="Macro reports the property type specified by an options flag.">XMP_PropIsSimple</a></code> and following in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>. If the property exists and has a value, it is returned as a Unicode string in UTF-8 encoding. Arrays and the non-leaf levels of structs do not have values. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c">GetProperty</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, tStringObj *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> reports whether a property exists, and retrieves its value. <a href="#a06a3241c7fa5df87f61dff02fca23a0c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc">GetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, tStringObj *itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem()</a></code> provides access to items within an array. <a href="#ac64a4251d157937f69b73f2ffac4f7cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94">GetStructField</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, tStringObj *fieldValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField()</a></code> provides access to fields within a nested structure. <a href="#a885ef7127b897e349f71fa493ace3c94"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13">GetQualifier</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, tStringObj *qualValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier()</a></code> provides access to a qualifier attached to a property. <a href="#a2cc58d8316043b035643e7c21633bc13"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creating properties and setting their values</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions all take a property specification; the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.<p>
-All of the functions take a UTF-8 encoded Unicode string for the property value. Arrays and non-leaf levels of structs do not have values. The value can be passed as an <code><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (a pointer to a null-terminated string), or as a string object (<code>tStringObj</code>). <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28">SetProperty</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value. <a href="#1dfd6a08ebfd1a6364b3a7b6584bcc28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#cc50625611f6aad405aa47197b6d0055">SetProperty</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, const tStringObj &amp;propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value using a string object. <a href="#cc50625611f6aad405aa47197b6d0055"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc">SetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array. <a href="#1570eb89d613b4a94ca572e4644168cc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#15720ee8e732232fa25989870cf99846">SetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array using a string object. <a href="#15720ee8e732232fa25989870cf99846"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a">AppendArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> arrayOptions, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> itemOptions=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array, creating the array if necessary. <a href="#00d7314dc970ad390499ce9db27d314a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#4f768a8cb35cabff1cf4187aa6a88dd3">AppendArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> arrayOptions, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> itemOptions=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array using a string object value, creating the array if necessary. <a href="#4f768a8cb35cabff1cf4187aa6a88dd3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5">SetStructField</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure. <a href="#0e44c30e7527064909e5f7035d53c4f5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#77d4a1bf7831f39073af9ea1544ebefa">SetStructField</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, const tStringObj &amp;fieldValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure, using a string object. <a href="#77d4a1bf7831f39073af9ea1544ebefa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3">SetQualifier</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property. <a href="#c2e798da5f9d94e486382a41e73fcea3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c395e094cab251a0593d508594b21521">SetQualifier</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, const tStringObj &amp;qualValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property using a string object. <a href="#c395e094cab251a0593d508594b21521"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp3ece23c8cc7d8251846f187f5a713d46"></a> These functions all take a property specification; the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.</p>
+<p>All of the functions take a UTF-8 encoded Unicode string for the property value. Arrays and non-leaf levels of structs do not have values. The value can be passed as an <code><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (a pointer to a null-terminated string), or as a string object (<code>tStringObj</code>). </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28">SetProperty</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value. <a href="#a1dfd6a08ebfd1a6364b3a7b6584bcc28"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#acc50625611f6aad405aa47197b6d0055">SetProperty</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, const tStringObj &amp;propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value using a string object. <a href="#acc50625611f6aad405aa47197b6d0055"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc">SetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array. <a href="#a1570eb89d613b4a94ca572e4644168cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a15720ee8e732232fa25989870cf99846">SetArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array using a string object. <a href="#a15720ee8e732232fa25989870cf99846"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a">AppendArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> arrayOptions, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> itemOptions=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array, creating the array if necessary. <a href="#a00d7314dc970ad390499ce9db27d314a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a4f768a8cb35cabff1cf4187aa6a88dd3">AppendArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> arrayOptions, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> itemOptions=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array using a string object value, creating the array if necessary. <a href="#a4f768a8cb35cabff1cf4187aa6a88dd3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5">SetStructField</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure. <a href="#a0e44c30e7527064909e5f7035d53c4f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a77d4a1bf7831f39073af9ea1544ebefa">SetStructField</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, const tStringObj &amp;fieldValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure, using a string object. <a href="#a77d4a1bf7831f39073af9ea1544ebefa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3">SetQualifier</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property. <a href="#ac2e798da5f9d94e486382a41e73fcea3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ac395e094cab251a0593d508594b21521">SetQualifier</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, const tStringObj &amp;qualValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property using a string object. <a href="#ac395e094cab251a0593d508594b21521"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Detecting and deleting properties.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The namespace URI and prefix usage for property specifiers in these functions is the same as for <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code>. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844">DeleteProperty</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty()</a></code> deletes an XMP subtree rooted at a given property. <a href="#c8b555ba99904fa49bb4851a60cc3844"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264">DeleteArrayItem</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem()</a></code> deletes an XMP subtree rooted at a given array item. <a href="#bc1211f47225b5973a170ff952743264"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4">DeleteStructField</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField()</a></code> deletes an XMP subtree rooted at a given struct field. <a href="#bc258e027780a15be65a88fcfd4e1fd4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be">DeleteQualifier</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier()</a></code> deletes an XMP subtree rooted at a given qualifier. <a href="#8ce15f7de7fd3b258f07158ab5fa88be"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066">DoesPropertyExist</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist()</a></code> reports whether a property currently exists. <a href="#f22b116d71ecbbebea016ec5337e7066"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58">DoesArrayItemExist</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist()</a></code> reports whether an array item currently exists. <a href="#492465c588d6d4cb8e30f94790e66f58"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5">DoesStructFieldExist</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist()</a></code> reports whether a struct field currently exists. <a href="#9261b80d62e77a10ff1a89843bfa10a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a">DoesQualifierExist</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist()</a></code> reports whether a qualifier currently exists. <a href="#81347a92becd387a14f4d47c582f129a"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp99c86022ea3dd0543fe7511cd1bb7807"></a> The namespace URI and prefix usage for property specifiers in these functions is the same as for <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code>. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844">DeleteProperty</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty()</a></code> deletes an XMP subtree rooted at a given property. <a href="#ac8b555ba99904fa49bb4851a60cc3844"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264">DeleteArrayItem</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem()</a></code> deletes an XMP subtree rooted at a given array item. <a href="#abc1211f47225b5973a170ff952743264"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4">DeleteStructField</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField()</a></code> deletes an XMP subtree rooted at a given struct field. <a href="#abc258e027780a15be65a88fcfd4e1fd4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be">DeleteQualifier</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier()</a></code> deletes an XMP subtree rooted at a given qualifier. <a href="#a8ce15f7de7fd3b258f07158ab5fa88be"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066">DoesPropertyExist</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist()</a></code> reports whether a property currently exists. <a href="#af22b116d71ecbbebea016ec5337e7066"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58">DoesArrayItemExist</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist()</a></code> reports whether an array item currently exists. <a href="#a492465c588d6d4cb8e30f94790e66f58"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5">DoesStructFieldExist</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist()</a></code> reports whether a struct field currently exists. <a href="#a9261b80d62e77a10ff1a89843bfa10a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a">DoesQualifierExist</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist()</a></code> reports whether a qualifier currently exists. <a href="#a81347a92becd387a14f4d47c582f129a"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessing properties as binary values.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These are very similar to <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and <code><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">TXMPMeta::SetProperty()</a></code>, except that the value is returned or provided in binary form instead of as a UTF-8 string. <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> provides functions for converting between binary and string values. Use the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> to compose complex path expressions for fields or items in nested structures or arrays, or for qualifiers. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7">GetProperty_Bool</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, bool *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool()</a></code> retrieves the value of a Boolean property as a C++ bool. <a href="#dcf8a1959a8bd42641a42cbd4d64a5b7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc">GetProperty_Int</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, long *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int()</a></code> retrieves the value of an integer property as a C long integer. <a href="#3b6ba486c02607b544917091c43b05cc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402">GetProperty_Int64</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, long long *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64()</a></code> retrieves the value of an integer property as a C long long integer. <a href="#669e0625cd271b6e7902fe0b51020402"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47">GetProperty_Float</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, double *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float()</a></code> retrieves the value of a floating-point property as a C double float. <a href="#7708c31c9af3e740b27a4893dcd9aa47"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650">GetProperty_Date</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date()</a></code> retrieves the value of a date-time property as an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. <a href="#2f561295e73047ee90765558d29bd650"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f">SetProperty_Bool</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, bool propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool()</a></code> sets the value of a Boolean property using a C++ bool. <a href="#9521e3838272ec501ffdb60ff3eb482f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421">SetProperty_Int</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, long propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int()</a></code> sets the value of an integer property using a C long integer. <a href="#b8ae94130d9a05c1b9a3ee25588b6421"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377">SetProperty_Int64</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, long long propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64()</a></code> sets the value of an integer property using a C long long integer. <a href="#df919aff205e934e4c8250a067f7b377"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed">SetProperty_Float</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, double propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float()</a></code> sets the value of a floating-point property using a C double float. <a href="#3b0f2f6bae57931ea96775f03608c0ed"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079">SetProperty_Date</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;propValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date()</a></code> sets the value of a date/time property using an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. <a href="#eee10669445f77139d5634199ff01079"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpabc9d52b1519ad2166c728899b47ca6e"></a> These are very similar to <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and <code><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">TXMPMeta::SetProperty()</a></code>, except that the value is returned or provided in binary form instead of as a UTF-8 string. <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> provides functions for converting between binary and string values. Use the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> to compose complex path expressions for fields or items in nested structures or arrays, or for qualifiers. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7">GetProperty_Bool</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, bool *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool()</a></code> retrieves the value of a Boolean property as a C++ bool. <a href="#adcf8a1959a8bd42641a42cbd4d64a5b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650">GetProperty_Int</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, XMP_Int32 *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int()</a></code> retrieves the value of an integer property as a C long integer. <a href="#ae4e8ee4cc7441bb9464dac87f2d74650"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050">GetProperty_Int64</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, XMP_Int64 *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64()</a></code> retrieves the value of an integer property as a C long long integer. <a href="#af91fa4bc4f51a56e35bcfb554783b050"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47">GetProperty_Float</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, double *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float()</a></code> retrieves the value of a floating-point property as a C double float. <a href="#a7708c31c9af3e740b27a4893dcd9aa47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650">GetProperty_Date</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date()</a></code> retrieves the value of a date-time property as an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. <a href="#a2f561295e73047ee90765558d29bd650"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f">SetProperty_Bool</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, bool propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool()</a></code> sets the value of a Boolean property using a C++ bool. <a href="#a9521e3838272ec501ffdb60ff3eb482f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943">SetProperty_Int</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, XMP_Int32 propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int()</a></code> sets the value of an integer property using a C long integer. <a href="#a489e10a6686aa813ee437e93ab2c5943"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90">SetProperty_Int64</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, XMP_Int64 propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64()</a></code> sets the value of an integer property using a C long long integer. <a href="#a7f749be7699890bbaa2e2dbd05d45a90"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed">SetProperty_Float</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, double propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float()</a></code> sets the value of a floating-point property using a C double float. <a href="#a3b0f2f6bae57931ea96775f03608c0ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079">SetProperty_Date</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;propValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date()</a></code> sets the value of a date/time property using an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. <a href="#aeee10669445f77139d5634199ff01079"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessing localized text (alt-text) properties.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Localized text properties are stored in alt-text arrays. They allow multiple concurrent localizations of a property value, for example a document title or copyright in several languages.<p>
-These functions provide convenient support for localized text properties, including a number of special and obscure aspects. The most important aspect of these functions is that they select an appropriate array item based on one or two RFC 3066 language tags. One of these languages, the "specific" language, is preferred and selected if there is an exact match. For many languages it is also possible to define a "generic" language that can be used if there is no specific language match. The generic language must be a valid RFC 3066 primary subtag, or the empty string.<p>
-For example, a specific language of "en-US" should be used in the US, and a specific language of "en-UK" should be used in England. It is also appropriate to use "en" as the generic language in each case. If a US document goes to England, the "en-US" title is selected by using the "en" generic language and the "en-UK" specific language.<p>
-It is considered poor practice, but allowed, to pass a specific language that is just an RFC 3066 primary tag. For example "en" is not a good specific language, it should only be used as a generic language. Passing "i" or "x" as the generic language is also considered poor practice but allowed.<p>
-Advice from the W3C about the use of RFC 3066 language tags can be found at: <ul>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpc93aa577858c4c77e566e020733c7e2a"></a> Localized text properties are stored in alt-text arrays. They allow multiple concurrent localizations of a property value, for example a document title or copyright in several languages.</p>
+<p>These functions provide convenient support for localized text properties, including a number of special and obscure aspects. The most important aspect of these functions is that they select an appropriate array item based on one or two RFC 3066 language tags. One of these languages, the "specific" language, is preferred and selected if there is an exact match. For many languages it is also possible to define a "generic" language that can be used if there is no specific language match. The generic language must be a valid RFC 3066 primary subtag, or the empty string.</p>
+<p>For example, a specific language of "en-US" should be used in the US, and a specific language of "en-UK" should be used in England. It is also appropriate to use "en" as the generic language in each case. If a US document goes to England, the "en-US" title is selected by using the "en" generic language and the "en-UK" specific language.</p>
+<p>It is considered poor practice, but allowed, to pass a specific language that is just an RFC 3066 primary tag. For example "en" is not a good specific language, it should only be used as a generic language. Passing "i" or "x" as the generic language is also considered poor practice but allowed.</p>
+<p>Advice from the W3C about the use of RFC 3066 language tags can be found at: </p>
+<ul>
<li><a href="http://www.w3.org/International/articles/language-tags/">http://www.w3.org/International/articles/language-tags/</a></li>
</ul>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>RFC 3066 language tags must be treated in a case insensitive manner. The XMP toolkit does this by normalizing their capitalization: <ul>
+<dl class="note"><dt><b>Note:</b></dt><dd>RFC 3066 language tags must be treated in a case insensitive manner. The XMP toolkit does this by normalizing their capitalization: <ul>
<li>The primary subtag is lower case, the suggested practice of ISO 639. </li>
<li>All 2 letter secondary subtags are upper case, the suggested practice of ISO 3166. </li>
<li>All other subtags are lower case.</li>
</ul>
-The XMP specification defines an artificial language, "x-default", that is used to explicitly denote a default item in an alt-text array. The XMP toolkit normalizes alt-text arrays such that the x-default item is the first item. The <code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> function has several special features related to the x-default item, see its description for details. </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0">GetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, tStringObj *actualLang, tStringObj *itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText()</a></code> retrieves information about a selected item in an alt-text array. <a href="#eefe49bbf669770d769f4fe0ea566bd0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19">SetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array. <a href="#f9531b949a462f5663b1f3fd99464c19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#81273a152fb7b19e99c62ee39bf723f2">SetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array using a string object. <a href="#81273a152fb7b19e99c62ee39bf723f2"></a><br></td></tr>
+The XMP specification defines an artificial language, "x-default", that is used to explicitly denote a default item in an alt-text array. The XMP toolkit normalizes alt-text arrays such that the x-default item is the first item. The <code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> function has several special features related to the x-default item, see its description for details. </dd></dl>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0">GetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, tStringObj *actualLang, tStringObj *itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText()</a></code> retrieves information about a selected item in an alt-text array. <a href="#aeefe49bbf669770d769f4fe0ea566bd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19">SetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array. <a href="#af9531b949a462f5663b1f3fd99464c19"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a81273a152fb7b19e99c62ee39bf723f2">SetLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang, const tStringObj &amp;itemValue, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array using a string object. <a href="#a81273a152fb7b19e99c62ee39bf723f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8">DeleteLocalizedText</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> altTextName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> genericLang, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> specificLang)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8" title="DeleteLocalizedText() deletes specific language alternatives from an alt-text array...">DeleteLocalizedText()</a></code> deletes specific language alternatives from an alt-text array. <a href="#aeb7679e92b126800b7bd906acb2f26e8"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creating and reading serialized RDF.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The metadata contained in an XMP object must be serialized as RDF for storage in an XMP packet and output to a file. Similarly, metadata in the form of serialized RDF (such as metadata read from a file using <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>) must be parsed into an XMP object for manipulation with the XMP Toolkit.<p>
-These functions support parsing serialized RDF into an XMP object, and serializing an XMP object into RDF. The input for parsing can be any valid Unicode encoding. ISO Latin-1 is also recognized, but its use is strongly discouraged. Serialization is always as UTF-8. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">ParseFromBuffer</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer()</a></code> parses RDF from a series of input buffers into this XMP object. <a href="#7b383f5b357fff040cdbde82f4f43f26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49">SerializeToBuffer</a> (tStringObj *rdfString, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> padding, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> newline, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> indent=&quot;&quot;, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> baseIndent=0) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. <a href="#2774a6f15ae22f0002201b58c46bfb49"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#0d98bc15bdb0f45737b15fc6822f3bc6">SerializeToBuffer</a> (tStringObj *rdfString, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> padding=0) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. <a href="#0d98bc15bdb0f45737b15fc6822f3bc6"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp2799bbf7ea6ed050f01b61fcfcf882fc"></a> The metadata contained in an XMP object must be serialized as RDF for storage in an XMP packet and output to a file. Similarly, metadata in the form of serialized RDF (such as metadata read from a file using <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>) must be parsed into an XMP object for manipulation with the XMP Toolkit.</p>
+<p>These functions support parsing serialized RDF into an XMP object, and serializing an XMP object into RDF. The input for parsing can be any valid Unicode encoding. ISO Latin-1 is also recognized, but its use is strongly discouraged. Serialization is always as UTF-8. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26">ParseFromBuffer</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer()</a></code> parses RDF from a series of input buffers into this XMP object. <a href="#a7b383f5b357fff040cdbde82f4f43f26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49">SerializeToBuffer</a> (tStringObj *rdfString, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> padding, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> newline, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> indent=&quot;&quot;, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> baseIndent=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. <a href="#a2774a6f15ae22f0002201b58c46bfb49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a0d98bc15bdb0f45737b15fc6822f3bc6">SerializeToBuffer</a> (tStringObj *rdfString, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> padding=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. <a href="#a0d98bc15bdb0f45737b15fc6822f3bc6"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Helper functions.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0">GetInternalRef</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. <a href="#fbfebded0b85b08bd9c5ba0d7dae07e0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40">GetObjectName</a> (tStringObj *name) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code> retrieves the client-assigned name of this XMP object. <a href="#b0d179ed95487d4fd4f2680c1fbe0d40"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a">SetObjectName</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. <a href="#cf1935be8e4849976dfc02325424960a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#fd059cc7cd9f906e12dab04e380e495c">SetObjectName</a> (tStringObj name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. <a href="#fd059cc7cd9f906e12dab04e380e495c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681">Sort</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort()</a></code> sorts the data model tree of an XMP object. <a href="#8ac5a02a13d439ff33ed4431986da681"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df57895625ad118782ed48a3931848b7"></a><!-- doxytag: member="TXMPMeta::Erase" ref="df57895625ad118782ed48a3931848b7" args="()" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7">Erase</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7" title="Erase() restores the object to a &quot;just constructed&quot; state.">Erase()</a></code> restores the object to a "just constructed" state. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c">Clone</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone()</a></code> creates a deep copy of an XMP object. <a href="#6ca653436995bbb76315efe7934afd4c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc">CountArrayItems</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems()</a></code> reports the number of items currently defined in an array. <a href="#b79aae864b3ce190d0699252f48e0acc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f">DumpObject</a> (<a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc, void *clientData) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject()</a></code> outputs the content of an XMP object to a callback handler for debugging. <a href="#466fa349c9765f39ca6b1450908e769f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bfc04142a35671a4c8989fcaca6d6c2"></a><!-- doxytag: member="TXMPMeta::GetObjectOptions" ref="0bfc04142a35671a4c8989fcaca6d6c2" args="() const " -->
-<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2">GetObjectOptions</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92055b3ae18dfd5e5491108f59318f17"></a><!-- doxytag: member="TXMPMeta::SetObjectOptions" ref="92055b3ae18dfd5e5491108f59318f17" args="(XMP_OptionBits options)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17">SetObjectOptions</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp0e62d0b82e7a9f3eea5354470444124f"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0">GetInternalRef</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. <a href="#afbfebded0b85b08bd9c5ba0d7dae07e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40">GetObjectName</a> (tStringObj *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code> retrieves the client-assigned name of this XMP object. <a href="#ab0d179ed95487d4fd4f2680c1fbe0d40"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a">SetObjectName</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. <a href="#acf1935be8e4849976dfc02325424960a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#afd059cc7cd9f906e12dab04e380e495c">SetObjectName</a> (tStringObj name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. <a href="#afd059cc7cd9f906e12dab04e380e495c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681">Sort</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort()</a></code> sorts the data model tree of an XMP object. <a href="#a8ac5a02a13d439ff33ed4431986da681"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf57895625ad118782ed48a3931848b7"></a><!-- doxytag: member="TXMPMeta::Erase" ref="adf57895625ad118782ed48a3931848b7" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7">Erase</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7" title="Erase() restores the object to a &quot;just constructed&quot; state.">Erase()</a></code> restores the object to a "just constructed" state. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c">Clone</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone()</a></code> creates a deep copy of an XMP object. <a href="#a6ca653436995bbb76315efe7934afd4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc">CountArrayItems</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems()</a></code> reports the number of items currently defined in an array. <a href="#ab79aae864b3ce190d0699252f48e0acc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f">DumpObject</a> (<a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc, void *clientData) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject()</a></code> outputs the content of an XMP object to a callback handler for debugging. <a href="#a466fa349c9765f39ca6b1450908e769f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bfc04142a35671a4c8989fcaca6d6c2"></a><!-- doxytag: member="TXMPMeta::GetObjectOptions" ref="a0bfc04142a35671a4c8989fcaca6d6c2" args="() const " -->
+<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a0bfc04142a35671a4c8989fcaca6d6c2">GetObjectOptions</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92055b3ae18dfd5e5491108f59318f17"></a><!-- doxytag: member="TXMPMeta::SetObjectOptions" ref="a92055b3ae18dfd5e5491108f59318f17" args="(XMP_OptionBits options)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a92055b3ae18dfd5e5491108f59318f17">SetObjectOptions</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Initialization and termination</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d">GetVersionInfo</a> (<a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *info)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo()</a></code> retrieves runtime version information. <a href="#5415cfc01a9cb8786939246571a23a9d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c">Initialize</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize()</a></code> explicitly initializes the XMP Toolkit before use. */ <a href="#f1defbb73f919eae06456a655dea726c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865">Terminate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate()</a></code> explicitly terminates usage of the XMP Toolkit. <a href="#6c30fae26173167958b6f0da95a53865"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9dc126b6914be34103027a21c1233dfa"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d">GetVersionInfo</a> (<a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *info)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo()</a></code> retrieves runtime version information. <a href="#a5415cfc01a9cb8786939246571a23a9d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c">Initialize</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize()</a></code> explicitly initializes the XMP Toolkit before use. */ <a href="#af1defbb73f919eae06456a655dea726c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865">Terminate</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate()</a></code> explicitly terminates usage of the XMP Toolkit. <a href="#a6c30fae26173167958b6f0da95a53865"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Global option flags</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Global option flags affect the overall behavior of the XMP Toolkit. The available options will be declared in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>. There are none in this version of the Toolkit. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4">GetGlobalOptions</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions()</a></code> retrieves the set of global option flags. There are none in this version of the Toolkit. <a href="#12b2435ba039c62a164951948c016eb4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332">SetGlobalOptions</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions()</a></code> updates the set of global option flags. There are none in this version of the Toolkit. <a href="#e7bb38d9b3857b08106630a386b47332"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp3855f599a279a495da5981e1bcd39901"></a> Global option flags affect the overall behavior of the XMP Toolkit. The available options will be declared in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>. There are none in this version of the Toolkit. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4">GetGlobalOptions</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions()</a></code> retrieves the set of global option flags. There are none in this version of the Toolkit. <a href="#a12b2435ba039c62a164951948c016eb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332">SetGlobalOptions</a> (<a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions()</a></code> updates the set of global option flags. There are none in this version of the Toolkit. <a href="#ae7bb38d9b3857b08106630a386b47332"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Internal data structure dump utilities</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These are debugging utilities that dump internal data structures, to be handled by client-defined callback described in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>.<p>
-<dl class="see" compact><dt><b>See also:</b></dt><dd>Member function <code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code> </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817">DumpNamespaces</a> (<a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc, void *clientData)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> sends the list of registered namespace URIs and prefixes to a handler. <a href="#addc5f555de57472939a41346e276817"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512">DumpAliases</a> (<a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc, void *clientData)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512" title="DumpAliases() sends the list of registered aliases and corresponding actuals to a...">DumpAliases()</a></code> sends the list of registered aliases and corresponding actuals to a handler. <a href="#c2e1bbfd6b9188afb730260808557512"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp094d59a9125570d03fcaa29b01cea129"></a> These are debugging utilities that dump internal data structures, to be handled by client-defined callback described in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>Member function <code><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code> </dd></dl>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817">DumpNamespaces</a> (<a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc, void *clientData)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> sends the list of registered namespace URIs and prefixes to a handler. <a href="#aaddc5f555de57472939a41346e276817"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Namespace Functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Namespaces must be registered before use in namespace URI parameters or path expressions. Within the XMP Toolkit the registered namespace URIs and prefixes must be unique. Additional namespaces encountered when parsing RDF are automatically registered.<p>
-The namespace URI should always end in an XML name separator such as '/' or '#'. This is because some forms of RDF shorthand catenate a namespace URI with an element name to form a new URI. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1">RegisterNamespace</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> suggestedPrefix, tStringObj *registeredPrefix)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace()</a></code> registers a namespace URI with a suggested prefix. <a href="#c0368ddbaa4d689cd5b1aff1c88bb0e1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97">GetNamespacePrefix</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI, tStringObj *namespacePrefix)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix()</a></code> obtains the prefix for a registered namespace URI, and reports whether the URI is registered. <a href="#f28589472d8c0397db6cef868f2b8c97"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a">GetNamespaceURI</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespacePrefix, tStringObj *namespaceURI)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI()</a></code> obtains the URI for a registered namespace prefix, and reports whether the prefix is registered. <a href="#a20c84e7549d0a3252fa29a1e83a757a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a">DeleteNamespace</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <a href="#3f989597e95db929676273cacd4ea09a"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Alias functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Aliases in XMP serve the same purpose as Windows file shortcuts, Mac OS file aliases, or UNIX file symbolic links. The aliases are multiple names for the same property. One distinction of XMP aliases is that they are ordered. An alias name points to an actual name; the primary significance of the actual name is that it is the preferred name for output, generally the most widely recognized name.<p>
-XMP restricts the names that can be aliased. The alias must be a top-level property name, not a field within a structure or an element within an array. The actual can be a top-level property name, the first element within a top-level array, or the default element in an alt-text array. This does not mean the alias can only be a simple property; you can alias a top-level structure or array to an identical top-level structure or array, or to the first item of an array of structures. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">*static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a">RegisterAlias</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasProp, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> actualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> actualProp, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> arrayForm=kXMP_NoOptions)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a" title="RegisterAlias() associates an alias name with an actual name.">RegisterAlias()</a></code> associates an alias name with an actual name. <a href="#c47027a765b6365e268f4de3e61b006a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a">ResolveAlias</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasProp, tStringObj *actualNS, tStringObj *actualProp, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *arrayForm)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a" title="ResolveAlias() reports whether a name is an alias, and what it is aliased to.">ResolveAlias()</a></code> reports whether a name is an alias, and what it is aliased to. <a href="#c4b9c75202f2b961ad92f10a9e504e9a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675">DeleteAlias</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> aliasProp)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675" title="DeleteAlias() deletes an alias.">DeleteAlias()</a></code> deletes an alias. <a href="#af64964e983235247ef65c86a42a4675"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602">RegisterStandardAliases</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602" title="RegisterStandardAliases() registers all of the built-in aliases for a standard namespace...">RegisterStandardAliases()</a></code> registers all of the built-in aliases for a standard namespace. <a href="#b77cf73fa0cc63d845f113b3d1c83602"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa18dddfa13c93888f34c9a736bbd623c"></a> Namespaces must be registered before use in namespace URI parameters or path expressions. Within the XMP Toolkit the registered namespace URIs and prefixes must be unique. Additional namespaces encountered when parsing RDF are automatically registered.</p>
+<p>The namespace URI should always end in an XML name separator such as '/' or '#'. This is because some forms of RDF shorthand catenate a namespace URI with an element name to form a new URI. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1">RegisterNamespace</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> suggestedPrefix, tStringObj *registeredPrefix)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace()</a></code> registers a namespace URI with a suggested prefix. <a href="#ac0368ddbaa4d689cd5b1aff1c88bb0e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97">GetNamespacePrefix</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI, tStringObj *namespacePrefix)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix()</a></code> obtains the prefix for a registered namespace URI, and reports whether the URI is registered. <a href="#af28589472d8c0397db6cef868f2b8c97"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a">GetNamespaceURI</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespacePrefix, tStringObj *namespaceURI)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI()</a></code> obtains the URI for a registered namespace prefix, and reports whether the prefix is registered. <a href="#aa20c84e7549d0a3252fa29a1e83a757a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#a3f989597e95db929676273cacd4ea09a">DeleteNamespace</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> namespaceURI)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. <a href="#a3f989597e95db929676273cacd4ea09a"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class tStringObj&gt;<br>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br/>
class TXMPMeta&lt; tStringObj &gt;</h3>
-API for access to the XMP Toolkit core services.
-<p>
-<code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> is the template class providing the core services of the XMP Toolkit. It should be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.<p>
-Access these functions through the concrete class, <code>SXMPMeta</code>.<p>
-You can create <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> objects (also called XMP objects) from metadata that you construct, or that you obtain from files using the XMP Toolkit's XMPFiles component; see <code><a class="el" href="TXMPFiles_8hpp.html" title="API for access to the main (document-level) metadata in a file_.">TXMPFiles.hpp</a></code>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="61ffb3aa3e387d8ff9c1f4ebd26606c7"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="61ffb3aa3e387d8ff9c1f4ebd26606c7" args="()" -->
+<p>API for access to the XMP Toolkit core services. </p>
+<p><code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> is the template class providing the core services of the XMP Toolkit. It should be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.</p>
+<p>Access these functions through the concrete class, <code>SXMPMeta</code>.</p>
+<p>You can create <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> objects (also called XMP objects) from metadata that you construct, or that you obtain from files using the XMP Toolkit's XMPFiles component; see <code><a class="el" href="TXMPFiles_8hpp.html" title="API for access to the main (document-level) metadata in a file_.">TXMPFiles.hpp</a></code>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a61ffb3aa3e387d8ff9c1f4ebd26606c7"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="a61ffb3aa3e387d8ff9c1f4ebd26606c7" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
+ <td class="memname">* <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -358,25 +290,23 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Default constructor, creates an empty object.
-<p>
-The default constructor creates a new empty <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+<p>Default constructor, creates an empty object. </p>
+<p>The default constructor creates a new empty <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="da43d63894350e23a4307c41b7335eca"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="da43d63894350e23a4307c41b7335eca" args="(const TXMPMeta&lt; tStringObj &gt; &amp;original)" -->
+</div>
+<a class="anchor" id="ada43d63894350e23a4307c41b7335eca"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="ada43d63894350e23a4307c41b7335eca" args="(const TXMPMeta&lt; tStringObj &gt; &amp;original)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
+ <td class="memname">* <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>original</em> </td>
+ <td class="paramname"> <em>original</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -384,30 +314,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Copy constructor, creates a client object refering to the same internal object.
-<p>
-The copy constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object that refers to the same internal XMP object. as an existing <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Copy constructor, creates a client object refering to the same internal object. </p>
+<p>The copy constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object that refers to the same internal XMP object. as an existing <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>The object to copy.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="cbe8f556a5b32542c44fa9de9648ad41"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="cbe8f556a5b32542c44fa9de9648ad41" args="(XMPMetaRef xmpRef)" -->
+</div>
+<a class="anchor" id="acbe8f556a5b32542c44fa9de9648ad41"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="acbe8f556a5b32542c44fa9de9648ad41" args="(XMPMetaRef xmpRef)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
+ <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>&nbsp;</td>
- <td class="paramname"> <em>xmpRef</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpRef</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -415,35 +344,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Reconstructs an XMP object from an internal reference.
-<p>
-This constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object that refers to the underlying reference object of an existing <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object. Use to safely pass XMP objects across DLL boundaries.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Reconstructs an XMP object from an internal reference. </p>
+<p>This constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object that refers to the underlying reference object of an existing <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object. Use to safely pass XMP objects across DLL boundaries.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpRef</em>&nbsp;</td><td>The underlying reference object, obtained from some other XMP object with <code><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpRef</em>&nbsp;</td><td>The underlying reference object, obtained from some other XMP object with <code><a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code>.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="05199e2a4bc61db7aed207759e899bc2"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="05199e2a4bc61db7aed207759e899bc2" args="(XMP_StringPtr buffer, XMP_StringLen xmpSize)" -->
+</div>
+<a class="anchor" id="a05199e2a4bc61db7aed207759e899bc2"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="a05199e2a4bc61db7aed207759e899bc2" args="(XMP_StringPtr buffer, XMP_StringLen xmpSize)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
+ <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPMeta.html">TXMPMeta</a> </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
<td class="paramname"> <em>xmpSize</em></td><td>&nbsp;</td>
</tr>
<tr>
@@ -455,581 +383,693 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-Constructs an object and parse one buffer of RDF into it.
-<p>
-This constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object and populates it with metadata from a buffer containing serialized RDF. This buffer must be a complete RDF parse stream.<p>
-The result of passing serialized data to this function is identical to creating an empty object then calling <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. To use the constructor, however, the RDF must be complete. If you need to parse data from multiple buffers, create an empty object and use <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Constructs an object and parse one buffer of RDF into it. </p>
+<p>This constructor creates a new <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object and populates it with metadata from a buffer containing serialized RDF. This buffer must be a complete RDF parse stream.</p>
+<p>The result of passing serialized data to this function is identical to creating an empty object then calling <code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. To use the constructor, however, the RDF must be complete. If you need to parse data from multiple buffers, create an empty object and use <code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A pointer to the buffer of RDF to be parsed. Can be null if the length is 0; in this case, the function creates an empty object.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>xmpSize</em>&nbsp;</td><td>The length in bytes of the buffer.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5415cfc01a9cb8786939246571a23a9d"></a><!-- doxytag: member="TXMPMeta::GetVersionInfo" ref="5415cfc01a9cb8786939246571a23a9d" args="(XMP_VersionInfo *info)" -->
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4f768a8cb35cabff1cf4187aa6a88dd3"></a><!-- doxytag: member="TXMPMeta::AppendArrayItem" ref="a4f768a8cb35cabff1cf4187aa6a88dd3" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj &amp;itemValue, XMP_OptionBits itemOptions=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetVersionInfo </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::AppendArrayItem </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *&nbsp;</td>
- <td class="paramname"> <em>info</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayOptions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>itemOptions</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo()</a></code> retrieves runtime version information.
-<p>
-The header <code>XMPVersion.hpp</code> defines a static version number for the XMP Toolkit, which describes the version of the API used at client compile time. It is not necessarily the same as the runtime version. Do not base runtime decisions on the static version alone; you can, however, compare the runtime and static versions.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>). The function can be called before calling <code><a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">TXMPMeta::Initialize()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>[out] A buffer in which to return the version information. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array using a string object value, creating the array if necessary. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object in which to return the item value. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="f1defbb73f919eae06456a655dea726c"></a><!-- doxytag: member="TXMPMeta::Initialize" ref="f1defbb73f919eae06456a655dea726c" args="()" -->
+</div>
+<a class="anchor" id="a00d7314dc970ad390499ce9db27d314a"></a><!-- doxytag: member="TXMPMeta::AppendArrayItem" ref="a00d7314dc970ad390499ce9db27d314a" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Initialize </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::AppendArrayItem </td>
<td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayOptions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>itemOptions</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize()</a></code> explicitly initializes the XMP Toolkit before use. */
-<p>
-Initializes the XMP Toolkit.<p>
-Call this function before making any other calls to the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> functions, except <code><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">TXMPMeta::GetVersionInfo()</a></code>.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
+<p><code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array, creating the array if necessary. </p>
+<p>This function simplifies construction of an array by not requiring that you pre-create an empty array. The array that is assigned is created automatically if it does not yet exist. If the array exists, it must have the form specified by the options. Each call appends a new item to the array.</p>
+<p>Use <code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayOptions</em>&nbsp;</td><td>Option flags describing the array type to create; a logical OR of allowed bit-flag constants, <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, or <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code>. If the array exists, must match the existing array type or be null (0 or <code><a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>).</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new item value, a null-terminated UTF-8 string, if the array item has a value.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemOptions</em>&nbsp;</td><td>Option flags describing the item type to create; one of the bit-flag constants <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> or <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> to create a complex array item. </td></tr>
+ </table>
+ </dd>
+</dl>
</div>
-</div><p>
-<a class="anchor" name="6c30fae26173167958b6f0da95a53865"></a><!-- doxytag: member="TXMPMeta::Terminate" ref="6c30fae26173167958b6f0da95a53865" args="()" -->
+</div>
+<a class="anchor" id="a6ca653436995bbb76315efe7934afd4c"></a><!-- doxytag: member="TXMPMeta::Clone" ref="a6ca653436995bbb76315efe7934afd4c" args="(XMP_OptionBits options=0) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Terminate </td>
+ <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Clone </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td>
<td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate()</a></code> explicitly terminates usage of the XMP Toolkit.
-<p>
-Frees structures created on initialization.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).
+<p><code><a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone()</a></code> creates a deep copy of an XMP object. </p>
+<p>Use this function to copy an entire XMP metadata tree. Assignment and copy constructors only increment a reference count, they do not do a deep copy. This function returns an object, not a pointer. The following shows correct usage:</p>
+<pre>
+ SXMPMeta * clone1 = new SXMPMeta ( sourceXMP.Clone() ); // This works.
+ SXMPMeta clone2 ( sourceXMP.Clone ); // This works also. (Not a pointer.)
+ </pre><p> The <code>clone2</code> example does not use an explicit pointer. This is good for local usage, protecting against memory leaks.</p>
+<p>This is an example of incorrect usage: </p>
+<pre>
+ SXMPMeta * clone3 = &amp;sourceXMP.Clone(); // ! This does not work!
+ </pre><p> The assignment to <code>clone3</code> creates a temporary object, initializes it with the clone, assigns the address of the temporary to <code>clone3</code>, then deletes the temporary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, not currently defined..</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An XMP object cloned from the original. </dd></dl>
+
</div>
-</div><p>
-<a class="anchor" name="4d5a601c9b77f6f6ab5f14e658de58ef"></a><!-- doxytag: member="TXMPMeta::operator=" ref="4d5a601c9b77f6f6ab5f14e658de58ef" args="(const TXMPMeta&lt; tStringObj &gt; &amp;rhs)" -->
+</div>
+<a class="anchor" id="ab79aae864b3ce190d0699252f48e0acc"></a><!-- doxytag: member="TXMPMeta::CountArrayItems" ref="ab79aae864b3ce190d0699252f48e0acc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::operator= </td>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::CountArrayItems </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>rhs</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Assignment operator, assigns the internal reference and increments the reference count.
-<p>
-The assignment operator assigns the internal ref from the rhs object and increments the reference count on the underlying internal XMP object.
+<p><code><a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems()</a></code> reports the number of items currently defined in an array. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of items. </dd></dl>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="12b2435ba039c62a164951948c016eb4"></a><!-- doxytag: member="TXMPMeta::GetGlobalOptions" ref="12b2435ba039c62a164951948c016eb4" args="()" -->
+<a class="anchor" id="abc1211f47225b5973a170ff952743264"></a><!-- doxytag: member="TXMPMeta::DeleteArrayItem" ref="abc1211f47225b5973a170ff952743264" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetGlobalOptions </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteArrayItem </td>
<td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramname"> <em>itemIndex</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions()</a></code> retrieves the set of global option flags. There are none in this version of the Toolkit.
-<p>
-This function is static; you can make the call from the class without instantiating it.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A logical OR of global option bit-flag constants. </dd></dl>
+<p><code><a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem()</a></code> deletes an XMP subtree rooted at a given array item. </p>
+<p>It is not an error if the array item does not exist. Use <code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item. </td></tr>
+ </table>
+ </dd>
+</dl>
</div>
-</div><p>
-<a class="anchor" name="e7bb38d9b3857b08106630a386b47332"></a><!-- doxytag: member="TXMPMeta::SetGlobalOptions" ref="e7bb38d9b3857b08106630a386b47332" args="(XMP_OptionBits options)" -->
+</div>
+<a class="anchor" id="aeb7679e92b126800b7bd906acb2f26e8"></a><!-- doxytag: member="TXMPMeta::DeleteLocalizedText" ref="aeb7679e92b126800b7bd906acb2f26e8" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetGlobalOptions </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteLocalizedText </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>altTextName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>genericLang</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>specificLang</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions()</a></code> updates the set of global option flags. There are none in this version of the Toolkit.
-<p>
-The entire set is replaced with the new values. If only one flag is to be modified, use <code><a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">TXMPMeta::GetGlobalOptions()</a></code> to obtain the current set, modify the desired flag, then use this function to reset the value.<p>
-This function is static; you can make the call from the class without instantiating it.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8" title="DeleteLocalizedText() deletes specific language alternatives from an alt-text array...">DeleteLocalizedText()</a></code> deletes specific language alternatives from an alt-text array. </p>
+<p>The rules for finding the language value to delete are similar to those for <code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A logical OR of global option bit-flag constants. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="addc5f555de57472939a41346e276817"></a><!-- doxytag: member="TXMPMeta::DumpNamespaces" ref="addc5f555de57472939a41346e276817" args="(XMP_TextOutputProc outProc, void *clientData)" -->
+</div>
+<a class="anchor" id="a3f989597e95db929676273cacd4ea09a"></a><!-- doxytag: member="TXMPMeta::DeleteNamespace" ref="a3f989597e95db929676273cacd4ea09a" args="(XMP_StringPtr namespaceURI)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DumpNamespaces </td>
+ <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteNamespace </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>&nbsp;</td>
- <td class="paramname"> <em>outProc</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>clientData</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>namespaceURI</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> sends the list of registered namespace URIs and prefixes to a handler.
-<p>
-For debugging. Invokes a client-defined callback for each line of output.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Not implemented. </p>
+<p>Deletes a namespace from the registry. Does nothing if the URI is not registered, or if the parameter is null or the empty string.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>outProc</em>&nbsp;</td><td>The client-defined procedure to handle each line of output.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>clientData</em>&nbsp;</td><td>A pointer to client-defined data to pass to the handler.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A success-fail status value, returned from the handler. Zero is success, failure values are client-defined. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c2e1bbfd6b9188afb730260808557512"></a><!-- doxytag: member="TXMPMeta::DumpAliases" ref="c2e1bbfd6b9188afb730260808557512" args="(XMP_TextOutputProc outProc, void *clientData)" -->
+</div>
+<a class="anchor" id="ac8b555ba99904fa49bb4851a60cc3844"></a><!-- doxytag: member="TXMPMeta::DeleteProperty" ref="ac8b555ba99904fa49bb4851a60cc3844" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DumpAliases </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteProperty </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>&nbsp;</td>
- <td class="paramname"> <em>outProc</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>clientData</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512" title="DumpAliases() sends the list of registered aliases and corresponding actuals to a...">DumpAliases()</a></code> sends the list of registered aliases and corresponding actuals to a handler.
-<p>
-For debugging. Invokes a client-defined callback for each line of output.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty()</a></code> deletes an XMP subtree rooted at a given property. </p>
+<p>It is not an error if the property does not exist.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>outProc</em>&nbsp;</td><td>The client-defined procedure to handle each line of output.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>clientData</em>&nbsp;</td><td>A pointer to client-defined data to pass to the handler.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A success-fail status value, returned from the handler. Zero is success, failure values are client-defined. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c0368ddbaa4d689cd5b1aff1c88bb0e1"></a><!-- doxytag: member="TXMPMeta::RegisterNamespace" ref="c0368ddbaa4d689cd5b1aff1c88bb0e1" args="(XMP_StringPtr namespaceURI, XMP_StringPtr suggestedPrefix, tStringObj *registeredPrefix)" -->
+</div>
+<a class="anchor" id="a8ce15f7de7fd3b258f07158ab5fa88be"></a><!-- doxytag: member="TXMPMeta::DeleteQualifier" ref="a8ce15f7de7fd3b258f07158ab5fa88be" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::RegisterNamespace </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteQualifier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>namespaceURI</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>suggestedPrefix</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>registeredPrefix</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualName</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace()</a></code> registers a namespace URI with a suggested prefix.
-<p>
-If the URI is not registered but the suggested prefix is in use, a unique prefix is created from the suggested one. The actual registered prefix is returned. The function result tells if the registered prefix is the suggested one. It is not an error if the URI is already registered, regardless of the prefix.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier()</a></code> deletes an XMP subtree rooted at a given qualifier. </p>
+<p>It is not an error if the qualifier does not exist.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. Must be a valid XML URI.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>suggestedPrefix</em>&nbsp;</td><td>The suggested prefix to be used if the URI is not yet registered. Must be a valid XML name.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>registeredPrefix</em>&nbsp;</td><td>[out] A string object in which to return the prefix actually registered for this URI.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the registered prefix matches the suggested prefix.</dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>No checking is done on either the URI or the prefix. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="f28589472d8c0397db6cef868f2b8c97"></a><!-- doxytag: member="TXMPMeta::GetNamespacePrefix" ref="f28589472d8c0397db6cef868f2b8c97" args="(XMP_StringPtr namespaceURI, tStringObj *namespacePrefix)" -->
+</div>
+<a class="anchor" id="abc258e027780a15be65a88fcfd4e1fd4"></a><!-- doxytag: member="TXMPMeta::DeleteStructField" ref="abc258e027780a15be65a88fcfd4e1fd4" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetNamespacePrefix </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteStructField </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>namespaceURI</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>namespacePrefix</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix()</a></code> obtains the prefix for a registered namespace URI, and reports whether the URI is registered.
-<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField()</a></code> deletes an XMP subtree rooted at a given struct field. </p>
+<p>It is not an error if the field does not exist.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. Must not be null or the empty string. It is not an error if the namespace URI is not registered.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>namespacePrefix</em>&nbsp;</td><td>[out] A string object in which to return the prefix registered for this URI, with a terminating colon character, ':'. If the namespace is not registered, this string is not modified.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the namespace URI is registered. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="a20c84e7549d0a3252fa29a1e83a757a"></a><!-- doxytag: member="TXMPMeta::GetNamespaceURI" ref="a20c84e7549d0a3252fa29a1e83a757a" args="(XMP_StringPtr namespacePrefix, tStringObj *namespaceURI)" -->
+</div>
+<a class="anchor" id="a492465c588d6d4cb8e30f94790e66f58"></a><!-- doxytag: member="TXMPMeta::DoesArrayItemExist" ref="a492465c588d6d4cb8e30f94790e66f58" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetNamespaceURI </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesArrayItemExist </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>namespacePrefix</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>namespaceURI</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramname"> <em>itemIndex</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI()</a></code> obtains the URI for a registered namespace prefix, and reports whether the prefix is registered.
-<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist()</a></code> reports whether an array item currently exists. </p>
+<p>Use <code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>namespacePrefix</em>&nbsp;</td><td>The prefix for the namespace. Must not be null or the empty string. It is not an error if the namespace prefix is not registered.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>[out] A string object in which to return the URI registered for this prefix. If the prefix is not registered, this string is not modified.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the namespace prefix is registered. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the array item exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="3f989597e95db929676273cacd4ea09a"></a><!-- doxytag: member="TXMPMeta::DeleteNamespace" ref="3f989597e95db929676273cacd4ea09a" args="(XMP_StringPtr namespaceURI)" -->
+</div>
+<a class="anchor" id="af22b116d71ecbbebea016ec5337e7066"></a><!-- doxytag: member="TXMPMeta::DoesPropertyExist" ref="af22b116d71ecbbebea016ec5337e7066" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteNamespace </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesPropertyExist </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>namespaceURI</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Not implemented.
-<p>
-Deletes a namespace from the registry. Does nothing if the URI is not registered, or if the parameter is null or the empty string.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist()</a></code> reports whether a property currently exists. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c47027a765b6365e268f4de3e61b006a"></a><!-- doxytag: member="TXMPMeta::RegisterAlias" ref="c47027a765b6365e268f4de3e61b006a" args="(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm=kXMP_NoOptions)" -->
+</div>
+<a class="anchor" id="a81347a92becd387a14f4d47c582f129a"></a><!-- doxytag: member="TXMPMeta::DoesQualifierExist" ref="a81347a92becd387a14f4d47c582f129a" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">* static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::RegisterAlias </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesQualifierExist </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasProp</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>actualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>actualProp</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>arrayForm</em> = <code>kXMP_NoOptions</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualName</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a" title="RegisterAlias() associates an alias name with an actual name.">RegisterAlias()</a></code> associates an alias name with an actual name.
-<p>
-Defines an alias mapping from one namespace/property to another. Both property names must be simple names. An alias can be a direct mapping, where the alias and actual have the same data type. It is also possible to map a simple alias to an item in an array. This can either be to the first item in the array, or to the 'x-default' item in an alt-text array. Multiple alias names can map to the same actual, as long as the forms match. It is a no-op to reregister an alias in an identical fashion.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist()</a></code> reports whether a qualifier currently exists. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>aliasNS</em>&nbsp;</td><td>The namespace URI for the alias. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>aliasProp</em>&nbsp;</td><td>The name of the alias. Must be a simple name, not null or the empty string and not a general path expression.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualNS</em>&nbsp;</td><td>The namespace URI for the actual. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualProp</em>&nbsp;</td><td>The name of the actual. Must be a simple name, not null or the empty string and not a general path expression.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayForm</em>&nbsp;</td><td>Provides the array form for simple aliases to an array item. This is needed to know what kind of array to create if set for the first time via the simple alias. Pass <code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>, the default value, for all direct aliases regardless of whether the actual data type is an array or not. One of these constants:</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
</table>
+ </dd>
</dl>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code> - This is a direct mapping. The actual data type does not matter. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> - The actual is an unordered array, the alias is to the first element of the array. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> - The actual is an ordered array, the alias is to the first element of the array. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> - The actual is an alternate array, the alias is to the first element of the array. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> - The actual is an alternate text array, the alias is to the 'x-default' element of the array. </li>
-</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the qualifier exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c4b9c75202f2b961ad92f10a9e504e9a"></a><!-- doxytag: member="TXMPMeta::ResolveAlias" ref="c4b9c75202f2b961ad92f10a9e504e9a" args="(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, tStringObj *actualNS, tStringObj *actualProp, XMP_OptionBits *arrayForm)" -->
+</div>
+<a class="anchor" id="a9261b80d62e77a10ff1a89843bfa10a5"></a><!-- doxytag: member="TXMPMeta::DoesStructFieldExist" ref="a9261b80d62e77a10ff1a89843bfa10a5" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::ResolveAlias </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesStructFieldExist </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasProp</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>actualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>actualProp</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>arrayForm</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a" title="ResolveAlias() reports whether a name is an alias, and what it is aliased to.">ResolveAlias()</a></code> reports whether a name is an alias, and what it is aliased to.
-<p>
-Output strings are not written until return, so you can use this to "reduce" a path to the base form as follows: <pre>
- isAlias = SXMPMeta::ResolveAlias ( ns.c_str(), path.c_str(), &amp;ns, &amp;path, 0 );
- </pre> This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist()</a></code> reports whether a struct field currently exists. </p>
+<p>Use <code><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>aliasNS</em>&nbsp;</td><td>The namespace URI for the alias. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>aliasProp</em>&nbsp;</td><td>The name of the alias. Can be an arbitrary path expression path, must not null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualNS</em>&nbsp;</td><td>[out] A string object in which to return the namespace URI for the actual. Not modified if the given name is not an alias. Can be null if the namespace URI is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualProp</em>&nbsp;</td><td>[out] A string object in which to return the path of the actual. Not modified if the given name is not an alias. Can be null if the actual's path is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayForm</em>&nbsp;</td><td>[out] A string object in which to return the array form of the actual. This is 0 (<code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>) if the alias and actual forms match, otherwise it is the options passed to <code><a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a" title="RegisterAlias() associates an alias name with an actual name.">TXMPMeta::RegisterAlias()</a></code>. Not modified if the given name is not an alias. Can be null if the actual's array form is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the provided name is an alias. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the field exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="af64964e983235247ef65c86a42a4675"></a><!-- doxytag: member="TXMPMeta::DeleteAlias" ref="af64964e983235247ef65c86a42a4675" args="(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp)" -->
+</div>
+<a class="anchor" id="aaddc5f555de57472939a41346e276817"></a><!-- doxytag: member="TXMPMeta::DumpNamespaces" ref="aaddc5f555de57472939a41346e276817" args="(XMP_TextOutputProc outProc, void *clientData)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteAlias </td>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DumpNamespaces </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>&nbsp;</td>
+ <td class="paramname"> <em>outProc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>aliasProp</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>clientData</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1040,80 +1080,37 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675" title="DeleteAlias() deletes an alias.">DeleteAlias()</a></code> deletes an alias.
-<p>
-This deletes only the registration of the alias, it does not delete the actual property. It deletes any view of the property through the alias name.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> sends the list of registered namespace URIs and prefixes to a handler. </p>
+<p>For debugging. Invokes a client-defined callback for each line of output.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>aliasNS</em>&nbsp;</td><td>The namespace URI for the alias. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>aliasProp</em>&nbsp;</td><td>The name of the alias. Must be a simple name, not null or the empty string and not a general path expression. It is not an error to provide a name that has not been registered as an alias. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>outProc</em>&nbsp;</td><td>The client-defined procedure to handle each line of output.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>clientData</em>&nbsp;</td><td>A pointer to client-defined data to pass to the handler.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A success-fail status value, returned from the handler. Zero is success, failure values are client-defined. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="b77cf73fa0cc63d845f113b3d1c83602"></a><!-- doxytag: member="TXMPMeta::RegisterStandardAliases" ref="b77cf73fa0cc63d845f113b3d1c83602" args="(XMP_StringPtr schemaNS)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::RegisterStandardAliases </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602" title="RegisterStandardAliases() registers all of the built-in aliases for a standard namespace...">RegisterStandardAliases()</a></code> registers all of the built-in aliases for a standard namespace.
-<p>
-The built-in aliases are documented in the XMP Specification. This function registers the aliases in the given namespace; that is, it creates the aliases from this namespace to actuals in other namespaces.<p>
-This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the aliases. Must not be null or the empty string. </td></tr>
- </table>
-</dl>
-
</div>
-</div><p>
-<a class="anchor" name="06a3241c7fa5df87f61dff02fca23a0c"></a><!-- doxytag: member="TXMPMeta::GetProperty" ref="06a3241c7fa5df87f61dff02fca23a0c" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj *propValue, XMP_OptionBits *options) const " -->
+<a class="anchor" id="a466fa349c9765f39ca6b1450908e769f"></a><!-- doxytag: member="TXMPMeta::DumpObject" ref="a466fa349c9765f39ca6b1450908e769f" args="(XMP_TextOutputProc outProc, void *clientData) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty </td>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DumpObject </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>&nbsp;</td>
+ <td class="paramname"> <em>outProc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>clientData</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1124,49 +1121,42 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> reports whether a property exists, and retrieves its value.
-<p>
-This is the simplest property accessor. Use this to retrieve the values of top-level simple properties, or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>.<p>
-When specifying a namespace and path (in this and all other accessors): <ul>
-<li>If a namespace URI is specified, it must be for a registered namespace. </li>
-<li>If the namespace is specified only by a prefix in the property name path, it must be a registered prefix. </li>
-<li>If both a URI and path prefix are present, they must be corresponding parts of a registered namespace.</li>
-</ul>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject()</a></code> outputs the content of an XMP object to a callback handler for debugging. </p>
+<p>Invokes a client-defined callback for each line of output.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property. The URI must be for a registered namespace. Can be null or the empty string if the first component of the <code>propName</code> path contains a namespace prefix.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string. The first component can be a namespace prefix; if present without a <code>schemaNS</code> value, the prefix specifies the namespace. The prefix must be for a registered namespace, and if a namespace URI is specified, must match the registered prefix for that namespace.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the property, if the property exists and has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A buffer in which to return option flags describing the property. Can be null if the flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>outProc</em>&nbsp;</td><td>The client-defined procedure to handle each line of output.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>clientData</em>&nbsp;</td><td>A pointer to client-defined data to pass to the handler.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A success-fail status value, returned from the handler. Zero is success, failure values are client-defined.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd>Static function <code><a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c64a4251d157937f69b73f2ffac4f7cc"></a><!-- doxytag: member="TXMPMeta::GetArrayItem" ref="c64a4251d157937f69b73f2ffac4f7cc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *itemValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="ac64a4251d157937f69b73f2ffac4f7cc"></a><!-- doxytag: member="TXMPMeta::GetArrayItem" ref="ac64a4251d157937f69b73f2ffac4f7cc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *itemValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetArrayItem </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetArrayItem </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
<td class="paramname"> <em>itemIndex</em>, </td>
</tr>
<tr>
@@ -1178,7 +1168,7 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
<td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
@@ -1190,63 +1180,132 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem()</a></code> provides access to items within an array.
-<p>
-Reports whether the item exists; if it does, and if it has a value, the function retrieves the value. Items are accessed by an integer index, where the first item has index 1.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem()</a></code> provides access to items within an array. </p>
+<p>Reports whether the item exists; if it does, and if it has a value, the function retrieves the value. Items are accessed by an integer index, where the first item has index 1.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the array item, if it has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the array item. Can be null if the flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the array item exists. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the array item exists. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a12b2435ba039c62a164951948c016eb4"></a><!-- doxytag: member="TXMPMeta::GetGlobalOptions" ref="a12b2435ba039c62a164951948c016eb4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetGlobalOptions </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><code><a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions()</a></code> retrieves the set of global option flags. There are none in this version of the Toolkit. </p>
+<p>This function is static; you can make the call from the class without instantiating it.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A logical OR of global option bit-flag constants. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="885ef7127b897e349f71fa493ace3c94"></a><!-- doxytag: member="TXMPMeta::GetStructField" ref="885ef7127b897e349f71fa493ace3c94" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fieldValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="afbfebded0b85b08bd9c5ba0d7dae07e0"></a><!-- doxytag: member="TXMPMeta::GetInternalRef" ref="afbfebded0b85b08bd9c5ba0d7dae07e0" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetStructField </td>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetInternalRef </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. </p>
+<p>The <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> class is a normal C++ template, it is instantiated and local to each client executable, as are the other <code>TXMP*</code> classes. Different clients might not use the same string type to instantiate <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>.</p>
+<p>Because of this you should not pass <code>SXMPMeta</code> objects, or pointers to <code>SXMPMeta</code> objects, across DLL boundaries. Use this function to obtain a safe internal reference that you can pass, then construct a local object on the callee side. This construction does not create a cloned XMP tree, it is the same underlying XMP object safely wrapped in each client's <code>SXMPMeta</code> object.</p>
+<p>Use this function and the associated constructor like this: </p>
+<ul>
+<li>The callee's header contains: <pre>
+ CalleeMethod ( XMPMetaRef xmpRef );
+ </pre></li>
+</ul>
+<ul>
+<li>The caller's code contains: <pre>
+ SXMPMeta callerXMP;
+ CalleeMethod ( callerXMP.GetInternalRef() );
+ </pre></li>
+</ul>
+<ul>
+<li>The callee's code contains: <pre>
+ SXMPMeta calleeXMP ( xmpRef );
+ </pre></li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The reference object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aeefe49bbf669770d769f4fe0ea566bd0"></a><!-- doxytag: member="TXMPMeta::GetLocalizedText" ref="aeefe49bbf669770d769f4fe0ea566bd0" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj *actualLang, tStringObj *itemValue, XMP_OptionBits *options) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetLocalizedText </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>altTextName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>genericLang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>specificLang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>fieldValue</em>, </td>
+ <td class="paramname"> <em>actualLang</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
<td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
@@ -1258,846 +1317,709 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField()</a></code> provides access to fields within a nested structure.
-<p>
-Reports whether the field exists; if it does, and if it has a value, the function retrieves the value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText()</a></code> retrieves information about a selected item in an alt-text array. </p>
+<p>The array item is selected according to these rules: </p>
+<ul>
+<li>Look for an exact match with the specific language. </li>
+<li>If a generic language is given, look for a partial match. </li>
+<li>Look for an x-default item. </li>
+<li>Choose the first item.</li>
+</ul>
+<p>A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.</p>
+<p>You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.</p>
+<p>The return value reports whether a match was successfully made.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the field, if the field has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the field. Can be null if the flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>actualLang</em>&nbsp;</td><td>[out] A string object in which to return the language of the selected array item, if an appropriate array item is found. Can be null if the language is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the array item, if an appropriate array item is found. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A buffer in which to return the option flags that describe the array item, if an appropriate array item is found. Can be null if the flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the field exists. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if an appropriate array item exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="2cc58d8316043b035643e7c21633bc13"></a><!-- doxytag: member="TXMPMeta::GetQualifier" ref="2cc58d8316043b035643e7c21633bc13" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *qualValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="af28589472d8c0397db6cef868f2b8c97"></a><!-- doxytag: member="TXMPMeta::GetNamespacePrefix" ref="af28589472d8c0397db6cef868f2b8c97" args="(XMP_StringPtr namespaceURI, tStringObj *namespacePrefix)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetQualifier </td>
+ <td class="memname">static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetNamespacePrefix </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>namespaceURI</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>qualValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>namespacePrefix</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier()</a></code> provides access to a qualifier attached to a property.
-<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>In this version of the Toolkit, qualifiers are supported only for simple leaf properties.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix()</a></code> obtains the prefix for a registered namespace URI, and reports whether the URI is registered. </p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the qualifier, if the qualifier has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the qualifier. Can be null if the flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. Must not be null or the empty string. It is not an error if the namespace URI is not registered.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespacePrefix</em>&nbsp;</td><td>[out] A string object in which to return the prefix registered for this URI, with a terminating colon character, ':'. If the namespace is not registered, this string is not modified.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the qualifier exists. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the namespace URI is registered. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="1dfd6a08ebfd1a6364b3a7b6584bcc28"></a><!-- doxytag: member="TXMPMeta::SetProperty" ref="1dfd6a08ebfd1a6364b3a7b6584bcc28" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="aa20c84e7549d0a3252fa29a1e83a757a"></a><!-- doxytag: member="TXMPMeta::GetNamespaceURI" ref="aa20c84e7549d0a3252fa29a1e83a757a" args="(XMP_StringPtr namespacePrefix, tStringObj *namespaceURI)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty </td>
+ <td class="memname">static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetNamespaceURI </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>namespacePrefix</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>namespaceURI</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value.
-<p>
-Each function takes an options flag that describes the property. You can use these functions to create empty arrays and structs by setting appropriate option flags. When you assign a value, all levels of a struct that are implicit in the assignment are created if necessary. <code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">TXMPMeta::AppendArrayItem()</a></code> implicitly creates the named array if necessary.<p>
-The allowed option bit-flags include: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> - Can be used to create an empty struct. A struct is implicitly created when the first field is set. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> - By default, a general unordered array (bag). </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> - An ordered array. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> - An alternative array. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> - An alt-text array. Each array element must be a simple property with an <code>xml:lang</code> attribute. This is the simplest property setter. Use it for top-level simple properties, or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>.</li>
-</ul>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI()</a></code> obtains the URI for a registered namespace prefix, and reports whether the prefix is registered. </p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new value, a pointer to a null terminated UTF-8 string. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespacePrefix</em>&nbsp;</td><td>The prefix for the namespace. Must not be null or the empty string. It is not an error if the namespace prefix is not registered.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>[out] A string object in which to return the URI registered for this prefix. If the prefix is not registered, this string is not modified.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the namespace prefix is registered. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="cc50625611f6aad405aa47197b6d0055"></a><!-- doxytag: member="TXMPMeta::SetProperty" ref="cc50625611f6aad405aa47197b6d0055" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj &amp;propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="ab0d179ed95487d4fd4f2680c1fbe0d40"></a><!-- doxytag: member="TXMPMeta::GetObjectName" ref="ab0d179ed95487d4fd4f2680c1fbe0d40" args="(tStringObj *name) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetObjectName </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>name</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value using a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object for the item value. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code> retrieves the client-assigned name of this XMP object. </p>
+<p>Assign this name with <code><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>[out] A string object in which to return the name. </td></tr>
+ </table>
+ </dd>
+</dl>
+
</div>
-</div><p>
-<a class="anchor" name="1570eb89d613b4a94ca572e4644168cc"></a><!-- doxytag: member="TXMPMeta::SetArrayItem" ref="1570eb89d613b4a94ca572e4644168cc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a06a3241c7fa5df87f61dff02fca23a0c"></a><!-- doxytag: member="TXMPMeta::GetProperty" ref="a06a3241c7fa5df87f61dff02fca23a0c" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetArrayItem </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
- <td class="paramname"> <em>itemIndex</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array.
-<p>
-Items are accessed by an integer index, where the first item has index 1. This function creates the item if necessary, but the array itself must already exist Use <code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> to create arrays. A new item is automatically appended if the index is the array size plus 1. To insert a new item before or after an existing item, use option flags.<p>
-Use <code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> reports whether a property exists, and retrieves its value. </p>
+<p>This is the simplest property accessor. Use this to retrieve the values of top-level simple properties, or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>.</p>
+<p>When specifying a namespace and path (in this and all other accessors): </p>
+<ul>
+<li>If a namespace URI is specified, it must be for a registered namespace. </li>
+<li>If the namespace is specified only by a prefix in the property name path, it must be a registered prefix. </li>
+<li>If both a URI and path prefix are present, they must be corresponding parts of a registered namespace.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new item value, a null-terminated UTF-8 string, if the array item has a value.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the array type and insertion location for a new item; a logical OR of allowed bit-flag constants. The type, if specified, must match the existing array type, <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, or <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code>. Default (0 or <code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>) matches the existing array type.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property. The URI must be for a registered namespace. Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string. The first component can be a namespace prefix; if present without a <code>schemaNS</code> value, the prefix specifies the namespace. The prefix must be for a registered namespace, and if a namespace URI is specified, must match the registered prefix for that namespace.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the property, if the property exists and has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A buffer in which to return option flags describing the property. Can be null if the flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
-To insert a new item before or after the specified index, set flag <code><a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a></code> or <code><a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a></code>.
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="15720ee8e732232fa25989870cf99846"></a><!-- doxytag: member="TXMPMeta::SetArrayItem" ref="15720ee8e732232fa25989870cf99846" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj &amp;itemValue, XMP_OptionBits options=0)" -->
+<a class="anchor" id="adcf8a1959a8bd42641a42cbd4d64a5b7"></a><!-- doxytag: member="TXMPMeta::GetProperty_Bool" ref="adcf8a1959a8bd42641a42cbd4d64a5b7" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetArrayItem </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Bool </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
- <td class="paramname"> <em>itemIndex</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype">bool *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array using a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object in which to return the item value. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool()</a></code> retrieves the value of a Boolean property as a C++ bool. </p>
+<p>Reports whether a property exists, and retrieves its binary value and property type information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+
</div>
-</div><p>
-<a class="anchor" name="00d7314dc970ad390499ce9db27d314a"></a><!-- doxytag: member="TXMPMeta::AppendArrayItem" ref="00d7314dc970ad390499ce9db27d314a" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions=0)" -->
+</div>
+<a class="anchor" id="a2f561295e73047ee90765558d29bd650"></a><!-- doxytag: member="TXMPMeta::GetProperty_Date" ref="a2f561295e73047ee90765558d29bd650" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::AppendArrayItem </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Date </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>arrayOptions</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>itemOptions</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array, creating the array if necessary.
-<p>
-This function simplifies construction of an array by not requiring that you pre-create an empty array. The array that is assigned is created automatically if it does not yet exist. If the array exists, it must have the form specified by the options. Each call appends a new item to the array.<p>
-Use <code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date()</a></code> retrieves the value of a date-time property as an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. </p>
+<p>Reports whether a property exists, and retrieves its binary value and property type information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayOptions</em>&nbsp;</td><td>Option flags describing the array type to create; a logical OR of allowed bit-flag constants, <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, or <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code>. If the array exists, must match the existing array type or be null (0 or <code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>).</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new item value, a null-terminated UTF-8 string, if the array item has a value.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemOptions</em>&nbsp;</td><td>Option flags describing the item type to create; one of the bit-flag constants <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> or <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> to create a complex array item. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="4f768a8cb35cabff1cf4187aa6a88dd3"></a><!-- doxytag: member="TXMPMeta::AppendArrayItem" ref="4f768a8cb35cabff1cf4187aa6a88dd3" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj &amp;itemValue, XMP_OptionBits itemOptions=0)" -->
+</div>
+<a class="anchor" id="a7708c31c9af3e740b27a4893dcd9aa47"></a><!-- doxytag: member="TXMPMeta::GetProperty_Float" ref="a7708c31c9af3e740b27a4893dcd9aa47" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, double *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::AppendArrayItem </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Float </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>arrayOptions</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype">double *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>itemOptions</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> adds an item to an array using a string object value, creating the array if necessary.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object in which to return the item value. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float()</a></code> retrieves the value of a floating-point property as a C double float. </p>
+<p>Reports whether a property exists, and retrieves its binary value and property type information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="0e44c30e7527064909e5f7035d53c4f5"></a><!-- doxytag: member="TXMPMeta::SetStructField" ref="0e44c30e7527064909e5f7035d53c4f5" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options=0)" -->
+<a class="anchor" id="ae4e8ee4cc7441bb9464dac87f2d74650"></a><!-- doxytag: member="TXMPMeta::GetProperty_Int" ref="ae4e8ee4cc7441bb9464dac87f2d74650" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetStructField </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Int </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldValue</em>, </td>
+ <td class="paramtype">XMP_Int32 *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure.
-<p>
-Use this to set a value within an existing structure, create a new field within an existing structure, or create an empty structure of any depth. If you set a field in a structure that does not exist, the structure is automatically created.<p>
-Use <code><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int()</a></code> retrieves the value of an integer property as a C long integer. </p>
+<p>Reports whether a property exists, and retrieves its binary value and property type information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The new value, a null-terminated UTF-8 string, if the field has a value. Null to create a new, empty struct or empty field in an existing struct.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property, in which the bit-flag <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> must be set to create a struct. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="77d4a1bf7831f39073af9ea1544ebefa"></a><!-- doxytag: member="TXMPMeta::SetStructField" ref="77d4a1bf7831f39073af9ea1544ebefa" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="af91fa4bc4f51a56e35bcfb554783b050"></a><!-- doxytag: member="TXMPMeta::GetProperty_Int64" ref="af91fa4bc4f51a56e35bcfb554783b050" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 *propValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetStructField </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Int64 </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>fieldValue</em>, </td>
+ <td class="paramtype">XMP_Int64 *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure, using a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object in which to return the field value. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64()</a></code> retrieves the value of an integer property as a C long long integer. </p>
+<p>Reports whether a property exists, and retrieves its binary value and property type information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+
</div>
-</div><p>
-<a class="anchor" name="c2e798da5f9d94e486382a41e73fcea3"></a><!-- doxytag: member="TXMPMeta::SetQualifier" ref="c2e798da5f9d94e486382a41e73fcea3" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a2cc58d8316043b035643e7c21633bc13"></a><!-- doxytag: member="TXMPMeta::GetQualifier" ref="a2cc58d8316043b035643e7c21633bc13" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *qualValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetQualifier </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetQualifier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>qualNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>qualName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>qualValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property.
-<p>
-Use this to set a value for an existing qualifier, or create a new qualifier. &lt;&lt;how do options work? macro vs bit-flag? interaction w/XMP_PropHasQualifier?&gt;&gt; Use <code><a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">TXMPUtils::ComposeQualifierPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier()</a></code> provides access to a qualifier attached to a property. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>In this version of the Toolkit, qualifiers are supported only for simple leaf properties.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>The new value, a null-terminated UTF-8 string, if the qualifier has a value. Null to create a new, empty qualifier.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the &lt;&lt;qualified property? qualifier?&gt;&gt;, a logical OR of property-type bit-flag constants. Use the macro <code><a class="el" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa" title="Macro reports the property type specified by an options flag.">XMP_PropIsQualifier</a></code> to create a qualifier. &lt;&lt;??&gt;&gt; </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the qualifier, if the qualifier has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the qualifier. Can be null if the flags are not wanted.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the qualifier exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c395e094cab251a0593d508594b21521"></a><!-- doxytag: member="TXMPMeta::SetQualifier" ref="c395e094cab251a0593d508594b21521" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj &amp;qualValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a885ef7127b897e349f71fa493ace3c94"></a><!-- doxytag: member="TXMPMeta::GetStructField" ref="a885ef7127b897e349f71fa493ace3c94" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fieldValue, XMP_OptionBits *options) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetQualifier </td>
+ <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetStructField </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>qualValue</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>fieldValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property using a string object.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object for the qualifier value. It is otherwise identical; see details in the canonical form.
+<p><code><a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField()</a></code> provides access to fields within a nested structure. </p>
+<p>Reports whether the field exists; if it does, and if it has a value, the function retrieves the value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the field, if the field has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the field. Can be null if the flags are not wanted.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the field exists. </dd></dl>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="c8b555ba99904fa49bb4851a60cc3844"></a><!-- doxytag: member="TXMPMeta::DeleteProperty" ref="c8b555ba99904fa49bb4851a60cc3844" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName)" -->
+<a class="anchor" id="a5415cfc01a9cb8786939246571a23a9d"></a><!-- doxytag: member="TXMPMeta::GetVersionInfo" ref="a5415cfc01a9cb8786939246571a23a9d" args="(XMP_VersionInfo *info)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteProperty </td>
+ <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetVersionInfo </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramtype"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>info</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty()</a></code> deletes an XMP subtree rooted at a given property.
-<p>
-It is not an error if the property does not exist.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo()</a></code> retrieves runtime version information. </p>
+<p>The header <code>XMPVersion.hpp</code> defines a static version number for the XMP Toolkit, which describes the version of the API used at client compile time. It is not necessarily the same as the runtime version. Do not base runtime decisions on the static version alone; you can, however, compare the runtime and static versions.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>). The function can be called before calling <code><a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">TXMPMeta::Initialize()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>[out] A buffer in which to return the version information. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="bc1211f47225b5973a170ff952743264"></a><!-- doxytag: member="TXMPMeta::DeleteArrayItem" ref="bc1211f47225b5973a170ff952743264" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex)" -->
+</div>
+<a class="anchor" id="af1defbb73f919eae06456a655dea726c"></a><!-- doxytag: member="TXMPMeta::Initialize" ref="af1defbb73f919eae06456a655dea726c" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteArrayItem </td>
+ <td class="memname">* static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Initialize </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
- <td class="paramname"> <em>itemIndex</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem()</a></code> deletes an XMP subtree rooted at a given array item.
-<p>
-It is not an error if the array item does not exist. Use <code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize()</a></code> explicitly initializes the XMP Toolkit before use. */ </p>
+<p>Initializes the XMP Toolkit.</p>
+<p>Call this function before making any other calls to the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> functions, except <code><a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">TXMPMeta::GetVersionInfo()</a></code>.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="bc258e027780a15be65a88fcfd4e1fd4"></a><!-- doxytag: member="TXMPMeta::DeleteStructField" ref="bc258e027780a15be65a88fcfd4e1fd4" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName)" -->
+</div>
+<a class="anchor" id="a4d5a601c9b77f6f6ab5f14e658de58ef"></a><!-- doxytag: member="TXMPMeta::operator=" ref="a4d5a601c9b77f6f6ab5f14e658de58ef" args="(const TXMPMeta&lt; tStringObj &gt; &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteStructField </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::operator= </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em></td><td>&nbsp;</td>
- </tr>
- <tr>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em></td>
+ <td>&nbsp;)&nbsp;</td>
<td></td>
- <td>)</td>
- <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField()</a></code> deletes an XMP subtree rooted at a given struct field.
-<p>
-It is not an error if the field does not exist.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
- </table>
-</dl>
+<p>Assignment operator, assigns the internal reference and increments the reference count. </p>
+<p>The assignment operator assigns the internal ref from the rhs object and increments the reference count on the underlying internal XMP object. </p>
</div>
-</div><p>
-<a class="anchor" name="8ce15f7de7fd3b258f07158ab5fa88be"></a><!-- doxytag: member="TXMPMeta::DeleteQualifier" ref="8ce15f7de7fd3b258f07158ab5fa88be" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName)" -->
+</div>
+<a class="anchor" id="a7b383f5b357fff040cdbde82f4f43f26"></a><!-- doxytag: member="TXMPMeta::ParseFromBuffer" ref="a7b383f5b357fff040cdbde82f4f43f26" args="(XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DeleteQualifier </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::ParseFromBuffer </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>bufferSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualName</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -2108,84 +2030,98 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier()</a></code> deletes an XMP subtree rooted at a given qualifier.
-<p>
-It is not an error if the qualifier does not exist.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer()</a></code> parses RDF from a series of input buffers into this XMP object. </p>
+<p>Use this to convert metadata from serialized RDF form (as, for example, read from an XMP packet embedded in a file) into an XMP object that you can manipulate with the XMP Toolkit. If this XMP object is empty and the input buffer contains a complete XMP packet, this is the same as creating a new XMP object from that buffer with the constructor.</p>
+<p>You can use this function to combine multiple buffers into a single metadata tree. To terminate an input loop conveniently, pass the option <code><a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a></code> for all real input, then make a final call with a zero length and <code><a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>. The buffers can be any length. The buffer boundaries need not respect XML tokens or even Unicode characters.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A pointer to a buffer of input. Can be null if <code>bufferSize</code> is 0.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>bufferSize</em>&nbsp;</td><td>The length of the input buffer in bytes. Zero is a valid value.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the parse operation is performed. A logical OR of these bit-flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a></code> - This is not the last buffer of input, more calls follow. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400" title="Require a surrounding x:xmpmeta element.">kXMP_RequireXMPMeta</a></code> - The <code>x:xmpmeta</code> XML element is required around <code>rdf:RDF</code>.</li>
+</ul>
+</td></tr>
</table>
+ </dd>
</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">TXMPFiles::GetXMP()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="f22b116d71ecbbebea016ec5337e7066"></a><!-- doxytag: member="TXMPMeta::DoesPropertyExist" ref="f22b116d71ecbbebea016ec5337e7066" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName) const " -->
+</div>
+<a class="anchor" id="ac0368ddbaa4d689cd5b1aff1c88bb0e1"></a><!-- doxytag: member="TXMPMeta::RegisterNamespace" ref="ac0368ddbaa4d689cd5b1aff1c88bb0e1" args="(XMP_StringPtr namespaceURI, XMP_StringPtr suggestedPrefix, tStringObj *registeredPrefix)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesPropertyExist </td>
+ <td class="memname">* static bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::RegisterNamespace </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>namespaceURI</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>suggestedPrefix</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>registeredPrefix</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist()</a></code> reports whether a property currently exists.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace()</a></code> registers a namespace URI with a suggested prefix. </p>
+<p>If the URI is not registered but the suggested prefix is in use, a unique prefix is created from the suggested one. The actual registered prefix is returned. The function result tells if the registered prefix is the suggested one. It is not an error if the URI is already registered, regardless of the prefix.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the property; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. Must be a valid XML URI.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>suggestedPrefix</em>&nbsp;</td><td>The suggested prefix to be used if the URI is not yet registered. Must be a valid XML name.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>registeredPrefix</em>&nbsp;</td><td>[out] A string object in which to return the prefix actually registered for this URI.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if the registered prefix matches the suggested prefix.</dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>No checking is done on either the URI or the prefix. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="492465c588d6d4cb8e30f94790e66f58"></a><!-- doxytag: member="TXMPMeta::DoesArrayItemExist" ref="492465c588d6d4cb8e30f94790e66f58" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex) const " -->
+</div>
+<a class="anchor" id="a0d98bc15bdb0f45737b15fc6822f3bc6"></a><!-- doxytag: member="TXMPMeta::SerializeToBuffer" ref="a0d98bc15bdb0f45737b15fc6822f3bc6" args="(tStringObj *rdfString, XMP_OptionBits options=0, XMP_StringLen padding=0) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesArrayItemExist </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SerializeToBuffer </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>rdfString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
- <td class="paramname"> <em>itemIndex</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>padding</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -2196,50 +2132,76 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist()</a></code> reports whether an array item currently exists.
-<p>
-Use <code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. </p>
+<p>This simpler form of the function uses default values for the <code>newline</code>, <code>indent</code>, and <code>baseIndent</code> parameters.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rdfString</em>&nbsp;</td><td>[out] A string object in which to return the serialized RDF. Must not be null.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the serialization operation is performed. The specified options must be logically consistent; an exception is thrown if they are not. A logical OR of these bit-flag constants: </p>
+<ul>
+<li><code>kXMP_OmitPacketWrapper</code> - Do not include an XML packet wrapper. This cannot be specified together with <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a></code>, <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a></code>, or <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a></code>. </li>
+<li><code>kXMP_ReadOnlyPacket</code> - Create a read-only XML packet wapper. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
+<li><code>kXMP_UseCompactFormat</code> - Use a highly compact RDF syntax and layout. </li>
+<li><code>kXMP_IncludeThumbnailPad</code> - Include typical space for a JPEG thumbnail in the padding if no <code>xmp:Thumbnails</code> property is present. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
+<li><code>kXMP_ExactPacketLength</code> - The padding parameter provides the overall packet length. The actual amount of padding is computed. An exception is thrown if the packet exceeds this length with no padding. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>.</li>
+</ul>
+<p>In addition to the above options, you can include one of the following encoding options: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a></code> - Encode as UTF-8, the default. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a></code> - Encode as big-endian UTF-16. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a></code> - Encode as little-endian UTF-16. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a></code> - Encode as big-endian UTF-32. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a></code> - Encode as little-endian UTF-32.</li>
+</ul>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>padding</em>&nbsp;</td><td>The amount of padding to be added if a writeable XML packet is created. If zero (the default) an appropriate amount of padding is computed. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the array item exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="9261b80d62e77a10ff1a89843bfa10a5"></a><!-- doxytag: member="TXMPMeta::DoesStructFieldExist" ref="9261b80d62e77a10ff1a89843bfa10a5" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName) const " -->
+</div>
+<a class="anchor" id="a2774a6f15ae22f0002201b58c46bfb49"></a><!-- doxytag: member="TXMPMeta::SerializeToBuffer" ref="a2774a6f15ae22f0002201b58c46bfb49" args="(tStringObj *rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent=&quot;&quot;, XMP_Index baseIndent=0) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesStructFieldExist </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SerializeToBuffer </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>rdfString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>padding</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>newline</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>indent</em> = <code>&quot;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramname"> <em>baseIndent</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -2250,379 +2212,444 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist()</a></code> reports whether a struct field currently exists.
-<p>
-Use <code><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> to create a complex path.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF. </p>
+<p>Use this to prepare metadata for storage as an XMP packet embedded in a file. See <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">TXMPFiles::PutXMP()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rdfString</em>&nbsp;</td><td>[out] A string object in which to return the serialized RDF. Must not be null.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the serialization operation is performed. The specified options must be logically consistent; an exception is thrown if they are not. A logical OR of these bit-flag constants: </p>
+<ul>
+<li><code>kXMP_OmitPacketWrapper</code> - Do not include an XML packet wrapper. This cannot be specified together with <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a></code>, <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a></code>, or <code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a></code>. </li>
+<li><code>kXMP_ReadOnlyPacket</code> - Create a read-only XML packet wapper. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
+<li><code>kXMP_UseCompactFormat</code> - Use a highly compact RDF syntax and layout. </li>
+<li><code>kXMP_IncludeThumbnailPad</code> - Include typical space for a JPEG thumbnail in the padding if no <code>xmp:Thumbnails</code> property is present. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
+<li><code>kXMP_ExactPacketLength</code> - The padding parameter provides the overall packet length. The actual amount of padding is computed. An exception is thrown if the packet exceeds this length with no padding. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>.</li>
+</ul>
+<p>In addition to the above options, you can include one of the following encoding options: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a></code> - Encode as UTF-8, the default. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a></code> - Encode as big-endian UTF-16. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a></code> - Encode as little-endian UTF-16. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a></code> - Encode as big-endian UTF-32. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a></code> - Encode as little-endian UTF-32.</li>
+</ul>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>padding</em>&nbsp;</td><td>The amount of padding to be added if a writeable XML packet is created. If zero (the default) an appropriate amount of padding is computed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>newline</em>&nbsp;</td><td>The string to be used as a line terminator. If empty, defaults to linefeed, U+000A, the standard XML newline.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>indent</em>&nbsp;</td><td>The string to be used for each level of indentation in the serialized RDF. If empty, defaults to two ASCII spaces, U+0020.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>baseIndent</em>&nbsp;</td><td>The number of levels of indentation to be used for the outermost XML element in the serialized RDF. This is convenient when embedding the RDF in other text. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the field exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="81347a92becd387a14f4d47c582f129a"></a><!-- doxytag: member="TXMPMeta::DoesQualifierExist" ref="81347a92becd387a14f4d47c582f129a" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName) const " -->
+</div>
+<a class="anchor" id="a15720ee8e732232fa25989870cf99846"></a><!-- doxytag: member="TXMPMeta::SetArrayItem" ref="a15720ee8e732232fa25989870cf99846" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj &amp;itemValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DoesQualifierExist </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetArrayItem </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramname"> <em>itemIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualName</em></td><td>&nbsp;</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist()</a></code> reports whether a qualifier currently exists.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the qualifier exists. </dd></dl>
+<p><code><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array using a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object in which to return the item value. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="dcf8a1959a8bd42641a42cbd4d64a5b7"></a><!-- doxytag: member="TXMPMeta::GetProperty_Bool" ref="dcf8a1959a8bd42641a42cbd4d64a5b7" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool *propValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="a1570eb89d613b4a94ca572e4644168cc"></a><!-- doxytag: member="TXMPMeta::SetArrayItem" ref="a1570eb89d613b4a94ca572e4644168cc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Bool </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetArrayItem </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramname"> <em>itemIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool()</a></code> retrieves the value of a Boolean property as a C++ bool.
-<p>
-Reports whether a property exists, and retrieves its binary value and property type information.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem()</a></code> creates or sets the value of an item within an array. </p>
+<p>Items are accessed by an integer index, where the first item has index 1. This function creates the item if necessary, but the array itself must already exist Use <code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem()</a></code> to create arrays. A new item is automatically appended if the index is the array size plus 1. To insert a new item before or after an existing item, use option flags.</p>
+<p>Use <code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">TXMPUtils::ComposeArrayItemPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new item value, a null-terminated UTF-8 string, if the array item has a value.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the array type and insertion location for a new item; a logical OR of allowed bit-flag constants. The type, if specified, must match the existing array type, <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, or <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code>. Default (0 or <code><a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>) matches the existing array type.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
+<p>To insert a new item before or after the specified index, set flag <code><a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a></code> or <code><a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a></code>. </p>
</div>
-</div><p>
-<a class="anchor" name="3b6ba486c02607b544917091c43b05cc"></a><!-- doxytag: member="TXMPMeta::GetProperty_Int" ref="3b6ba486c02607b544917091c43b05cc" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, long *propValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="ae7bb38d9b3857b08106630a386b47332"></a><!-- doxytag: member="TXMPMeta::SetGlobalOptions" ref="ae7bb38d9b3857b08106630a386b47332" args="(XMP_OptionBits options)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Int </td>
+ <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetGlobalOptions </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int()</a></code> retrieves the value of an integer property as a C long integer.
-<p>
-Reports whether a property exists, and retrieves its binary value and property type information.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions()</a></code> updates the set of global option flags. There are none in this version of the Toolkit. </p>
+<p>The entire set is replaced with the new values. If only one flag is to be modified, use <code><a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">TXMPMeta::GetGlobalOptions()</a></code> to obtain the current set, modify the desired flag, then use this function to reset the value.</p>
+<p>This function is static; you can make the call from the class without instantiating it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A logical OR of global option bit-flag constants. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="669e0625cd271b6e7902fe0b51020402"></a><!-- doxytag: member="TXMPMeta::GetProperty_Int64" ref="669e0625cd271b6e7902fe0b51020402" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, long long *propValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="a81273a152fb7b19e99c62ee39bf723f2"></a><!-- doxytag: member="TXMPMeta::SetLocalizedText" ref="a81273a152fb7b19e99c62ee39bf723f2" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj &amp;itemValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Int64 </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetLocalizedText </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>altTextName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long long *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>genericLang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>specificLang</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64()</a></code> retrieves the value of an integer property as a C long long integer.
-<p>
-Reports whether a property exists, and retrieves its binary value and property type information.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array using a string object. </p>
+<p>Creates an appropriate array item if necessary, and handles special cases for the x-default item.</p>
+<p>The array item is selected according to these rules: </p>
+<ul>
+<li>Look for an exact match with the specific language. </li>
+<li>If a generic language is given, look for a partial match. </li>
+<li>Look for an x-default item. </li>
+<li>Choose the first item.</li>
+</ul>
+<p>A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.</p>
+<p>You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.</p>
+<p>Item values are modified according to these rules:</p>
+<ul>
+<li>If the selected item is from a match with the specific language, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
+</ul>
+<ul>
+<li>If the selected item is from a match with the generic language and there are no other generic matches, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
+</ul>
+<ul>
+<li>If the selected item is from a partial match with the generic language and there are other partial matches, a new item is created for the specific language. The x-default item is not modified.</li>
+</ul>
+<ul>
+<li>If the selected item is from the last 2 rules then a new item is created for the specific language. If the array only had an x-default item, the x-default item is also modified. If the array was empty, items are created for the specific language and x-default.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new value for the matching array item, specified as a string object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, none currently defined. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="7708c31c9af3e740b27a4893dcd9aa47"></a><!-- doxytag: member="TXMPMeta::GetProperty_Float" ref="7708c31c9af3e740b27a4893dcd9aa47" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, double *propValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="af9531b949a462f5663b1f3fd99464c19"></a><!-- doxytag: member="TXMPMeta::SetLocalizedText" ref="af9531b949a462f5663b1f3fd99464c19" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Float </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetLocalizedText </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>altTextName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">double *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>genericLang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>specificLang</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>itemValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float()</a></code> retrieves the value of a floating-point property as a C double float.
-<p>
-Reports whether a property exists, and retrieves its binary value and property type information.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array. </p>
+<p>Creates an appropriate array item if necessary, and handles special cases for the x-default item.</p>
+<p>The array item is selected according to these rules: </p>
+<ul>
+<li>Look for an exact match with the specific language. </li>
+<li>If a generic language is given, look for a partial match. </li>
+<li>Look for an x-default item. </li>
+<li>Choose the first item.</li>
+</ul>
+<p>A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.</p>
+<p>You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.</p>
+<p>Item values are modified according to these rules:</p>
+<ul>
+<li>If the selected item is from a match with the specific language, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
+</ul>
+<ul>
+<li>If the selected item is from a match with the generic language and there are no other generic matches, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
+</ul>
+<ul>
+<li>If the selected item is from a partial match with the generic language and there are other partial matches, a new item is created for the specific language. The x-default item is not modified.</li>
+</ul>
+<ul>
+<li>If the selected item is from the last 2 rules then a new item is created for the specific language. If the array only had an x-default item, the x-default item is also modified. If the array was empty, items are created for the specific language and x-default.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new value for the matching array item, specified as a null-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, none currently defined. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="2f561295e73047ee90765558d29bd650"></a><!-- doxytag: member="TXMPMeta::GetProperty_Date" ref="2f561295e73047ee90765558d29bd650" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime *propValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="afd059cc7cd9f906e12dab04e380e495c"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="afd059cc7cd9f906e12dab04e380e495c" args="(tStringObj name)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetProperty_Date </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetObjectName </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>propValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramtype">tStringObj&nbsp;</td>
+ <td class="paramname"> <em>name</em></td>
+ <td>&nbsp;)&nbsp;</td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><code><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. </p>
+<p>Retrieve this client-assigned name with <code><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name as a string object. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="acf1935be8e4849976dfc02325424960a"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="acf1935be8e4849976dfc02325424960a" args="(XMP_StringPtr name)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
<tr>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetObjectName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>name</em></td>
+ <td>&nbsp;)&nbsp;</td>
<td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date()</a></code> retrieves the value of a date-time property as an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure.
-<p>
-Reports whether a property exists, and retrieves its binary value and property type information.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object. </p>
+<p>Retrieve this client-assigned name with <code><a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary value. Can be null if the value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the option flags describing the property, a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Can be null if flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name as a null-terminated UTF-8 string. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the property exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="9521e3838272ec501ffdb60ff3eb482f"></a><!-- doxytag: member="TXMPMeta::SetProperty_Bool" ref="9521e3838272ec501ffdb60ff3eb482f" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="acc50625611f6aad405aa47197b6d0055"></a><!-- doxytag: member="TXMPMeta::SetProperty" ref="acc50625611f6aad405aa47197b6d0055" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj &amp;propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Bool </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&nbsp;</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
<td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -2634,49 +2661,39 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool()</a></code> sets the value of a Boolean property using a C++ bool.
-<p>
-Sets a property with a binary value, creating it if necessary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value using a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object for the item value. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="b8ae94130d9a05c1b9a3ee25588b6421"></a><!-- doxytag: member="TXMPMeta::SetProperty_Int" ref="b8ae94130d9a05c1b9a3ee25588b6421" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, long propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a1dfd6a08ebfd1a6364b3a7b6584bcc28"></a><!-- doxytag: member="TXMPMeta::SetProperty" ref="a1dfd6a08ebfd1a6364b3a7b6584bcc28" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Int </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -2688,49 +2705,56 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int()</a></code> sets the value of an integer property using a C long integer.
-<p>
-Sets a property with a binary value, creating it if necessary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty()</a></code> creates or sets a property value. </p>
+<p>Each function takes an options flag that describes the property. You can use these functions to create empty arrays and structs by setting appropriate option flags. When you assign a value, all levels of a struct that are implicit in the assignment are created if necessary. <code><a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">TXMPMeta::AppendArrayItem()</a></code> implicitly creates the named array if necessary.</p>
+<p>The allowed option bit-flags include: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> - Can be used to create an empty struct. A struct is implicitly created when the first field is set. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> - By default, a general unordered array (bag). </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> - An ordered array. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> - An alternative array. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> - An alt-text array. Each array element must be a simple property with an <code>xml:lang</code> attribute. This is the simplest property setter. Use it for top-level simple properties, or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new value, a pointer to a null terminated UTF-8 string. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="df919aff205e934e4c8250a067f7b377"></a><!-- doxytag: member="TXMPMeta::SetProperty_Int64" ref="df919aff205e934e4c8250a067f7b377" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, long long propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a9521e3838272ec501ffdb60ff3eb482f"></a><!-- doxytag: member="TXMPMeta::SetProperty_Bool" ref="a9521e3838272ec501ffdb60ff3eb482f" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Int64 </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Bool </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long long&nbsp;</td>
+ <td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -2742,49 +2766,48 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64()</a></code> sets the value of an integer property using a C long long integer.
-<p>
-Sets a property with a binary value, creating it if necessary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool()</a></code> sets the value of a Boolean property using a C++ bool. </p>
+<p>Sets a property with a binary value, creating it if necessary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="3b0f2f6bae57931ea96775f03608c0ed"></a><!-- doxytag: member="TXMPMeta::SetProperty_Float" ref="3b0f2f6bae57931ea96775f03608c0ed" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="aeee10669445f77139d5634199ff01079"></a><!-- doxytag: member="TXMPMeta::SetProperty_Date" ref="aeee10669445f77139d5634199ff01079" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime &amp;propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Float </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Date </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">double&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
<td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -2796,49 +2819,48 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float()</a></code> sets the value of a floating-point property using a C double float.
-<p>
-Sets a property with a binary value, creating it if necessary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date()</a></code> sets the value of a date/time property using an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure. </p>
+<p>Sets a property with a binary value, creating it if necessary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="eee10669445f77139d5634199ff01079"></a><!-- doxytag: member="TXMPMeta::SetProperty_Date" ref="eee10669445f77139d5634199ff01079" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime &amp;propValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a3b0f2f6bae57931ea96775f03608c0ed"></a><!-- doxytag: member="TXMPMeta::SetProperty_Float" ref="a3b0f2f6bae57931ea96775f03608c0ed" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Date </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Float </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
+ <td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -2850,145 +2872,101 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date()</a></code> sets the value of a date/time property using an <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> structure.
-<p>
-Sets a property with a binary value, creating it if necessary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float()</a></code> sets the value of a floating-point property using a C double float. </p>
+<p>Sets a property with a binary value, creating it if necessary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="eefe49bbf669770d769f4fe0ea566bd0"></a><!-- doxytag: member="TXMPMeta::GetLocalizedText" ref="eefe49bbf669770d769f4fe0ea566bd0" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj *actualLang, tStringObj *itemValue, XMP_OptionBits *options) const " -->
+</div>
+<a class="anchor" id="a489e10a6686aa813ee437e93ab2c5943"></a><!-- doxytag: member="TXMPMeta::SetProperty_Int" ref="a489e10a6686aa813ee437e93ab2c5943" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetLocalizedText </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Int </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>altTextName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>genericLang</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>specificLang</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>actualLang</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype">XMP_Int32&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
- <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText()</a></code> retrieves information about a selected item in an alt-text array.
-<p>
-The array item is selected according to these rules: <ul>
-<li>Look for an exact match with the specific language. </li>
-<li>If a generic language is given, look for a partial match. </li>
-<li>Look for an x-default item. </li>
-<li>Choose the first item.</li>
-</ul>
-A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.<p>
-You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.<p>
-The return value reports whether a match was successfully made.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int()</a></code> sets the value of an integer property using a C long integer. </p>
+<p>Sets a property with a binary value, creating it if necessary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualLang</em>&nbsp;</td><td>[out] A string object in which to return the language of the selected array item, if an appropriate array item is found. Can be null if the language is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the array item, if an appropriate array item is found. Can be null if the value is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A buffer in which to return the option flags that describe the array item, if an appropriate array item is found. Can be null if the flags are not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if an appropriate array item exists. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="f9531b949a462f5663b1f3fd99464c19"></a><!-- doxytag: member="TXMPMeta::SetLocalizedText" ref="f9531b949a462f5663b1f3fd99464c19" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a7f749be7699890bbaa2e2dbd05d45a90"></a><!-- doxytag: member="TXMPMeta::SetProperty_Int64" ref="a7f749be7699890bbaa2e2dbd05d45a90" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetLocalizedText </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetProperty_Int64 </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>altTextName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>genericLang</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>specificLang</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramtype">XMP_Int64&nbsp;</td>
+ <td class="paramname"> <em>propValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -3000,84 +2978,60 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array.
-<p>
-Creates an appropriate array item if necessary, and handles special cases for the x-default item.<p>
-The array item is selected according to these rules: <ul>
-<li>Look for an exact match with the specific language. </li>
-<li>If a generic language is given, look for a partial match. </li>
-<li>Look for an x-default item. </li>
-<li>Choose the first item.</li>
-</ul>
-A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.<p>
-You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.<p>
-Item values are modified according to these rules:<p>
-<ul>
-<li>If the selected item is from a match with the specific language, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
-</ul>
-<ul>
-<li>If the selected item is from a match with the generic language and there are no other generic matches, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
-</ul>
-<ul>
-<li>If the selected item is from a partial match with the generic language and there are other partial matches, a new item is created for the specific language. The x-default item is not modified.</li>
-</ul>
-<ul>
-<li>If the selected item is from the last 2 rules then a new item is created for the specific language. If the array only had an x-default item, the x-default item is also modified. If the array was empty, items are created for the specific language and x-default.</li>
-</ul>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64()</a></code> sets the value of an integer property using a C long long integer. </p>
+<p>Sets a property with a binary value, creating it if necessary.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new value for the matching array item, specified as a null-terminated UTF-8 string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, none currently defined. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The new binary value. Can be null if creating the property. Must be null for arrays and non-leaf levels of structs that do not have values.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property; a logical OR of allowed bit-flag constants; see <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> and following. Must match the type of a property that already exists. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="81273a152fb7b19e99c62ee39bf723f2"></a><!-- doxytag: member="TXMPMeta::SetLocalizedText" ref="81273a152fb7b19e99c62ee39bf723f2" args="(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj &amp;itemValue, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="ac395e094cab251a0593d508594b21521"></a><!-- doxytag: member="TXMPMeta::SetQualifier" ref="ac395e094cab251a0593d508594b21521" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj &amp;qualValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetLocalizedText </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetQualifier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>altTextName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>genericLang</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>specificLang</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>itemValue</em>, </td>
+ <td class="paramname"> <em>qualValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -3089,66 +3043,51 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText()</a></code> modifies the value of a selected item in an alt-text array using a string object.
-<p>
-Creates an appropriate array item if necessary, and handles special cases for the x-default item.<p>
-The array item is selected according to these rules: <ul>
-<li>Look for an exact match with the specific language. </li>
-<li>If a generic language is given, look for a partial match. </li>
-<li>Look for an x-default item. </li>
-<li>Choose the first item.</li>
-</ul>
-A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case.<p>
-You can pass "x-default" as the specific language. In this case, selection of an <code>x-default</code> item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match.<p>
-Item values are modified according to these rules:<p>
-<ul>
-<li>If the selected item is from a match with the specific language, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
-</ul>
-<ul>
-<li>If the selected item is from a match with the generic language and there are no other generic matches, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value.</li>
-</ul>
-<ul>
-<li>If the selected item is from a partial match with the generic language and there are other partial matches, a new item is created for the specific language. The x-default item is not modified.</li>
-</ul>
-<ul>
-<li>If the selected item is from the last 2 rules then a new item is created for the specific language. If the array only had an x-default item, the x-default item is also modified. If the array was empty, items are created for the specific language and x-default.</li>
-</ul>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the alt-text array; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>genericLang</em>&nbsp;</td><td>The name of the generic language as an RFC 3066 primary subtag. Can be null or the empty string if no generic language is wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>specificLang</em>&nbsp;</td><td>The name of the specific language as an RFC 3066 tag, or "x-default". Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>The new value for the matching array item, specified as a string object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, none currently defined. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property using a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object for the qualifier value. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="7b383f5b357fff040cdbde82f4f43f26"></a><!-- doxytag: member="TXMPMeta::ParseFromBuffer" ref="7b383f5b357fff040cdbde82f4f43f26" args="(XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="ac2e798da5f9d94e486382a41e73fcea3"></a><!-- doxytag: member="TXMPMeta::SetQualifier" ref="ac2e798da5f9d94e486382a41e73fcea3" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::ParseFromBuffer </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetQualifier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>buffer</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>bufferSize</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
@@ -3160,284 +3099,156 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer()</a></code> parses RDF from a series of input buffers into this XMP object.
-<p>
-Use this to convert metadata from serialized RDF form (as, for example, read from an XMP packet embedded in a file) into an XMP object that you can manipulate with the XMP Toolkit. If this XMP object is empty and the input buffer contains a complete XMP packet, this is the same as creating a new XMP object from that buffer with the constructor.<p>
-You can use this function to combine multiple buffers into a single metadata tree. To terminate an input loop conveniently, pass the option <code><a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a></code> for all real input, then make a final call with a zero length and <code><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a></code>. The buffers can be any length. The buffer boundaries need not respect XML tokens or even Unicode characters.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier()</a></code> creates or sets a qualifier attached to a property. </p>
+<p>Use this to set a value for an existing qualifier, or create a new qualifier. &lt;&lt;how do options work? macro vs bit-flag? interaction w/XMP_PropHasQualifier?&gt;&gt; Use <code><a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">TXMPUtils::ComposeQualifierPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A pointer to a buffer of input. Can be null if <code>bufferSize</code> is 0.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>bufferSize</em>&nbsp;</td><td>The length of the input buffer in bytes. Zero is a valid value.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the parse operation is performed. A logical OR of these bit-flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a></code> - This is not the last buffer of input, more calls follow. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400" title="Require a surrounding x:xmpmeta element.">kXMP_RequireXMPMeta</a></code> - The <code>x:xmpmeta</code> XML element is required around <code>rdf:RDF</code>.</li>
-</ul>
-</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>The new value, a null-terminated UTF-8 string, if the qualifier has a value. Null to create a new, empty qualifier.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the &lt;&lt;qualified property? qualifier?&gt;&gt;, a logical OR of property-type bit-flag constants. Use the macro <code><a class="el" href="XMP__Const_8h.html#a8d1b4da6b3cb3a67bf4f8e79352eeeaa" title="Macro reports the property type specified by an options flag.">XMP_PropIsQualifier</a></code> to create a qualifier. &lt;&lt;??&gt;&gt; </td></tr>
</table>
+ </dd>
</dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">TXMPFiles::GetXMP()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="2774a6f15ae22f0002201b58c46bfb49"></a><!-- doxytag: member="TXMPMeta::SerializeToBuffer" ref="2774a6f15ae22f0002201b58c46bfb49" args="(tStringObj *rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent=&quot;&quot;, XMP_Index baseIndent=0) const " -->
+</div>
+<a class="anchor" id="a77d4a1bf7831f39073af9ea1544ebefa"></a><!-- doxytag: member="TXMPMeta::SetStructField" ref="a77d4a1bf7831f39073af9ea1544ebefa" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SerializeToBuffer </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetStructField </td>
<td>(</td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>rdfString</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>padding</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>newline</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>indent</em> = <code>&quot;&quot;</code>, </td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>fieldValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
- <td class="paramname"> <em>baseIndent</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF.
-<p>
-Use this to prepare metadata for storage as an XMP packet embedded in a file. See <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">TXMPFiles::PutXMP()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rdfString</em>&nbsp;</td><td>[out] A string object in which to return the serialized RDF. Must not be null.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the serialization operation is performed. The specified options must be logically consistent; an exception is thrown if they are not. A logical OR of these bit-flag constants: <ul>
-<li><code>kXMP_OmitPacketWrapper</code> - Do not include an XML packet wrapper. This cannot be specified together with <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a></code>, <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a></code>, or <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a></code>. </li>
-<li><code>kXMP_ReadOnlyPacket</code> - Create a read-only XML packet wapper. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
-<li><code>kXMP_UseCompactFormat</code> - Use a highly compact RDF syntax and layout. </li>
-<li><code>kXMP_WriteAliasComments</code> - Include XML comments for aliases. </li>
-<li><code>kXMP_IncludeThumbnailPad</code> - Include typical space for a JPEG thumbnail in the padding if no <code>xmp:Thumbnails</code> property is present. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
-<li><code>kXMP_ExactPacketLength</code> - The padding parameter provides the overall packet length. The actual amount of padding is computed. An exception is thrown if the packet exceeds this length with no padding. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>.</li>
-</ul>
-In addition to the above options, you can include one of the following encoding options: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a></code> - Encode as UTF-8, the default. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a></code> - Encode as big-endian UTF-16. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a></code> - Encode as little-endian UTF-16. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a></code> - Encode as big-endian UTF-32. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a></code> - Encode as little-endian UTF-32.</li>
-</ul>
-</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>padding</em>&nbsp;</td><td>The amount of padding to be added if a writeable XML packet is created. If zero (the default) an appropriate amount of padding is computed.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>newline</em>&nbsp;</td><td>The string to be used as a line terminator. If empty, defaults to linefeed, U+000A, the standard XML newline.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>indent</em>&nbsp;</td><td>The string to be used for each level of indentation in the serialized RDF. If empty, defaults to two ASCII spaces, U+0020.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>baseIndent</em>&nbsp;</td><td>The number of levels of indentation to be used for the outermost XML element in the serialized RDF. This is convenient when embedding the RDF in other text. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure, using a string object. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object in which to return the field value. It is otherwise identical; see details in the canonical form. </p>
</div>
-</div><p>
-<a class="anchor" name="0d98bc15bdb0f45737b15fc6822f3bc6"></a><!-- doxytag: member="TXMPMeta::SerializeToBuffer" ref="0d98bc15bdb0f45737b15fc6822f3bc6" args="(tStringObj *rdfString, XMP_OptionBits options=0, XMP_StringLen padding=0) const " -->
+</div>
+<a class="anchor" id="a0e44c30e7527064909e5f7035d53c4f5"></a><!-- doxytag: member="TXMPMeta::SetStructField" ref="a0e44c30e7527064909e5f7035d53c4f5" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SerializeToBuffer </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetStructField </td>
<td>(</td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>rdfString</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>padding</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em>, </td>
</tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer()</a></code> serializes metadata in this XMP object into a string as RDF.
-<p>
-This simpler form of the function uses default values for the <code>newline</code>, <code>indent</code>, and <code>baseIndent</code> parameters.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rdfString</em>&nbsp;</td><td>[out] A string object in which to return the serialized RDF. Must not be null.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An options flag that controls how the serialization operation is performed. The specified options must be logically consistent; an exception is thrown if they are not. A logical OR of these bit-flag constants: <ul>
-<li><code>kXMP_OmitPacketWrapper</code> - Do not include an XML packet wrapper. This cannot be specified together with <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a></code>, <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a></code>, or <code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a></code>. </li>
-<li><code>kXMP_ReadOnlyPacket</code> - Create a read-only XML packet wapper. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
-<li><code>kXMP_UseCompactFormat</code> - Use a highly compact RDF syntax and layout. </li>
-<li><code>kXMP_WriteAliasComments</code> - Include XML comments for aliases. </li>
-<li><code>kXMP_IncludeThumbnailPad</code> - Include typical space for a JPEG thumbnail in the padding if no <code>xmp:Thumbnails</code> property is present. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>. </li>
-<li><code>kXMP_ExactPacketLength</code> - The padding parameter provides the overall packet length. The actual amount of padding is computed. An exception is thrown if the packet exceeds this length with no padding. Cannot be specified together with <code>kXMP_OmitPacketWrapper</code>.</li>
-</ul>
-In addition to the above options, you can include one of the following encoding options: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a></code> - Encode as UTF-8, the default. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a></code> - Encode as big-endian UTF-16. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a></code> - Encode as little-endian UTF-16. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a></code> - Encode as big-endian UTF-32. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a></code> - Encode as little-endian UTF-32.</li>
-</ul>
-</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>padding</em>&nbsp;</td><td>The amount of padding to be added if a writeable XML packet is created. If zero (the default) an appropriate amount of padding is computed. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="fbfebded0b85b08bd9c5ba0d7dae07e0"></a><!-- doxytag: member="TXMPMeta::GetInternalRef" ref="fbfebded0b85b08bd9c5ba0d7dae07e0" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
<tr>
- <td class="memname"><a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetInternalRef </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldValue</em>, </td>
</tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed.
-<p>
-The <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> class is a normal C++ template, it is instantiated and local to each client executable, as are the other <code>TXMP*</code> classes. Different clients might not use the same string type to instantiate <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>.<p>
-Because of this you should not pass <code>SXMPMeta</code> objects, or pointers to <code>SXMPMeta</code> objects, across DLL boundaries. Use this function to obtain a safe internal reference that you can pass, then construct a local object on the callee side. This construction does not create a cloned XMP tree, it is the same underlying XMP object safely wrapped in each client's <code>SXMPMeta</code> object.<p>
-Use this function and the associated constructor like this: <ul>
-<li>The callee's header contains: <pre>
- CalleeMethod ( XMPMetaRef xmpRef );
- </pre></li>
-</ul>
-<ul>
-<li>The caller's code contains: <pre>
- SXMPMeta callerXMP;
- CalleeMethod ( callerXMP.GetInternalRef() );
- </pre></li>
-</ul>
-<ul>
-<li>The callee's code contains: <pre>
- SXMPMeta calleeXMP ( xmpRef );
- </pre></li>
-</ul>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The reference object. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="b0d179ed95487d4fd4f2680c1fbe0d40"></a><!-- doxytag: member="TXMPMeta::GetObjectName" ref="b0d179ed95487d4fd4f2680c1fbe0d40" args="(tStringObj *name) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::GetObjectName </td>
- <td>(</td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>name</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code> retrieves the client-assigned name of this XMP object.
-<p>
-Assign this name with <code><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>[out] A string object in which to return the name. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="cf1935be8e4849976dfc02325424960a"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="cf1935be8e4849976dfc02325424960a" args="(XMP_StringPtr name)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetObjectName </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>name</em> </td>
- <td>&nbsp;)&nbsp;</td>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object.
-<p>
-Retrieve this client-assigned name with <code><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField()</a></code> creates or sets the value of a field within a nested structure. </p>
+<p>Use this to set a value within an existing structure, create a new field within an existing structure, or create an empty structure of any depth. If you set a field in a structure that does not exist, the structure is automatically created.</p>
+<p>Use <code><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> to create a complex path.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name as a null-terminated UTF-8 string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same namespace and prefix usage as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The new value, a null-terminated UTF-8 string, if the field has a value. Null to create a new, empty struct or empty field in an existing struct.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property, in which the bit-flag <code><a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> must be set to create a struct. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="fd059cc7cd9f906e12dab04e380e495c"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="fd059cc7cd9f906e12dab04e380e495c" args="(tStringObj name)" -->
+</div>
+<a class="anchor" id="a8ac5a02a13d439ff33ed4431986da681"></a><!-- doxytag: member="TXMPMeta::Sort" ref="a8ac5a02a13d439ff33ed4431986da681" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetObjectName </td>
+ <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Sort </td>
<td>(</td>
- <td class="paramtype">tStringObj&nbsp;</td>
- <td class="paramname"> <em>name</em> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
@@ -3445,166 +3256,40 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName()</a></code> assigns a name to this XMP object.
-<p>
-Retrieve this client-assigned name with <code><a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName()</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name as a string object. </td></tr>
- </table>
-</dl>
+<p><code><a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort()</a></code> sorts the data model tree of an XMP object. </p>
+<p>Use this function to sort the data model of an XMP object into a canonical order. This can be convenient when comparing data models, (e.g. by text comparison of DumpObject output).</p>
+<p>At the top level the namespaces are sorted by their prefixes. Within a namespace, the top level properties are sorted by name. Within a struct, the fields are sorted by their qualified name, i.e. their XML prefix:local form. Unordered arrays of simple items are sorted by value. Language Alternative arrays are sorted by the xml:lang qualifiers, with the "x-default" item placed first. </p>
</div>
-</div><p>
-<a class="anchor" name="8ac5a02a13d439ff33ed4431986da681"></a><!-- doxytag: member="TXMPMeta::Sort" ref="8ac5a02a13d439ff33ed4431986da681" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Sort </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort()</a></code> sorts the data model tree of an XMP object.
-<p>
-Use this function to sort the data model of an XMP object into a canonical order. This can be convenient when comparing data models, (e.g. by text comparison of DumpObject output).<p>
-At the top level the namespaces are sorted by their prefixes. Within a namespace, the top level properties are sorted by name. Within a struct, the fields are sorted by their qualified name, i.e. their XML prefix:local form. Unordered arrays of simple items are sorted by value. Language Alternative arrays are sorted by the xml:lang qualifiers, with the "x-default" item placed first.
-</div>
-</div><p>
-<a class="anchor" name="6ca653436995bbb76315efe7934afd4c"></a><!-- doxytag: member="TXMPMeta::Clone" ref="6ca653436995bbb76315efe7934afd4c" args="(XMP_OptionBits options=0) const " -->
+<a class="anchor" id="a6c30fae26173167958b6f0da95a53865"></a><!-- doxytag: member="TXMPMeta::Terminate" ref="a6c30fae26173167958b6f0da95a53865" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class tStringObj&gt; </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTXMPMeta.html">TXMPMeta</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Clone </td>
+ <td class="memname">static void <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::Terminate </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone()</a></code> creates a deep copy of an XMP object.
-<p>
-Use this function to copy an entire XMP metadata tree. Assignment and copy constructors only increment a reference count, they do not do a deep copy. This function returns an object, not a pointer. The following shows correct usage:<p>
-<pre>
- SXMPMeta * clone1 = new SXMPMeta ( sourceXMP.Clone() ); // This works.
- SXMPMeta clone2 ( sourceXMP.Clone ); // This works also. (Not a pointer.)
- </pre> The <code>clone2</code> example does not use an explicit pointer. This is good for local usage, protecting against memory leaks.<p>
-This is an example of incorrect usage: <pre>
- SXMPMeta * clone3 = &amp;sourceXMP.Clone(); // ! This does not work!
- </pre> The assignment to <code>clone3</code> creates a temporary object, initializes it with the clone, assigns the address of the temporary to <code>clone3</code>, then deletes the temporary.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, not currently defined..</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>An XMP object cloned from the original. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="b79aae864b3ce190d0699252f48e0acc"></a><!-- doxytag: member="TXMPMeta::CountArrayItems" ref="b79aae864b3ce190d0699252f48e0acc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::CountArrayItems </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems()</a></code> reports the number of items currently defined in an array.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty()</a></code> for namespace prefix usage.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of items. </dd></dl>
+<p><code><a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate()</a></code> explicitly terminates usage of the XMP Toolkit. </p>
+<p>Frees structures created on initialization.</p>
+<p>This function is static; make the call directly from the concrete class (<code>SXMPMeta</code>). </p>
</div>
-</div><p>
-<a class="anchor" name="466fa349c9765f39ca6b1450908e769f"></a><!-- doxytag: member="TXMPMeta::DumpObject" ref="466fa349c9765f39ca6b1450908e769f" args="(XMP_TextOutputProc outProc, void *clientData) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::DumpObject </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>&nbsp;</td>
- <td class="paramname"> <em>outProc</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>clientData</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject()</a></code> outputs the content of an XMP object to a callback handler for debugging.
-<p>
-Invokes a client-defined callback for each line of output.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>outProc</em>&nbsp;</td><td>The client-defined procedure to handle each line of output.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>clientData</em>&nbsp;</td><td>A pointer to client-defined data to pass to the handler.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A success-fail status value, returned from the handler. Zero is success, failure values are client-defined.</dd></dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd>Static functions <code><a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces()</a></code> and <code><a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512" title="DumpAliases() sends the list of registered aliases and corresponding actuals to a...">DumpAliases()</a></code> </dd></dl>
-
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="TXMPMeta_8hpp-source.html">TXMPMeta.hpp</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPMeta_8hpp_source.html">TXMPMeta.hpp</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPUtils-members.html b/docs/API/classTXMPUtils-members.html
index 1b76559..68a80ca 100644
--- a/docs/API/classTXMPUtils-members.html
+++ b/docs/API/classTXMPUtils-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,48 +63,48 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPUtils&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262">AppendProperties</a>(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba">CatenateArrayItems</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj *catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d">CompareDateTime</a>(const XMP_DateTime &amp;left, const XMP_DateTime &amp;right)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6">ComposeArrayItemPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23">ComposeFieldSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#d2d2361b8a4d0709ec9e3bd837265cba">ComposeFieldSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69">ComposeLangSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#7882bbc2e412ff476c2d97d98808d91c">ComposeLangSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj &amp;langName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172">ComposeQualifierPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d">ComposeStructFieldPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b">ConvertFromBool</a>(bool binValue, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223">ConvertFromDate</a>(const XMP_DateTime &amp;binValue, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0">ConvertFromFloat</a>(double binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235">ConvertFromInt</a>(long binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60">ConvertFromInt64</a>(long long binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c">ConvertToBool</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#84f2a7b3960a17315032915674e21960">ConvertToBool</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b">ConvertToDate</a>(XMP_StringPtr strValue, XMP_DateTime *binValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#265559d1b4b78e34a460e935c11177d7">ConvertToDate</a>(const tStringObj &amp;strValue, XMP_DateTime *binValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c">ConvertToFloat</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#abd4e479d2708a9ea3135cd441faa7ea">ConvertToFloat</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00">ConvertToInt</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#47d93f9cb4acd9d7ec6b450100209bec">ConvertToInt</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172">ConvertToInt64</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#711cae0cb1b673ff5e208b4ae458d120">ConvertToInt64</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5">ConvertToLocalTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8">ConvertToUTCTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c">CurrentDateTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921">DecodeFromBase64</a>(XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj *rawStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#1e61e273065b10517ca127d5a553a8dc">DecodeFromBase64</a>(const tStringObj &amp;encodedStr, tStringObj *rawStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa">DuplicateSubtree</a>(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS=0, XMP_StringPtr destRoot=0, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a">EncodeToBase64</a>(XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj *encodedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#39d5de77b29441a30f2f879755b8e7d8">EncodeToBase64</a>(const tStringObj &amp;rawStr, tStringObj *encodedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e">MergeFromJPEG</a>(TXMPMeta&lt; tStringObj &gt; *fullXMP, const TXMPMeta&lt; tStringObj &gt; &amp;extendedXMP)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a">PackageForJPEG</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d">RemoveProperties</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS=0, XMP_StringPtr propName=0, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e">SeparateArrayItems</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#1bb2ed614886ff67863744ec56041c43">SeparateArrayItems</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj &amp;catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef">SetTimeZone</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+<h1>TXMPUtils&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9">ApplyTemplate</a>(TXMPMeta&lt; tStringObj &gt; *workingXMP, const TXMPMeta&lt; tStringObj &gt; &amp;templateXMP, XMP_OptionBits actions)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba">CatenateArrayItems</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj *catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d">CompareDateTime</a>(const XMP_DateTime &amp;left, const XMP_DateTime &amp;right)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6">ComposeArrayItemPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23">ComposeFieldSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ad2d2361b8a4d0709ec9e3bd837265cba">ComposeFieldSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69">ComposeLangSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a7882bbc2e412ff476c2d97d98808d91c">ComposeLangSelector</a>(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj &amp;langName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172">ComposeQualifierPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d">ComposeStructFieldPath</a>(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fullPath)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b">ConvertFromBool</a>(bool binValue, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223">ConvertFromDate</a>(const XMP_DateTime &amp;binValue, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0">ConvertFromFloat</a>(double binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235">ConvertFromInt</a>(long binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60">ConvertFromInt64</a>(long long binValue, XMP_StringPtr format, tStringObj *strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c">ConvertToBool</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a84f2a7b3960a17315032915674e21960">ConvertToBool</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b">ConvertToDate</a>(XMP_StringPtr strValue, XMP_DateTime *binValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a265559d1b4b78e34a460e935c11177d7">ConvertToDate</a>(const tStringObj &amp;strValue, XMP_DateTime *binValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c">ConvertToFloat</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aabd4e479d2708a9ea3135cd441faa7ea">ConvertToFloat</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00">ConvertToInt</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a47d93f9cb4acd9d7ec6b450100209bec">ConvertToInt</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172">ConvertToInt64</a>(XMP_StringPtr strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a711cae0cb1b673ff5e208b4ae458d120">ConvertToInt64</a>(const tStringObj &amp;strValue)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5">ConvertToLocalTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8">ConvertToUTCTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c">CurrentDateTime</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921">DecodeFromBase64</a>(XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj *rawStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a1e61e273065b10517ca127d5a553a8dc">DecodeFromBase64</a>(const tStringObj &amp;encodedStr, tStringObj *rawStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa">DuplicateSubtree</a>(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS=0, XMP_StringPtr destRoot=0, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a">EncodeToBase64</a>(XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj *encodedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a39d5de77b29441a30f2f879755b8e7d8">EncodeToBase64</a>(const tStringObj &amp;rawStr, tStringObj *encodedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e">MergeFromJPEG</a>(TXMPMeta&lt; tStringObj &gt; *fullXMP, const TXMPMeta&lt; tStringObj &gt; &amp;extendedXMP)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a">PackageForJPEG</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d">RemoveProperties</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS=0, XMP_StringPtr propName=0, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e">SeparateArrayItems</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a1bb2ed614886ff67863744ec56041c43">SeparateArrayItems</a>(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj &amp;catedStr)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef">SetTimeZone</a>(XMP_DateTime *time)</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classTXMPUtils.html b/docs/API/classTXMPUtils.html
index a89ff32..9220cd2 100644
--- a/docs/API/classTXMPUtils.html
+++ b/docs/API/classTXMPUtils.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils&lt; tStringObj &gt; Class Template Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: TXMPUtils&lt; tStringObj &gt; Class Template Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,171 +63,132 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>TXMPUtils&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPUtils" -->API for access to the XMP Toolkit utility services.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="TXMPUtils_8hpp-source.html">TXMPUtils.hpp</a>&gt;</code>
-<p>
-
-<p>
-<a href="classTXMPUtils-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<h1>TXMPUtils&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPUtils" -->
+<p>API for access to the XMP Toolkit utility services.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="TXMPUtils_8hpp_source.html">TXMPUtils.hpp</a>&gt;</code></p>
+
+<p><a href="classTXMPUtils-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Path composition</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions provide support for composing path expressions to deeply nested properties. The functions in <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> such as <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code>, <code><a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">TXMPMeta::GetArrayItem()</a></code>, and <code><a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">TXMPMeta::GetStructField()</a></code> provide easy access to top level simple properties, items in top level arrays, and fields of top level structs. They are not as convenient for more complex things, such as fields several levels deep in a complex struct, or fields within an array of structs, or items of an array that is a field of a struct. You can use these utility functions to compose these paths, which you can then pass to the property access functions. You can also compose paths to top-level array items or struct fields so that you can use the binary accessors such as <code><a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">TXMPMeta::GetProperty_Int()</a></code>.<p>
-You can use these functions is to compose a complete path expression, or all but the last component. For example, suppose you have a property that is an array of integers within a struct. You can access one of the array items like this:<p>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpda28c6423edcba1bd20cc6fd0f5b838f"></a> These functions provide support for composing path expressions to deeply nested properties. The functions in <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> such as <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code>, <code><a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">TXMPMeta::GetArrayItem()</a></code>, and <code><a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">TXMPMeta::GetStructField()</a></code> provide easy access to top level simple properties, items in top level arrays, and fields of top level structs. They are not as convenient for more complex things, such as fields several levels deep in a complex struct, or fields within an array of structs, or items of an array that is a field of a struct. You can use these utility functions to compose these paths, which you can then pass to the property access functions. You can also compose paths to top-level array items or struct fields so that you can use the binary accessors such as <code><a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">TXMPMeta::GetProperty_Int()</a></code>.</p>
+<p>You can use these functions is to compose a complete path expression, or all but the last component. For example, suppose you have a property that is an array of integers within a struct. You can access one of the array items like this:</p>
<pre>
SXMPUtils::ComposeStructFieldPath ( schemaNS, "Struct", fieldNS, "Array", &amp;path );
SXMPUtils::ComposeArrayItemPath ( schemaNS, path, index, &amp;path );
exists = xmpObj.GetProperty_Int ( schemaNS, path, &amp;value, &amp;options );
- </pre><p>
-You could also use this code if you want the string form of the integer:<p>
+ </pre><p>You could also use this code if you want the string form of the integer:</p>
<pre>
SXMPUtils::ComposeStructFieldPath ( schemaNS, "Struct", fieldNS, "Array", &amp;path );
xmpObj.GetArrayItem ( schemaNS, path, index, &amp;value, &amp;options );
- </pre><p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>It might look confusing that the <code>schemaNS</code> is passed in all of the calls above. This is because the XMP Toolkit keeps the top-level "schema" namespace separate from the rest of the path expression. </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6">ComposeArrayItemPath</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath()</a></code> composes the path expression for an item in an array. <a href="#47fa195aa2e1457aa1f74f7e1ed06da6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d">ComposeStructFieldPath</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath()</a></code> composes the path expression for a field in a struct. <a href="#706eb85b8401b8682a01348f7e25ee3d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172">ComposeQualifierPath</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath()</a></code> composes the path expression for a qualifier. <a href="#40ae0ce2065fcb71725e37137884e172"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69">ComposeLangSelector</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> langName, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes the path expression to select an alternate item by language. <a href="#e4989e5c199a2a4287ee3ae89b872e69"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#7882bbc2e412ff476c2d97d98808d91c">ComposeLangSelector</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, const tStringObj &amp;langName, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes a path expression to select an alternate item by language. <a href="#7882bbc2e412ff476c2d97d98808d91c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23">ComposeFieldSelector</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldValue, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. <a href="#458f8e8729e2334fe54ca8f691a9db23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#d2d2361b8a4d0709ec9e3bd837265cba">ComposeFieldSelector</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. <a href="#d2d2361b8a4d0709ec9e3bd837265cba"></a><br></td></tr>
+ </pre><dl class="note"><dt><b>Note:</b></dt><dd>It might look confusing that the <code>schemaNS</code> is passed in all of the calls above. This is because the XMP Toolkit keeps the top-level "schema" namespace separate from the rest of the path expression. </dd></dl>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6">ComposeArrayItemPath</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a> itemIndex, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath()</a></code> composes the path expression for an item in an array. <a href="#a47fa195aa2e1457aa1f74f7e1ed06da6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d">ComposeStructFieldPath</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> structName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath()</a></code> composes the path expression for a field in a struct. <a href="#a706eb85b8401b8682a01348f7e25ee3d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172">ComposeQualifierPath</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> qualName, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath()</a></code> composes the path expression for a qualifier. <a href="#a40ae0ce2065fcb71725e37137884e172"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69">ComposeLangSelector</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> langName, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes the path expression to select an alternate item by language. <a href="#ae4989e5c199a2a4287ee3ae89b872e69"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a7882bbc2e412ff476c2d97d98808d91c">ComposeLangSelector</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, const tStringObj &amp;langName, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes a path expression to select an alternate item by language. <a href="#a7882bbc2e412ff476c2d97d98808d91c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23">ComposeFieldSelector</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldValue, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. <a href="#a458f8e8729e2334fe54ca8f691a9db23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ad2d2361b8a4d0709ec9e3bd837265cba">ComposeFieldSelector</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. <a href="#ad2d2361b8a4d0709ec9e3bd837265cba"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Conversion between binary types and strings</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The main accessors in <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> set and retrieve property values as strings. additional functions, such as <code>TXMPMeta::SetPropertyInt()</code>, set and retrieve property values as explicit binary data types. Use these functions to convert between binary and string values.<p>
-Strings can be specified as null-terminated UTF-8 (<code><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code>), or as string objects (<code>tStringObj</code>) of the type declared when instantiating the XMP classes; see <code>XMP.hpp</code>. Alternate forms of each conversion function allow either type of string. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b">ConvertFromBool</a> (bool binValue, tStringObj *strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool()</a></code> converts a Boolean value to a string. <a href="#509691eb270988de6a770c9c8304ab6b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235">ConvertFromInt</a> (long binValue, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt()</a></code> converts a 32-bit integer value to a string. <a href="#eec45b4d1a26717290105c9f4e8b4235"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60">ConvertFromInt64</a> (long long binValue, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64()</a></code> converts a 64-bit integer value to a string. <a href="#eae4617e05358433015eaa80953c5e60"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0">ConvertFromFloat</a> (double binValue, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat()</a></code> converts a floating-point value to a string. <a href="#e67ef3931836432b7e574832f0610ed0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223">ConvertFromDate</a> (const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;binValue, tStringObj *strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate()</a></code> converts a date/time value to a string. <a href="#6146a522a3974b4088d6e8241e9cd223"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c">ConvertToBool</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. <a href="#aaaaadb23f4089daa795f50cba4f405c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#84f2a7b3960a17315032915674e21960">ConvertToBool</a> (const tStringObj &amp;strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. <a href="#84f2a7b3960a17315032915674e21960"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00">ConvertToInt</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. <a href="#dfd9d1c522377d5db4ad667a7973ba00"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#47d93f9cb4acd9d7ec6b450100209bec">ConvertToInt</a> (const tStringObj &amp;strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. <a href="#47d93f9cb4acd9d7ec6b450100209bec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172">ConvertToInt64</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. <a href="#be5d2dcc03c5442202203bba5ca7b172"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#711cae0cb1b673ff5e208b4ae458d120">ConvertToInt64</a> (const tStringObj &amp;strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. <a href="#711cae0cb1b673ff5e208b4ae458d120"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c">ConvertToFloat</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. <a href="#8a507b006286460814e0486c622d828c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#abd4e479d2708a9ea3135cd441faa7ea">ConvertToFloat</a> (const tStringObj &amp;strValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. <a href="#abd4e479d2708a9ea3135cd441faa7ea"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b">ConvertToDate</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *binValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. <a href="#60d33e6ce30286028acca47b2b6e7a0b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#265559d1b4b78e34a460e935c11177d7">ConvertToDate</a> (const tStringObj &amp;strValue, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *binValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. <a href="#265559d1b4b78e34a460e935c11177d7"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb1bfe43fa01b1034da522364434677bc"></a> The main accessors in <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> set and retrieve property values as strings. additional functions, such as <code>TXMPMeta::SetPropertyInt()</code>, set and retrieve property values as explicit binary data types. Use these functions to convert between binary and string values.</p>
+<p>Strings can be specified as null-terminated UTF-8 (<code><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code>), or as string objects (<code>tStringObj</code>) of the type declared when instantiating the XMP classes; see <code>XMP.hpp</code>. Alternate forms of each conversion function allow either type of string. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b">ConvertFromBool</a> (bool binValue, tStringObj *strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool()</a></code> converts a Boolean value to a string. <a href="#a509691eb270988de6a770c9c8304ab6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235">ConvertFromInt</a> (long binValue, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt()</a></code> converts a 32-bit integer value to a string. <a href="#aeec45b4d1a26717290105c9f4e8b4235"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60">ConvertFromInt64</a> (long long binValue, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64()</a></code> converts a 64-bit integer value to a string. <a href="#aeae4617e05358433015eaa80953c5e60"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0">ConvertFromFloat</a> (double binValue, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> format, tStringObj *strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat()</a></code> converts a floating-point value to a string. <a href="#ae67ef3931836432b7e574832f0610ed0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223">ConvertFromDate</a> (const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;binValue, tStringObj *strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate()</a></code> converts a date/time value to a string. <a href="#a6146a522a3974b4088d6e8241e9cd223"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c">ConvertToBool</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. <a href="#aaaaaadb23f4089daa795f50cba4f405c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a84f2a7b3960a17315032915674e21960">ConvertToBool</a> (const tStringObj &amp;strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. <a href="#a84f2a7b3960a17315032915674e21960"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00">ConvertToInt</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. <a href="#adfd9d1c522377d5db4ad667a7973ba00"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a47d93f9cb4acd9d7ec6b450100209bec">ConvertToInt</a> (const tStringObj &amp;strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. <a href="#a47d93f9cb4acd9d7ec6b450100209bec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172">ConvertToInt64</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. <a href="#abe5d2dcc03c5442202203bba5ca7b172"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a711cae0cb1b673ff5e208b4ae458d120">ConvertToInt64</a> (const tStringObj &amp;strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. <a href="#a711cae0cb1b673ff5e208b4ae458d120"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c">ConvertToFloat</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. <a href="#a8a507b006286460814e0486c622d828c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aabd4e479d2708a9ea3135cd441faa7ea">ConvertToFloat</a> (const tStringObj &amp;strValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. <a href="#aabd4e479d2708a9ea3135cd441faa7ea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b">ConvertToDate</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> strValue, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *binValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. <a href="#a60d33e6ce30286028acca47b2b6e7a0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a265559d1b4b78e34a460e935c11177d7">ConvertToDate</a> (const tStringObj &amp;strValue, <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *binValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. <a href="#a265559d1b4b78e34a460e935c11177d7"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Date-time manipulation</div></td></tr>
-<tr><td colspan="2"><div class="groupText">In addition to the type-conversion functions that convert between strings and binary date-time values, these functions create, manipulate, and compare date-time values. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c">CurrentDateTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime()</a></code> obtains the current date and time. <a href="#c83f0b963ea64d7eee0b481e15a8439c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef">SetTimeZone</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone()</a></code> sets the time zone in a date/time value to the local time zone. <a href="#96bcc45febac55f6c49951815b7de2ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8">ConvertToUTCTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime()</a></code> ensures that a time is UTC. <a href="#bbd4d691c83287ea2fc6b1e33e5858b8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5">ConvertToLocalTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime()</a></code> ensures that a time is local. <a href="#61852aaba494c8fbad5a6c0c4caf21f5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d">CompareDateTime</a> (const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;left, const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;right)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime()</a></code> compares the order of two date/time values. <a href="#9fc7f1771032f59f9020aeda4f91991d"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp03f72742905a6dd604c01eba95db6aac"></a> In addition to the type-conversion functions that convert between strings and binary date-time values, these functions create, manipulate, and compare date-time values. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c">CurrentDateTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime()</a></code> obtains the current date and time. <a href="#ac83f0b963ea64d7eee0b481e15a8439c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef">SetTimeZone</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone()</a></code> sets the time zone in a date/time value to the local time zone. <a href="#a96bcc45febac55f6c49951815b7de2ef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8">ConvertToUTCTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime()</a></code> ensures that a time is UTC. <a href="#abbd4d691c83287ea2fc6b1e33e5858b8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5">ConvertToLocalTime</a> (<a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime()</a></code> ensures that a time is local. <a href="#a61852aaba494c8fbad5a6c0c4caf21f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d">CompareDateTime</a> (const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;left, const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;right)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime()</a></code> compares the order of two date/time values. <a href="#a9fc7f1771032f59f9020aeda4f91991d"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Base64 encoding and decoding</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions convert between raw data values and Base64-encoded strings. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a">EncodeToBase64</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> rawStr, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> rawLen, tStringObj *encodedStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value to a Base64-encoded string. <a href="#ef3b23bbc152480f699e269620ecad4a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#39d5de77b29441a30f2f879755b8e7d8">EncodeToBase64</a> (const tStringObj &amp;rawStr, tStringObj *encodedStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value passed in a string object to a Base64-encoded string. <a href="#39d5de77b29441a30f2f879755b8e7d8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921">DecodeFromBase64</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> encodedStr, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> encodedLen, tStringObj *rawStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string to raw data. <a href="#e5bdd91c0c3ee9262dc0a8b9f591b921"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#1e61e273065b10517ca127d5a553a8dc">DecodeFromBase64</a> (const tStringObj &amp;encodedStr, tStringObj *rawStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string, passed as a string object, to raw data. <a href="#1e61e273065b10517ca127d5a553a8dc"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpeb1ee86760da304b00d6de76c740dc59"></a> These functions convert between raw data values and Base64-encoded strings. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a">EncodeToBase64</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> rawStr, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> rawLen, tStringObj *encodedStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value to a Base64-encoded string. <a href="#aef3b23bbc152480f699e269620ecad4a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a39d5de77b29441a30f2f879755b8e7d8">EncodeToBase64</a> (const tStringObj &amp;rawStr, tStringObj *encodedStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value passed in a string object to a Base64-encoded string. <a href="#a39d5de77b29441a30f2f879755b8e7d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921">DecodeFromBase64</a> (<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> encodedStr, <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> encodedLen, tStringObj *rawStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string to raw data. <a href="#ae5bdd91c0c3ee9262dc0a8b9f591b921"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a1e61e273065b10517ca127d5a553a8dc">DecodeFromBase64</a> (const tStringObj &amp;encodedStr, tStringObj *rawStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string, passed as a string object, to raw data. <a href="#a1e61e273065b10517ca127d5a553a8dc"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">JPEG file handling</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions support the partitioning of XMP in JPEG files into standard and extended portions in order to work around the 64KB size limit of JPEG marker segments.<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>(Doc note) Add detail about how to write out and read back extended data </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a">PackageForJPEG</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> creates XMP serializations appropriate for a JPEG file. <a href="#6001b4ff54c60fdf0c40e6b78a5c457a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e">MergeFromJPEG</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *fullXMP, const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;extendedXMP)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> merges standard and extended XMP retrieved from a JPEG file. <a href="#6187cd5fef0eccecac6805d4114dcd2e"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9d6900ade7f6b49f559efad32ab4edeb"></a> These functions support the partitioning of XMP in JPEG files into standard and extended portions in order to work around the 64KB size limit of JPEG marker segments.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>(Doc note) Add detail about how to write out and read back extended data </dd></dl>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a">PackageForJPEG</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> creates XMP serializations appropriate for a JPEG file. <a href="#a6001b4ff54c60fdf0c40e6b78a5c457a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e">MergeFromJPEG</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *fullXMP, const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;extendedXMP)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> merges standard and extended XMP retrieved from a JPEG file. <a href="#a6187cd5fef0eccecac6805d4114dcd2e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Editing utilities</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions are useful in implementing a user interface for editing XMP. They convert sets of property values to and from displayable and manipulable strings, and perform operations on sets of metadata, such as those available from the File Info dialog box. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba">CatenateArrayItems</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> separator, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> quotes, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, tStringObj *catedStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code> creates a single edit string from a set of array item values. <a href="#d7e1aa7928252fb88a24fb5c3aef22ba"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e">SeparateArrayItems</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> catedStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. <a href="#66c5ddee47aa36ed906353f94ca18d2e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#1bb2ed614886ff67863744ec56041c43">SeparateArrayItems</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, const tStringObj &amp;catedStr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. <a href="#1bb2ed614886ff67863744ec56041c43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d">RemoveProperties</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS=0, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties()</a></code> removes multiple properties from an XMP object. <a href="#40c645803530662e08d042b4b7c6190d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262">AppendProperties</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;source, <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *dest, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">AppendProperties()</a></code> adds or moves properties from one XMP object to another. <a href="#4795244ffcbda927800f789b0e40c262"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa">DuplicateSubtree</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;source, <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *dest, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> sourceNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> sourceRoot, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> destNS=0, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> destRoot=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree()</a></code> replicates a subtree from one XMP object into another. <a href="#a17838f062e5414bc0929f67ac94a3aa"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp5dca4c30bfa4d1002320a860d2cf1cf4"></a> These functions are useful in implementing a user interface for editing XMP. They convert sets of property values to and from displayable and manipulable strings, and perform operations on sets of metadata, such as those available from the File Info dialog box. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba">CatenateArrayItems</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> separator, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> quotes, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, tStringObj *catedStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code> creates a single edit string from a set of array item values. <a href="#ad7e1aa7928252fb88a24fb5c3aef22ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e">SeparateArrayItems</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> catedStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. <a href="#a66c5ddee47aa36ed906353f94ca18d2e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a1bb2ed614886ff67863744ec56041c43">SeparateArrayItems</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> arrayName, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options, const tStringObj &amp;catedStr)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. <a href="#a1bb2ed614886ff67863744ec56041c43"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9">ApplyTemplate</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *workingXMP, const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;templateXMP, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> actions)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9" title="ApplyTemplate() modifies a working XMP object according to a template object.">ApplyTemplate()</a></code> modifies a working XMP object according to a template object. <a href="#ab73bfa15116e6d702044542e0a43cce9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d">RemoveProperties</a> (<a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *xmpObj, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS=0, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName=0, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties()</a></code> removes multiple properties from an XMP object. <a href="#a40c645803530662e08d042b4b7c6190d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa">DuplicateSubtree</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;source, <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *dest, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> sourceNS, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> sourceRoot, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> destNS=0, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> destRoot=0, <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree()</a></code> replicates a subtree from one XMP object into another. <a href="#aa17838f062e5414bc0929f67ac94a3aa"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class tStringObj&gt;<br>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br/>
class TXMPUtils&lt; tStringObj &gt;</h3>
-API for access to the XMP Toolkit utility services.
-<p>
-<code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> is a template class which must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API.<p>
-This class defines helper functions that support the basic metadata manipulation provided by <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>. All of the functions are static; that is, you call them directly from the concrete class (<code>SXMPUtils</code>), which is never itself instantiated.<p>
-General categories of utilities include:<p>
+<p>API for access to the XMP Toolkit utility services. </p>
+<p><code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> is a template class which must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API.</p>
+<p>This class defines helper functions that support the basic metadata manipulation provided by <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>. All of the functions are static; that is, you call them directly from the concrete class (<code>SXMPUtils</code>), which is never itself instantiated.</p>
+<p>General categories of utilities include:</p>
<ul>
<li>Composing complex path expressions, which you can then pass to the property access functions in <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> </li>
<li>Converting between binary and string forms of property values </li>
@@ -236,29 +197,233 @@ General categories of utilities include:<p>
<li>JPEG file handling </li>
<li>Editing aids for creating a user interface for the XMP Toolkit </li>
</ul>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="47fa195aa2e1457aa1f74f7e1ed06da6"></a><!-- doxytag: member="TXMPUtils::ComposeArrayItemPath" ref="47fa195aa2e1457aa1f74f7e1ed06da6" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *fullPath)" -->
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab73bfa15116e6d702044542e0a43cce9"></a><!-- doxytag: member="TXMPUtils::ApplyTemplate" ref="ab73bfa15116e6d702044542e0a43cce9" args="(TXMPMeta&lt; tStringObj &gt; *workingXMP, const TXMPMeta&lt; tStringObj &gt; &amp;templateXMP, XMP_OptionBits actions)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ApplyTemplate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
+ <td class="paramname"> <em>workingXMP</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>templateXMP</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>actions</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><code><a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9" title="ApplyTemplate() modifies a working XMP object according to a template object.">ApplyTemplate()</a></code> modifies a working XMP object according to a template object. </p>
+<p>The XMP template can be used to add, replace or delete properties from the working XMP object. This function replaces the previous <code>AppendProperties()</code> function, which is no longer available. The actions that you specify determine how the template is applied. Each action can be applied individually or combined; if you do not specify any actions, the properties and values in the working XMP object do not change.</p>
+<p>These actions are available: </p>
+<ul>
+<li>Clear (<code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46" title="Perform a Clear operation, keep named properties and delete everything else.">kXMPTemplate_ClearUnnamedProperties</a></code>): Deletes top-level properties. Any top-level property that is present in the template (even with empty value) is retained. All other top-level properties in the working object are deleted.</li>
+</ul>
+<ul>
+<li>Add (<code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42" title="Perform an Add operation, add properties if they don&#39;t already exist.">kXMPTemplate_AddNewProperties</a></code>): Adds new properties to the working object if the template properties have values. See additional detail below.</li>
+</ul>
+<ul>
+<li>Replace (<code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544" title="Perform a Replace operation, add new properties and modify existing ones.">kXMPTemplate_ReplaceExistingProperties</a></code>): Replaces the values of existing top-level properties in the working XMP if the value forms match those in the template. Properties with empty values in the template are ignored. If combined with Clear or Add actions, those take precedence; values are cleared or added, rather than replaced.</li>
+</ul>
+<ul>
+<li>Replace/Delete empty (<code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5" title="Similar to Replace, also delete if the template has an empty value.">kXMPTemplate_ReplaceWithDeleteEmpty</a></code>): Replaces values in the same way as the simple Replace action, and also deletes properties if the value in the template is empty. If combined with Clear or Add actions, those take precedence; values are cleared or added, rather than replaced.</li>
+</ul>
+<ul>
+<li>Include internal (<code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea" title="Do all properties, default is just external properties.">kXMPTemplate_IncludeInternalProperties</a></code>): Performs specified action on internal properties as well as external properties. By default, internal properties are ignored for all actions.</li>
+</ul>
+<p>The Add behavior depends on the type of property: </p>
+<ul>
+<li>
+If a top-level property is not in the working XMP, and has a value in the template, the property and value are added. Empty properties are not added. </li>
+<li>
+If a property is in both the working XMP and template, the value forms must match, otherwise the template is ignored for that property. </li>
+<li>
+If a struct is present in both the working XMP and template, the individual fields of the template struct are added as appropriate; that is, the logic is recursively applied to the fields. Struct values are equivalent if they have the same fields with equivalent values. </li>
+<li>
+If an array is present in both the working XMP and template, items from the template are added if the value forms match. Array values match if they have sets of equivalent items, regardless of order. </li>
+<li>
+Alt-text arrays use the <code>xml:lang</code> qualifier as a key, adding languages that are missing. </li>
+</ul>
+<p>Array item checking is n-squared; this can be time-intensive if the Replace option is not specified. Each source item is checked to see if it already exists in the destination, without regard to order or duplicates. Simple items are compared by value and <code>xml:lang</code> qualifier; other qualifiers are ignored. Structs are recursively compared by field names, without regard to field order. Arrays are compared by recursively comparing all items. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>workingXMP</em>&nbsp;</td><td>The destination XMP object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>templateXMP</em>&nbsp;</td><td>The template to apply to the destination XMP object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>actions</em>&nbsp;</td><td>Option flags to control the copying. If none are specified, the properties and values in the working XMP do not change. A logical OR of these bit-flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46" title="Perform a Clear operation, keep named properties and delete everything else.">kXMPTemplate_ClearUnnamedProperties</a></code> -- Delete anything that is not in the template </li>
+<li><code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42" title="Perform an Add operation, add properties if they don&#39;t already exist.">kXMPTemplate_AddNewProperties</a></code> -- Add properties; see detailed description. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544" title="Perform a Replace operation, add new properties and modify existing ones.">kXMPTemplate_ReplaceExistingProperties</a></code> -- Replace the values of existing properties. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5" title="Similar to Replace, also delete if the template has an empty value.">kXMPTemplate_ReplaceWithDeleteEmpty</a></code> -- Replace the values of existing properties and delete properties if the new value is empty. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea" title="Do all properties, default is just external properties.">kXMPTemplate_IncludeInternalProperties</a></code> -- Operate on internal properties as well as external properties. </li>
+</ul>
+</td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ad7e1aa7928252fb88a24fb5c3aef22ba"></a><!-- doxytag: member="TXMPUtils::CatenateArrayItems" ref="ad7e1aa7928252fb88a24fb5c3aef22ba" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj *catedStr)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CatenateArrayItems </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>separator</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>quotes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>catedStr</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><code><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code> creates a single edit string from a set of array item values. </p>
+<p>Collects the values of all items in an array into a single string, using a specified separation string. Each item in the specified array must be a simple string value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the array to be catenated.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The schema namespace URI for the array. Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. May be a general path expression, must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>separator</em>&nbsp;</td><td>The string with which to separate the items in the catenated string. Defaults to "; ", ASCII semicolon and space (U+003B, U+0020).</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>quotes</em>&nbsp;</td><td>The character or characters to use as quotes around array items that contain a separator. Defaults to the double-quote character ("), ASCII quote (U+0022).</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the catenation. &lt;&lt;what options?&gt;&gt;</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>catedStr</em>&nbsp;</td><td>[out] A string object in which to return the catenated array items.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9fc7f1771032f59f9020aeda4f91991d"></a><!-- doxytag: member="TXMPUtils::CompareDateTime" ref="a9fc7f1771032f59f9020aeda4f91991d" args="(const XMP_DateTime &amp;left, const XMP_DateTime &amp;right)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static int <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CompareDateTime </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><code><a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime()</a></code> compares the order of two date/time values. </p>
+<p>Both values are treated as in the same time zone if either has no time zone.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The left-side date/time value.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The right-side date/time value.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the order: <ul>
+<li>-1 if left is earlier than right </li>
+<li>0 if left matches right </li>
+<li>+1 if left is later than right </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a47fa195aa2e1457aa1f74f7e1ed06da6"></a><!-- doxytag: member="TXMPUtils::ComposeArrayItemPath" ref="a47fa195aa2e1457aa1f74f7e1ed06da6" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeArrayItemPath </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeArrayItemPath </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Index</a>&nbsp;</td>
<td class="paramname"> <em>itemIndex</em>, </td>
</tr>
<tr>
@@ -276,54 +441,59 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath()</a></code> composes the path expression for an item in an array.
-<p>
-The returned string is in the form <code>ns:arrayName[i]</code>, where "ns" is the prefix for the specified namespace, and "i" is the decimal representation of specified item index. If the last item was specified, the path is <code>ns:arrayName[last()]</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath()</a></code> composes the path expression for an item in an array. </p>
+<p>The returned string is in the form <code>ns:arrayName[i]</code>, where "ns" is the prefix for the specified namespace, and "i" is the decimal representation of specified item index. If the last item was specified, the path is <code>ns:arrayName[last()]</code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The 1-based index of the desired item. Use the macro <code><a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317" title="Options macro accesses last array item.">kXMP_ArrayLastItem</a></code> to specify the last existing array item.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="706eb85b8401b8682a01348f7e25ee3d"></a><!-- doxytag: member="TXMPUtils::ComposeStructFieldPath" ref="706eb85b8401b8682a01348f7e25ee3d" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="ad2d2361b8a4d0709ec9e3bd837265cba"></a><!-- doxytag: member="TXMPUtils::ComposeFieldSelector" ref="ad2d2361b8a4d0709ec9e3bd837265cba" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeStructFieldPath </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeFieldSelector </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>structName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>fieldName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>fieldValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>fullPath</em></td><td>&nbsp;</td>
</tr>
@@ -336,51 +506,62 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath()</a></code> composes the path expression for a field in a struct.
-<p>
-The returned string is in the form <code>ns:structName/fNS:fieldName</code>, where "ns" is the prefix for the schema namespace, and "fNS" is the prefix for field namespace.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. </p>
+<p>Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an array of structs based on the value of one of the fields in the structs. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code>.</p>
+<p>For example, consider a simple struct that has two fields, the name of a city and the URI of an FTP site in that city. Use this to create an array of download alternatives. You can show the user a popup built from the values of the city fields, then get the corresponding URI as follows: </p>
+<pre>
+ ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &amp;path );
+ exists = GetStructField ( schemaNS, path, fieldNS, "URI", &amp;uri );
+ </pre><p>The returned string is in the form <code>ns:arrayName[fNS:fieldName='fieldValue']</code>, where "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code>GetProperty()</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field used as the selector. Same URI and prefix usage as the <code>schemaNS</code> and <code>arrayName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field used as the selector. Must be a single XML name, must not be null or the empty string. It must be the name of a field that is itself simple.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The desired value of the field, specified as a string object.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="40ae0ce2065fcb71725e37137884e172"></a><!-- doxytag: member="TXMPUtils::ComposeQualifierPath" ref="40ae0ce2065fcb71725e37137884e172" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="a458f8e8729e2334fe54ca8f691a9db23"></a><!-- doxytag: member="TXMPUtils::ComposeFieldSelector" ref="a458f8e8729e2334fe54ca8f691a9db23" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeQualifierPath </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeFieldSelector </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>qualName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>fieldValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -397,44 +578,49 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath()</a></code> composes the path expression for a qualifier.
-<p>
-The returned string is in the form <code>ns:propName/?qNS:qualName</code>, where "ns" is the prefix for the schema namespace, and "qNS" is the prefix for the qualifier namespace.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value. </p>
+<p>Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an array of structs based on the value of one of the fields in the structs. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code>.</p>
+<p>For example, consider a simple struct that has two fields, the name of a city and the URI of an FTP site in that city. Use this to create an array of download alternatives. You can show the user a popup built from the values of the city fields, then get the corresponding URI as follows: </p>
+<pre>
+ ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &amp;path );
+ exists = GetStructField ( schemaNS, path, fieldNS, "URI", &amp;uri );
+ </pre><p>The returned string is in the form <code>ns:arrayName[fNS:fieldName='fieldValue']</code>, where "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code>GetProperty()</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field used as the selector. Same URI and prefix usage as the <code>schemaNS</code> and <code>arrayName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field used as the selector. Must be a single XML name, must not be null or the empty string. It must be the name of a field that is itself simple.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The desired value of the field, specified as a null-terminated UTF-8 string.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="e4989e5c199a2a4287ee3ae89b872e69"></a><!-- doxytag: member="TXMPUtils::ComposeLangSelector" ref="e4989e5c199a2a4287ee3ae89b872e69" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="a7882bbc2e412ff476c2d97d98808d91c"></a><!-- doxytag: member="TXMPUtils::ComposeLangSelector" ref="a7882bbc2e412ff476c2d97d98808d91c" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj &amp;langName, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeLangSelector </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeLangSelector </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
<td class="paramname"> <em>langName</em>, </td>
</tr>
<tr>
@@ -452,45 +638,44 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes the path expression to select an alternate item by language.
-<p>
-Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an alt-text array based on the value of its <code>xml:lang</code> qualifier. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code>.<p>
-The returned string is in the form <code>ns:arrayName[@xml:lang='langName']</code>, where "ns" is the prefix for the schema namespace<p>
-This function provides a path expression that is explicitly and only for a specific language. In most cases, <code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> are preferred, because they provide extra logic to choose the appropriate language and maintain consistency with the 'x-default' value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes a path expression to select an alternate item by language. </p>
+<p>Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an alt-text array based on the value of its <code>xml:lang</code> qualifier. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code>.</p>
+<p>The returned string is in the form <code>ns:arrayName[@xml:lang='langName']</code>, where "ns" is the prefix for the schema namespace</p>
+<p>This function provides a path expression that is explicitly and only for a specific language. In most cases, <code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> are preferred, because they provide extra logic to choose the appropriate language and maintain consistency with the 'x-default' value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>langName</em>&nbsp;</td><td>The RFC 3066 code for the desired language, as a null-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>langName</em>&nbsp;</td><td>The RFC 3066 code for the desired language, as a string object.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="7882bbc2e412ff476c2d97d98808d91c"></a><!-- doxytag: member="TXMPUtils::ComposeLangSelector" ref="7882bbc2e412ff476c2d97d98808d91c" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj &amp;langName, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="ae4989e5c199a2a4287ee3ae89b872e69"></a><!-- doxytag: member="TXMPUtils::ComposeLangSelector" ref="ae4989e5c199a2a4287ee3ae89b872e69" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeLangSelector </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeLangSelector </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>langName</em>, </td>
</tr>
<tr>
@@ -508,58 +693,51 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes a path expression to select an alternate item by language.
-<p>
-Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an alt-text array based on the value of its <code>xml:lang</code> qualifier. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code>.<p>
-The returned string is in the form <code>ns:arrayName[@xml:lang='langName']</code>, where "ns" is the prefix for the schema namespace<p>
-This function provides a path expression that is explicitly and only for a specific language. In most cases, <code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> are preferred, because they provide extra logic to choose the appropriate language and maintain consistency with the 'x-default' value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code> composes the path expression to select an alternate item by language. </p>
+<p>Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an alt-text array based on the value of its <code>xml:lang</code> qualifier. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code>.</p>
+<p>The returned string is in the form <code>ns:arrayName[@xml:lang='langName']</code>, where "ns" is the prefix for the schema namespace</p>
+<p>This function provides a path expression that is explicitly and only for a specific language. In most cases, <code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> are preferred, because they provide extra logic to choose the appropriate language and maintain consistency with the 'x-default' value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>langName</em>&nbsp;</td><td>The RFC 3066 code for the desired language, as a string object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>langName</em>&nbsp;</td><td>The RFC 3066 code for the desired language, as a null-terminated UTF-8 string.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="458f8e8729e2334fe54ca8f691a9db23"></a><!-- doxytag: member="TXMPUtils::ComposeFieldSelector" ref="458f8e8729e2334fe54ca8f691a9db23" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="a40ae0ce2065fcb71725e37137884e172"></a><!-- doxytag: member="TXMPUtils::ComposeQualifierPath" ref="a40ae0ce2065fcb71725e37137884e172" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeFieldSelector </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeQualifierPath </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldNS</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>fieldValue</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>qualName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -576,67 +754,54 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value.
-<p>
-Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an array of structs based on the value of one of the fields in the structs. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code>.<p>
-For example, consider a simple struct that has two fields, the name of a city and the URI of an FTP site in that city. Use this to create an array of download alternatives. You can show the user a popup built from the values of the city fields, then get the corresponding URI as follows: <pre>
- ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &amp;path );
- exists = GetStructField ( schemaNS, path, fieldNS, "URI", &amp;uri );
- </pre><p>
-The returned string is in the form <code>ns:arrayName[fNS:fieldName='fieldValue']</code>, where "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath()</a></code> composes the path expression for a qualifier. </p>
+<p>The returned string is in the form <code>ns:propName/?qNS:qualName</code>, where "ns" is the prefix for the schema namespace, and "qNS" is the prefix for the qualifier namespace.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field used as the selector. Same URI and prefix usage as the <code>schemaNS</code> and <code>arrayName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field used as the selector. Must be a single XML name, must not be null or the empty string. It must be the name of a field that is itself simple.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The desired value of the field, specified as a null-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI; see <code>GetProperty()</code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property to which the qualifier is attached. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qualName</em>&nbsp;</td><td>The name of the qualifier. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>propName</code> parameters.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="d2d2361b8a4d0709ec9e3bd837265cba"></a><!-- doxytag: member="TXMPUtils::ComposeFieldSelector" ref="d2d2361b8a4d0709ec9e3bd837265cba" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj &amp;fieldValue, tStringObj *fullPath)" -->
+</div>
+<a class="anchor" id="a706eb85b8401b8682a01348f7e25ee3d"></a><!-- doxytag: member="TXMPUtils::ComposeStructFieldPath" ref="a706eb85b8401b8682a01348f7e25ee3d" args="(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fullPath)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeFieldSelector </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ComposeStructFieldPath </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>structName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>fieldNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>fieldName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>fieldValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>fullPath</em></td><td>&nbsp;</td>
</tr>
@@ -649,36 +814,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector()</a></code> composes a path expression to select an alternate item by a field's value.
-<p>
-Path syntax allows two forms of "content addressing" to select an item in an array of alternatives. The form used in this function lets you select an item in an array of structs based on the value of one of the fields in the structs. The other form of content addressing is shown in <code><a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector()</a></code>.<p>
-For example, consider a simple struct that has two fields, the name of a city and the URI of an FTP site in that city. Use this to create an array of download alternatives. You can show the user a popup built from the values of the city fields, then get the corresponding URI as follows: <pre>
- ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &amp;path );
- exists = GetStructField ( schemaNS, path, fieldNS, "URI", &amp;uri );
- </pre><p>
-The returned string is in the form <code>ns:arrayName[fNS:fieldName='fieldValue']</code>, where "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath()</a></code> composes the path expression for a field in a struct. </p>
+<p>The returned string is in the form <code>ns:structName/fNS:fieldName</code>, where "ns" is the prefix for the schema namespace, and "fNS" is the prefix for field namespace.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the array; see <code>GetProperty()</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field used as the selector. Same URI and prefix usage as the <code>schemaNS</code> and <code>arrayName</code> parameters.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field used as the selector. Must be a single XML name, must not be null or the empty string. It must be the name of a field that is itself simple.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>The desired value of the field, specified as a string object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The namespace URI for the struct; see <code>GetProperty()</code>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. Can be a general path expression, must not be null or the empty string; see <code>GetProperty()</code> for namespace prefix usage.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fieldName</em>&nbsp;</td><td>The name of the field. Must be a single XML name, must not be null or the empty string. Same URI and prefix usage as the <code>schemaNS</code> and <code>structName</code> parameters.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>fullPath</em>&nbsp;</td><td>[out] A string in which to return the composed path. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="509691eb270988de6a770c9c8304ab6b"></a><!-- doxytag: member="TXMPUtils::ConvertFromBool" ref="509691eb270988de6a770c9c8304ab6b" args="(bool binValue, tStringObj *strValue)" -->
+</div>
+<a class="anchor" id="a509691eb270988de6a770c9c8304ab6b"></a><!-- doxytag: member="TXMPUtils::ConvertFromBool" ref="a509691eb270988de6a770c9c8304ab6b" args="(bool binValue, tStringObj *strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromBool </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromBool </td>
<td>(</td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>binValue</em>, </td>
@@ -698,40 +856,33 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool()</a></code> converts a Boolean value to a string.
-<p>
-The string values of Booleans are returned by the macros <code><a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141" title="The canonical true string value for Booleans in serialized XMP.">kXMP_TrueStr</a></code> and <code><a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278" title="The canonical false string value for Booleans in serialized XMP.">kXMP_FalseStr</a></code> in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool()</a></code> converts a Boolean value to a string. </p>
+<p>The string values of Booleans are returned by the macros <code><a class="el" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141" title="The canonical true string value for Booleans in serialized XMP.">kXMP_TrueStr</a></code> and <code><a class="el" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278" title="The canonical false string value for Booleans in serialized XMP.">kXMP_FalseStr</a></code> in <code><a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a></code>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The Boolean value to be converted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the string representation of the value. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="eec45b4d1a26717290105c9f4e8b4235"></a><!-- doxytag: member="TXMPUtils::ConvertFromInt" ref="eec45b4d1a26717290105c9f4e8b4235" args="(long binValue, XMP_StringPtr format, tStringObj *strValue)" -->
+</div>
+<a class="anchor" id="a6146a522a3974b4088d6e8241e9cd223"></a><!-- doxytag: member="TXMPUtils::ConvertFromDate" ref="a6146a522a3974b4088d6e8241e9cd223" args="(const XMP_DateTime &amp;binValue, tStringObj *strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromInt </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromDate </td>
<td>(</td>
- <td class="paramtype">long&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
<td class="paramname"> <em>binValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>format</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>strValue</em></td><td>&nbsp;</td>
</tr>
@@ -744,35 +895,51 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt()</a></code> converts a 32-bit integer value to a string.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate()</a></code> converts a date/time value to a string. </p>
+<p>Formats a date according to the ISO 8601 profile in <a href="http://www.w3.org/TR/NOTE-datetime:">http://www.w3.org/TR/NOTE-datetime:</a> </p>
+<pre>
+ YYYY
+ YYYY-MM
+ YYYY-MM-DD
+ YYYY-MM-DDThh:mmTZD
+ YYYY-MM-DDThh:mm:ssTZD
+ YYYY-MM-DDThh:mm:ss.sTZD
+ </pre><p><code>YYYY</code> = four-digit year, formatted as "%.4d" <br/>
+ <code>MM</code> = two-digit month (01=January) <br/>
+ <code>DD</code> = two-digit day of month (01 through 31) <br/>
+ <code>hh</code> = two digits of hour (00 through 23) <br/>
+ <code>mm</code> = two digits of minute (00 through 59) <br/>
+ <code>ss</code> = two digits of second (00 through 59) <br/>
+ <code>s</code> = one or more digits representing a decimal fraction of a second <br/>
+ <code>TZD</code> = time zone designator (Z or +hh:mm or -hh:mm)</p>
+<p>Time-only input is allowed where the year, month, and day are all zero. This is output as "0000-00-00...".</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows any year, even negative ones. The W3C profile also requires a time zone designator if a time is present, this API treats the time zone designator as optional. The <a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> type has an explicit notion of zone-less time.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The integer value to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Optional. A C <code>sprintf</code> format for the conversion. Default is "%d".</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the string representation of the value. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The date/time value to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the ISO 8601 string representation of the date/time. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="eae4617e05358433015eaa80953c5e60"></a><!-- doxytag: member="TXMPUtils::ConvertFromInt64" ref="eae4617e05358433015eaa80953c5e60" args="(long long binValue, XMP_StringPtr format, tStringObj *strValue)" -->
+</div>
+<a class="anchor" id="ae67ef3931836432b7e574832f0610ed0"></a><!-- doxytag: member="TXMPUtils::ConvertFromFloat" ref="ae67ef3931836432b7e574832f0610ed0" args="(double binValue, XMP_StringPtr format, tStringObj *strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromInt64 </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromFloat </td>
<td>(</td>
- <td class="paramtype">long long&nbsp;</td>
+ <td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>binValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>format</em>, </td>
</tr>
<tr>
@@ -790,35 +957,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64()</a></code> converts a 64-bit integer value to a string.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat()</a></code> converts a floating-point value to a string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The integer value to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The floating-point value to be converted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Optional. A C <code>sprintf</code> format for the conversion. Default is "%d".</td></tr>
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the string representation of the value. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="e67ef3931836432b7e574832f0610ed0"></a><!-- doxytag: member="TXMPUtils::ConvertFromFloat" ref="e67ef3931836432b7e574832f0610ed0" args="(double binValue, XMP_StringPtr format, tStringObj *strValue)" -->
+</div>
+<a class="anchor" id="aeec45b4d1a26717290105c9f4e8b4235"></a><!-- doxytag: member="TXMPUtils::ConvertFromInt" ref="aeec45b4d1a26717290105c9f4e8b4235" args="(long binValue, XMP_StringPtr format, tStringObj *strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromFloat </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromInt </td>
<td>(</td>
- <td class="paramtype">double&nbsp;</td>
+ <td class="paramtype">long&nbsp;</td>
<td class="paramname"> <em>binValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>format</em>, </td>
</tr>
<tr>
@@ -836,34 +1002,39 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat()</a></code> converts a floating-point value to a string.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt()</a></code> converts a 32-bit integer value to a string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The floating-point value to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The integer value to be converted.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Optional. A C <code>sprintf</code> format for the conversion. Default is "%d".</td></tr>
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the string representation of the value. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="6146a522a3974b4088d6e8241e9cd223"></a><!-- doxytag: member="TXMPUtils::ConvertFromDate" ref="6146a522a3974b4088d6e8241e9cd223" args="(const XMP_DateTime &amp;binValue, tStringObj *strValue)" -->
+</div>
+<a class="anchor" id="aeae4617e05358433015eaa80953c5e60"></a><!-- doxytag: member="TXMPUtils::ConvertFromInt64" ref="aeae4617e05358433015eaa80953c5e60" args="(long long binValue, XMP_StringPtr format, tStringObj *strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromDate </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertFromInt64 </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
+ <td class="paramtype">long long&nbsp;</td>
<td class="paramname"> <em>binValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
<td class="paramname"> <em>strValue</em></td><td>&nbsp;</td>
</tr>
@@ -876,78 +1047,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate()</a></code> converts a date/time value to a string.
-<p>
-Formats a date according to the ISO 8601 profile in <a href="http://www.w3.org/TR/NOTE-datetime:">http://www.w3.org/TR/NOTE-datetime:</a> <pre>
- YYYY
- YYYY-MM
- YYYY-MM-DD
- YYYY-MM-DDThh:mmTZD
- YYYY-MM-DDThh:mm:ssTZD
- YYYY-MM-DDThh:mm:ss.sTZD
- </pre><p>
-<code>YYYY</code> = four-digit year, formatted as "%.4d" <br>
- <code>MM</code> = two-digit month (01=January) <br>
- <code>DD</code> = two-digit day of month (01 through 31) <br>
- <code>hh</code> = two digits of hour (00 through 23) <br>
- <code>mm</code> = two digits of minute (00 through 59) <br>
- <code>ss</code> = two digits of second (00 through 59) <br>
- <code>s</code> = one or more digits representing a decimal fraction of a second <br>
- <code>TZD</code> = time zone designator (Z or +hh:mm or -hh:mm)<p>
-Time-only input is allowed where the year, month, and day are all zero. This is output as "0000-00-00...".<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows any year, even negative ones.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64()</a></code> converts a 64-bit integer value to a string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The date/time value to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the ISO 8601 string representation of the date/time. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>The integer value to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Optional. A C <code>sprintf</code> format for the conversion. Default is "%d".</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>[out] A buffer in which to return the string representation of the value. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="aaaaadb23f4089daa795f50cba4f405c"></a><!-- doxytag: member="TXMPUtils::ConvertToBool" ref="aaaaadb23f4089daa795f50cba4f405c" args="(XMP_StringPtr strValue)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">static bool <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToBool </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value.
-<p>
-The preferred strings are those returned by the macros <code><a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141" title="The canonical true string value for Booleans in serialized XMP.">kXMP_TrueStr</a></code> and <code><a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278" title="The canonical false string value for Booleans in serialized XMP.">kXMP_FalseStr</a></code>. If these do not match, the function does a case insensitive comparison, then simply 't' or 'f', and finally non-zero and zero integer representations.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The appropriate C++ bool value for the string. </dd></dl>
-
</div>
-</div><p>
-<a class="anchor" name="84f2a7b3960a17315032915674e21960"></a><!-- doxytag: member="TXMPUtils::ConvertToBool" ref="84f2a7b3960a17315032915674e21960" args="(const tStringObj &amp;strValue)" -->
+<a class="anchor" id="a84f2a7b3960a17315032915674e21960"></a><!-- doxytag: member="TXMPUtils::ConvertToBool" ref="a84f2a7b3960a17315032915674e21960" args="(const tStringObj &amp;strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static bool <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToBool </td>
+ <td class="memname">static bool <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToBool </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -955,30 +1077,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical; see details in the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical; see details in the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a string object.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The appropriate C++ bool value for the string. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The appropriate C++ bool value for the string. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="dfd9d1c522377d5db4ad667a7973ba00"></a><!-- doxytag: member="TXMPUtils::ConvertToInt" ref="dfd9d1c522377d5db4ad667a7973ba00" args="(XMP_StringPtr strValue)" -->
+</div>
+<a class="anchor" id="aaaaaadb23f4089daa795f50cba4f405c"></a><!-- doxytag: member="TXMPUtils::ConvertToBool" ref="aaaaaadb23f4089daa795f50cba4f405c" args="(XMP_StringPtr strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt </td>
+ <td class="memname">static bool <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToBool </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -986,90 +1107,124 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool()</a></code> converts a string to a Boolean value. </p>
+<p>The preferred strings are those returned by the macros <code><a class="el" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141" title="The canonical true string value for Booleans in serialized XMP.">kXMP_TrueStr</a></code> and <code><a class="el" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278" title="The canonical false string value for Booleans in serialized XMP.">kXMP_FalseStr</a></code>. If these do not match, the function does a case insensitive comparison, then simply 't' or 'f', and finally non-zero and zero integer representations.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The 32-bit integer value. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The appropriate C++ bool value for the string. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="47d93f9cb4acd9d7ec6b450100209bec"></a><!-- doxytag: member="TXMPUtils::ConvertToInt" ref="47d93f9cb4acd9d7ec6b450100209bec" args="(const tStringObj &amp;strValue)" -->
+</div>
+<a class="anchor" id="a265559d1b4b78e34a460e935c11177d7"></a><!-- doxytag: member="TXMPUtils::ConvertToDate" ref="a265559d1b4b78e34a460e935c11177d7" args="(const tStringObj &amp;strValue, XMP_DateTime *binValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToDate </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramname"> <em>strValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
+ <td class="paramname"> <em>binValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical. See details for the canonical form.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a string object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The ISO 8601 string representation of the date/time, specified as a string object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary date/time value. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The 32-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="be5d2dcc03c5442202203bba5ca7b172"></a><!-- doxytag: member="TXMPUtils::ConvertToInt64" ref="be5d2dcc03c5442202203bba5ca7b172" args="(XMP_StringPtr strValue)" -->
+</div>
+<a class="anchor" id="a60d33e6ce30286028acca47b2b6e7a0b"></a><!-- doxytag: member="TXMPUtils::ConvertToDate" ref="a60d33e6ce30286028acca47b2b6e7a0b" args="(XMP_StringPtr strValue, XMP_DateTime *binValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static long long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt64 </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToDate </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>strValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
+ <td class="paramname"> <em>binValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value. </p>
+<p>Parses a date according to the ISO 8601 profile in <a href="http://www.w3.org/TR/NOTE-datetime:">http://www.w3.org/TR/NOTE-datetime:</a> </p>
+<pre>
+ YYYY
+ YYYY-MM
+ YYYY-MM-DD
+ YYYY-MM-DDThh:mmTZD
+ YYYY-MM-DDThh:mm:ssTZD
+ YYYY-MM-DDThh:mm:ss.sTZD
+ </pre><p><code>YYYY</code> = four-digit year, formatted as "%.4d" <br/>
+ <code>MM</code> = two-digit month (01=January) <br/>
+ <code>DD</code> = two-digit day of month (01 through 31) <br/>
+ <code>hh</code> = two digits of hour (00 through 23) <br/>
+ <code>mm</code> = two digits of minute (00 through 59) <br/>
+ <code>ss</code> = two digits of second (00 through 59) <br/>
+ <code>s</code> = one or more digits representing a decimal fraction of a second <br/>
+ <code>TZD</code> = time zone designator (Z or +hh:mm or -hh:mm)</p>
+<p>A missing date portion or missing TZD are tolerated. A missing date value can begin with "Thh:" or "hh:"; the year, month, and day are all set to zero in the <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> value. A missing TZD is assumed to be UTC.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows any year, even negative ones. The W3C profile also requires a time zone designator if a time is present, this API treats the time zone designator as optional. The <a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> type has an explicit notion of zone-less time.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The ISO 8601 string representation of the date/time, specified as a null-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary date/time value. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The 64-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="711cae0cb1b673ff5e208b4ae458d120"></a><!-- doxytag: member="TXMPUtils::ConvertToInt64" ref="711cae0cb1b673ff5e208b4ae458d120" args="(const tStringObj &amp;strValue)" -->
+</div>
+<a class="anchor" id="aabd4e479d2708a9ea3135cd441faa7ea"></a><!-- doxytag: member="TXMPUtils::ConvertToFloat" ref="aabd4e479d2708a9ea3135cd441faa7ea" args="(const tStringObj &amp;strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static long long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt64 </td>
+ <td class="memname">static double <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToFloat </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1077,30 +1232,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a string object.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The 64-bit integer value. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The floating-point value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="8a507b006286460814e0486c622d828c"></a><!-- doxytag: member="TXMPUtils::ConvertToFloat" ref="8a507b006286460814e0486c622d828c" args="(XMP_StringPtr strValue)" -->
+</div>
+<a class="anchor" id="a8a507b006286460814e0486c622d828c"></a><!-- doxytag: member="TXMPUtils::ConvertToFloat" ref="a8a507b006286460814e0486c622d828c" args="(XMP_StringPtr strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static double <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToFloat </td>
+ <td class="memname">static double <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToFloat </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1108,29 +1262,28 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The floating-point value. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The floating-point value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="abd4e479d2708a9ea3135cd441faa7ea"></a><!-- doxytag: member="TXMPUtils::ConvertToFloat" ref="abd4e479d2708a9ea3135cd441faa7ea" args="(const tStringObj &amp;strValue)" -->
+</div>
+<a class="anchor" id="a47d93f9cb4acd9d7ec6b450100209bec"></a><!-- doxytag: member="TXMPUtils::ConvertToInt" ref="a47d93f9cb4acd9d7ec6b450100209bec" args="(const tStringObj &amp;strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static double <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToFloat </td>
+ <td class="memname">static long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>strValue</em> </td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1138,127 +1291,88 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat()</a></code> converts a string to a floating-point value.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a string object.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The floating-point value. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The 32-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="60d33e6ce30286028acca47b2b6e7a0b"></a><!-- doxytag: member="TXMPUtils::ConvertToDate" ref="60d33e6ce30286028acca47b2b6e7a0b" args="(XMP_StringPtr strValue, XMP_DateTime *binValue)" -->
+</div>
+<a class="anchor" id="adfd9d1c522377d5db4ad667a7973ba00"></a><!-- doxytag: member="TXMPUtils::ConvertToInt" ref="adfd9d1c522377d5db4ad667a7973ba00" args="(XMP_StringPtr strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToDate </td>
+ <td class="memname">static long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>strValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>binValue</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>strValue</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value.
-<p>
-Parses a date according to the ISO 8601 profile in <a href="http://www.w3.org/TR/NOTE-datetime:">http://www.w3.org/TR/NOTE-datetime:</a> <pre>
- YYYY
- YYYY-MM
- YYYY-MM-DD
- YYYY-MM-DDThh:mmTZD
- YYYY-MM-DDThh:mm:ssTZD
- YYYY-MM-DDThh:mm:ss.sTZD
- </pre><p>
-<code>YYYY</code> = four-digit year, formatted as "%.4d" <br>
- <code>MM</code> = two-digit month (01=January) <br>
- <code>DD</code> = two-digit day of month (01 through 31) <br>
- <code>hh</code> = two digits of hour (00 through 23) <br>
- <code>mm</code> = two digits of minute (00 through 59) <br>
- <code>ss</code> = two digits of second (00 through 59) <br>
- <code>s</code> = one or more digits representing a decimal fraction of a second <br>
- <code>TZD</code> = time zone designator (Z or +hh:mm or -hh:mm)<p>
-A missing date portion or missing TZD are tolerated. A missing date value can begin with "Thh:" or "hh:"; the year, month, and day are all set to zero in the <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> value. A missing TZD is assumed to be UTC.<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows any year, even negative ones.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#adfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt()</a></code> converts a string to a 32-bit integer value. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The ISO 8601 string representation of the date/time, specified as a null-terminated UTF-8 string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary date/time value. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The 32-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="265559d1b4b78e34a460e935c11177d7"></a><!-- doxytag: member="TXMPUtils::ConvertToDate" ref="265559d1b4b78e34a460e935c11177d7" args="(const tStringObj &amp;strValue, XMP_DateTime *binValue)" -->
+</div>
+<a class="anchor" id="a711cae0cb1b673ff5e208b4ae458d120"></a><!-- doxytag: member="TXMPUtils::ConvertToInt64" ref="a711cae0cb1b673ff5e208b4ae458d120" args="(const tStringObj &amp;strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToDate </td>
+ <td class="memname">static long long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt64 </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>strValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>binValue</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td class="paramname"> <em>strValue</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate()</a></code> converts a string to a date/time value.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical. See details for the canonical form.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object, rather than a <code>const * char</code>. It is otherwise identical.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The ISO 8601 string representation of the date/time, specified as a string object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>binValue</em>&nbsp;</td><td>[out] A buffer in which to return the binary date/time value. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a string object.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The 64-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="c83f0b963ea64d7eee0b481e15a8439c"></a><!-- doxytag: member="TXMPUtils::CurrentDateTime" ref="c83f0b963ea64d7eee0b481e15a8439c" args="(XMP_DateTime *time)" -->
+</div>
+<a class="anchor" id="abe5d2dcc03c5442202203bba5ca7b172"></a><!-- doxytag: member="TXMPUtils::ConvertToInt64" ref="abe5d2dcc03c5442202203bba5ca7b172" args="(XMP_StringPtr strValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CurrentDateTime </td>
+ <td class="memname">static long long <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToInt64 </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>time</em> </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>strValue</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1266,29 +1380,28 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime()</a></code> obtains the current date and time.
-<p>
-Creates and returns a binary <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> value. The returned time is UTC, properly adjusted for the local time zone. The resolution of the time is not guaranteed to be finer than seconds.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64()</a></code> converts a string to a 64-bit integer value. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>[out] A buffer in which to return the date/time value. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>strValue</em>&nbsp;</td><td>The string representation of the value, specified as a null-terminated UTF-8 string.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The 64-bit integer value. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="96bcc45febac55f6c49951815b7de2ef"></a><!-- doxytag: member="TXMPUtils::SetTimeZone" ref="96bcc45febac55f6c49951815b7de2ef" args="(XMP_DateTime *time)" -->
+</div>
+<a class="anchor" id="a61852aaba494c8fbad5a6c0c4caf21f5"></a><!-- doxytag: member="TXMPUtils::ConvertToLocalTime" ref="a61852aaba494c8fbad5a6c0c4caf21f5" args="(XMP_DateTime *time)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SetTimeZone </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToLocalTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>time</em> </td>
+ <td class="paramname"> <em>time</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1296,29 +1409,28 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone()</a></code> sets the time zone in a date/time value to the local time zone.
-<p>
-Any existing time zone value is replaced. The other date/time fields are not adjusted in any way.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime()</a></code> ensures that a time is local. </p>
+<p>If the time zone is not the local zone, the time is adjusted and the time zone set to be local. The value is not modified if the time zone is already the local zone or if the value has no time zone.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>A pointer to the date-time value, which is modified in place. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="bbd4d691c83287ea2fc6b1e33e5858b8"></a><!-- doxytag: member="TXMPUtils::ConvertToUTCTime" ref="bbd4d691c83287ea2fc6b1e33e5858b8" args="(XMP_DateTime *time)" -->
+</div>
+<a class="anchor" id="abbd4d691c83287ea2fc6b1e33e5858b8"></a><!-- doxytag: member="TXMPUtils::ConvertToUTCTime" ref="abbd4d691c83287ea2fc6b1e33e5858b8" args="(XMP_DateTime *time)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToUTCTime </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToUTCTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>time</em> </td>
+ <td class="paramname"> <em>time</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1326,29 +1438,28 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime()</a></code> ensures that a time is UTC.
-<p>
-If the time zone is not UTC, the time is adjusted and the time zone set to be UTC. If the time zone is already UTC, the value is not modified.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime()</a></code> ensures that a time is UTC. </p>
+<p>If the time zone is not UTC, the time is adjusted and the time zone set to be UTC. The value is not modified if the time zone is already UTC or if the value has no time zone.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>A pointer to the date-time value, which is modified in place. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="61852aaba494c8fbad5a6c0c4caf21f5"></a><!-- doxytag: member="TXMPUtils::ConvertToLocalTime" ref="61852aaba494c8fbad5a6c0c4caf21f5" args="(XMP_DateTime *time)" -->
+</div>
+<a class="anchor" id="ac83f0b963ea64d7eee0b481e15a8439c"></a><!-- doxytag: member="TXMPUtils::CurrentDateTime" ref="ac83f0b963ea64d7eee0b481e15a8439c" args="(XMP_DateTime *time)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::ConvertToLocalTime </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CurrentDateTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
- <td class="paramname"> <em>time</em> </td>
+ <td class="paramname"> <em>time</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
@@ -1356,35 +1467,34 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime()</a></code> ensures that a time is local.
-<p>
-If the time zone is not the local zone, the time is adjusted and the time zone set to be local. If the time zone is already the local zone, the value is not modified.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime()</a></code> obtains the current date and time. </p>
+<p>Creates and returns a binary <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> value. The returned time is UTC, properly adjusted for the local time zone. The resolution of the time is not guaranteed to be finer than seconds.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>A pointer to the date-time value, which is modified in place. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>[out] A buffer in which to return the date/time value. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="9fc7f1771032f59f9020aeda4f91991d"></a><!-- doxytag: member="TXMPUtils::CompareDateTime" ref="9fc7f1771032f59f9020aeda4f91991d" args="(const XMP_DateTime &amp;left, const XMP_DateTime &amp;right)" -->
+</div>
+<a class="anchor" id="a1e61e273065b10517ca127d5a553a8dc"></a><!-- doxytag: member="TXMPUtils::DecodeFromBase64" ref="a1e61e273065b10517ca127d5a553a8dc" args="(const tStringObj &amp;encodedStr, tStringObj *rawStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static int <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CompareDateTime </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DecodeFromBase64 </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>left</em>, </td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>encodedStr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>rawStr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1395,47 +1505,41 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime()</a></code> compares the order of two date/time values.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string, passed as a string object, to raw data. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object as input. It is otherwise identical.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The left-side date/time value.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The right-side date/time value.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>An string object containing the encoded data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>[out] A string object in which to return the decoded data. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>An integer indicating the order: <ul>
-<li>-1 if left is earlier than right </li>
-<li>0 if left matches right </li>
-<li>+1 if left is later than right </li>
-</ul>
-</dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ef3b23bbc152480f699e269620ecad4a"></a><!-- doxytag: member="TXMPUtils::EncodeToBase64" ref="ef3b23bbc152480f699e269620ecad4a" args="(XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj *encodedStr)" -->
+</div>
+<a class="anchor" id="ae5bdd91c0c3ee9262dc0a8b9f591b921"></a><!-- doxytag: member="TXMPUtils::DecodeFromBase64" ref="ae5bdd91c0c3ee9262dc0a8b9f591b921" args="(XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj *rawStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::EncodeToBase64 </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DecodeFromBase64 </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>rawStr</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>encodedStr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>rawLen</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>encodedLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>encodedStr</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>rawStr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1446,82 +1550,65 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value to a Base64-encoded string.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string to raw data. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>An <code><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (char *) string containing the raw data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>rawLen</em>&nbsp;</td><td>The number of characters of raw data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>[out] A string object in which to return the encoded string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>An <code><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (char *) string containing the encoded data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>encodedLen</em>&nbsp;</td><td>The number of characters of raw data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>[out] A string object in which to return the decoded data. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="39d5de77b29441a30f2f879755b8e7d8"></a><!-- doxytag: member="TXMPUtils::EncodeToBase64" ref="39d5de77b29441a30f2f879755b8e7d8" args="(const tStringObj &amp;rawStr, tStringObj *encodedStr)" -->
+</div>
+<a class="anchor" id="aa17838f062e5414bc0929f67ac94a3aa"></a><!-- doxytag: member="TXMPUtils::DuplicateSubtree" ref="aa17838f062e5414bc0929f67ac94a3aa" args="(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS=0, XMP_StringPtr destRoot=0, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::EncodeToBase64 </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DuplicateSubtree </td>
<td>(</td>
- <td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>rawStr</em>, </td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>encodedStr</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
+ <td class="paramname"> <em>dest</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>sourceNS</em>, </td>
</tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value passed in a string object to a Base64-encoded string.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object as input. It is otherwise identical.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>A string object containing the raw data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>[out] A string object in which to return the encoded string. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="e5bdd91c0c3ee9262dc0a8b9f591b921"></a><!-- doxytag: member="TXMPUtils::DecodeFromBase64" ref="e5bdd91c0c3ee9262dc0a8b9f591b921" args="(XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj *rawStr)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DecodeFromBase64 </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>encodedStr</em>, </td>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>sourceRoot</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
- <td class="paramname"> <em>encodedLen</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>destNS</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>rawStr</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>destRoot</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1532,36 +1619,40 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string to raw data.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree()</a></code> replicates a subtree from one XMP object into another. </p>
+<p>The destination can be a different namespace and root location in the same object, or the same or a different location in another XMP object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>An <code><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (char *) string containing the encoded data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encodedLen</em>&nbsp;</td><td>The number of characters of raw data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>[out] A string object in which to return the decoded data. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source XMP object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination XMP object.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sourceNS</em>&nbsp;</td><td>The schema namespace URI for the source subtree.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sourceRoot</em>&nbsp;</td><td>The root location for the source subtree. Can be a general path expression, must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>destNS</em>&nbsp;</td><td>The schema namespace URI for the destination. Defaults to the source namespace.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>destRoot</em>&nbsp;</td><td>The root location for the destination. Can be a general path expression. Defaults to the source location.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the operation. &lt;&lt;options?&gt;&gt; </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="1e61e273065b10517ca127d5a553a8dc"></a><!-- doxytag: member="TXMPUtils::DecodeFromBase64" ref="1e61e273065b10517ca127d5a553a8dc" args="(const tStringObj &amp;encodedStr, tStringObj *rawStr)" -->
+</div>
+<a class="anchor" id="a39d5de77b29441a30f2f879755b8e7d8"></a><!-- doxytag: member="TXMPUtils::EncodeToBase64" ref="a39d5de77b29441a30f2f879755b8e7d8" args="(const tStringObj &amp;rawStr, tStringObj *encodedStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DecodeFromBase64 </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::EncodeToBase64 </td>
<td>(</td>
<td class="paramtype">const tStringObj &amp;&nbsp;</td>
- <td class="paramname"> <em>encodedStr</em>, </td>
+ <td class="paramname"> <em>rawStr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>rawStr</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>encodedStr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1572,48 +1663,41 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64()</a></code> Decodes a Base64-encoded string, passed as a string object, to raw data.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object as input. It is otherwise identical.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value passed in a string object to a Base64-encoded string. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object as input. It is otherwise identical.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>An string object containing the encoded data to be converted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>[out] A string object in which to return the decoded data. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>A string object containing the raw data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>[out] A string object in which to return the encoded string. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="6001b4ff54c60fdf0c40e6b78a5c457a"></a><!-- doxytag: member="TXMPUtils::PackageForJPEG" ref="6001b4ff54c60fdf0c40e6b78a5c457a" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)" -->
+</div>
+<a class="anchor" id="aef3b23bbc152480f699e269620ecad4a"></a><!-- doxytag: member="TXMPUtils::EncodeToBase64" ref="aef3b23bbc152480f699e269620ecad4a" args="(XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj *encodedStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::PackageForJPEG </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::EncodeToBase64 </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>xmpObj</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>standardXMP</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>rawStr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>extendedXMP</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>rawLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>extendedDigest</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>encodedStr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1624,30 +1708,26 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> creates XMP serializations appropriate for a JPEG file.
-<p>
-The standard XMP in a JPEG file is limited to 64K bytes. This function serializes the XMP metadata in an XMP object into a string of RDF (see <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>). If the data does not fit into the 64K byte limit, it creates a second packet string with the extended data.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64()</a></code> converts a raw data value to a Base64-encoded string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the metadata.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>standardXMP</em>&nbsp;</td><td>[out] A string object in which to return the full standard XMP packet.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extendedXMP</em>&nbsp;</td><td>[out] A string object in which to return the serialized extended XMP, empty if not needed.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extendedDigest</em>&nbsp;</td><td>[out] A string object in which to return an MD5 digest of the serialized extended XMP, empty if not needed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rawStr</em>&nbsp;</td><td>An <code><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a></code> (char *) string containing the raw data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>rawLen</em>&nbsp;</td><td>The number of characters of raw data to be converted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>encodedStr</em>&nbsp;</td><td>[out] A string object in which to return the encoded string. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="6187cd5fef0eccecac6805d4114dcd2e"></a><!-- doxytag: member="TXMPUtils::MergeFromJPEG" ref="6187cd5fef0eccecac6805d4114dcd2e" args="(TXMPMeta&lt; tStringObj &gt; *fullXMP, const TXMPMeta&lt; tStringObj &gt; &amp;extendedXMP)" -->
+</div>
+<a class="anchor" id="a6187cd5fef0eccecac6805d4114dcd2e"></a><!-- doxytag: member="TXMPUtils::MergeFromJPEG" ref="a6187cd5fef0eccecac6805d4114dcd2e" args="(TXMPMeta&lt; tStringObj &gt; *fullXMP, const TXMPMeta&lt; tStringObj &gt; &amp;extendedXMP)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::MergeFromJPEG </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::MergeFromJPEG </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
<td class="paramname"> <em>fullXMP</em>, </td>
@@ -1667,28 +1747,27 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> merges standard and extended XMP retrieved from a JPEG file.
-<p>
-When an extended partition stores properties that do not fit into the JPEG file limitation of 64K bytes, this function integrates those properties back into the same XMP object with those from the standard XMP packet.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> merges standard and extended XMP retrieved from a JPEG file. </p>
+<p>When an extended partition stores properties that do not fit into the JPEG file limitation of 64K bytes, this function integrates those properties back into the same XMP object with those from the standard XMP packet.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fullXMP</em>&nbsp;</td><td>[in, out] An XMP object which the caller has initialized from the standard XMP packet in a JPEG file. The extended XMP is added to this object.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>extendedXMP</em>&nbsp;</td><td>An XMP object which the caller has initialized from the extended XMP packet in a JPEG file.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="d7e1aa7928252fb88a24fb5c3aef22ba"></a><!-- doxytag: member="TXMPUtils::CatenateArrayItems" ref="d7e1aa7928252fb88a24fb5c3aef22ba" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj *catedStr)" -->
+</div>
+<a class="anchor" id="a6001b4ff54c60fdf0c40e6b78a5c457a"></a><!-- doxytag: member="TXMPUtils::PackageForJPEG" ref="a6001b4ff54c60fdf0c40e6b78a5c457a" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, tStringObj *standardXMP, tStringObj *extendedXMP, tStringObj *extendedDigest)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::CatenateArrayItems </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::PackageForJPEG </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -1696,38 +1775,20 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>separator</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>quotes</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>standardXMP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em>, </td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>extendedXMP</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>catedStr</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>extendedDigest</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1738,33 +1799,29 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code> creates a single edit string from a set of array item values.
-<p>
-Collects the values of all items in an array into a single string, using a specified separation string. Each item in the specified array must be a simple string value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG()</a></code> creates XMP serializations appropriate for a JPEG file. </p>
+<p>The standard XMP in a JPEG file is limited to 64K bytes. This function serializes the XMP metadata in an XMP object into a string of RDF (see <code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>). If the data does not fit into the 64K byte limit, it creates a second packet string with the extended data.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the array to be catenated.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The schema namespace URI for the array. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. May be a general path expression, must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>separator</em>&nbsp;</td><td>The string with which to separate the items in the catenated string. Defaults to "; ", ASCII semicolon and space (U+003B, U+0020).</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>quotes</em>&nbsp;</td><td>The character or characters to use as quotes around array items that contain a separator. Defaults to the double-quote character ("), ASCII quote (U+0022).</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the catenation. &lt;&lt;what options?&gt;&gt;</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>catedStr</em>&nbsp;</td><td>[out] A string object in which to return the catenated array items.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the metadata.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>standardXMP</em>&nbsp;</td><td>[out] A string object in which to return the full standard XMP packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>extendedXMP</em>&nbsp;</td><td>[out] A string object in which to return the serialized extended XMP, empty if not needed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>extendedDigest</em>&nbsp;</td><td>[out] A string object in which to return an MD5 digest of the serialized extended XMP, empty if not needed.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG()</a></code> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="66c5ddee47aa36ed906353f94ca18d2e"></a><!-- doxytag: member="TXMPUtils::SeparateArrayItems" ref="66c5ddee47aa36ed906353f94ca18d2e" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr)" -->
+</div>
+<a class="anchor" id="a40c645803530662e08d042b4b7c6190d"></a><!-- doxytag: member="TXMPUtils::RemoveProperties" ref="a40c645803530662e08d042b4b7c6190d" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS=0, XMP_StringPtr propName=0, XMP_OptionBits options=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SeparateArrayItems </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::RemoveProperties </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -1772,26 +1829,20 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>arrayName</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>catedStr</em></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1802,30 +1853,45 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values.
-<p>
-This reverses the action of <code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code>, separating out individual array items from the edit string and updating the array with the new values. Each item in the array must be a simple string value.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties()</a></code> removes multiple properties from an XMP object. </p>
+<p>The operation depends on how the namespace and property are specified:</p>
+<ul>
+<li>Non-empty <code>schemaNS</code> and <code>propName</code> - The named property is removed if it is an external property, or if the <code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. It does not matter whether the named property is an actual property or an alias.</li>
+</ul>
+<ul>
+<li>Non-empty <code>schemaNS</code> and empty <code>propName</code> - All external properties in the named schema are removed. Internal properties are also removed if the <code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. In addition, aliases from the named schema are removed if the <code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a></code> option flag is set.</li>
+</ul>
+<ul>
+<li>Empty <code>schemaNS</code> and empty <code>propName</code> - All external properties in all schemas are removed. Internal properties are also removed if the <code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. Aliases are handled implicitly, because the associated actuals are removed or not.</li>
+</ul>
+<ul>
+<li>It is an error to pass an empty <code>schemaNS</code> and non-empty <code>propName</code>.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the array to be updated.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The schema namespace URI for the array. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. May be a general path expression, must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the separation. &lt;&lt;what options?&gt;&gt;</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>catedStr</em>&nbsp;</td><td>The concatenated array items, as created by <code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code>, specified as a null-terminated UTF-8 string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the properties to be removed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI for the properties to be removed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>Optional path expression for the property to be removed.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the deletion operation. A logical OR of these bit-flag constants: </p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> - Delete internal properties in addition to external properties. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a></code> - Include aliases if the schema is explicitly specified. </li>
+</ul>
+</td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="1bb2ed614886ff67863744ec56041c43"></a><!-- doxytag: member="TXMPUtils::SeparateArrayItems" ref="1bb2ed614886ff67863744ec56041c43" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj &amp;catedStr)" -->
+</div>
+<a class="anchor" id="a1bb2ed614886ff67863744ec56041c43"></a><!-- doxytag: member="TXMPUtils::SeparateArrayItems" ref="a1bb2ed614886ff67863744ec56041c43" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj &amp;catedStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SeparateArrayItems </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SeparateArrayItems </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -1833,19 +1899,19 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
<td class="paramname"> <em>options</em>, </td>
</tr>
<tr>
@@ -1863,20 +1929,19 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values.
-<p>
-Overloads the basic form of the function, allowing you to pass a string object in which to return the concatenated string. It is otherwise identical; see details for the canonical form.
+<p><code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. </p>
+<p>Overloads the basic form of the function, allowing you to pass a string object in which to return the concatenated string. It is otherwise identical; see details for the canonical form. </p>
+
</div>
-</div><p>
-<a class="anchor" name="40c645803530662e08d042b4b7c6190d"></a><!-- doxytag: member="TXMPUtils::RemoveProperties" ref="40c645803530662e08d042b4b7c6190d" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS=0, XMP_StringPtr propName=0, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a66c5ddee47aa36ed906353f94ca18d2e"></a><!-- doxytag: member="TXMPUtils::SeparateArrayItems" ref="a66c5ddee47aa36ed906353f94ca18d2e" args="(TXMPMeta&lt; tStringObj &gt; *xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::RemoveProperties </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SeparateArrayItems </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
<td class="paramname"> <em>xmpObj</em>, </td>
@@ -1884,84 +1949,26 @@ template&lt;class tStringObj&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>schemaNS</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>propName</em> = <code>0</code>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties()</a></code> removes multiple properties from an XMP object.
-<p>
-The operation depends on how the namespace and property are specified:<p>
-<ul>
-<li>Non-empty <code>schemaNS</code> and <code>propName</code> - The named property is removed if it is an external property, or if the <code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. It does not matter whether the named property is an actual property or an alias.</li>
-</ul>
-<ul>
-<li>Non-empty <code>schemaNS</code> and empty <code>propName</code> - All external properties in the named schema are removed. Internal properties are also removed if the <code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. In addition, aliases from the named schema are removed if the <code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a></code> option flag is set.</li>
-</ul>
-<ul>
-<li>Empty <code>schemaNS</code> and empty <code>propName</code> - All external properties in all schemas are removed. Internal properties are also removed if the <code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> option flag is set. Aliases are handled implicitly, because the associated actuals are removed or not.</li>
-</ul>
-<ul>
-<li>It is an error to pass an empty <code>schemaNS</code> and non-empty <code>propName</code>.</li>
-</ul>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the properties to be removed.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI for the properties to be removed.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>Optional path expression for the property to be removed.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the deletion operation. A logical OR of these bit-flag constants: <ul>
-<li><code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a></code> - Delete internal properties in addition to external properties. </li>
-<li><code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a></code> - Include aliases if the schema is explicitly specified. </li>
-</ul>
-</td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="4795244ffcbda927800f789b0e40c262"></a><!-- doxytag: member="TXMPUtils::AppendProperties" ref="4795244ffcbda927800f789b0e40c262" args="(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_OptionBits options=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::AppendProperties </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>source</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>arrayName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
- <td class="paramname"> <em>dest</em>, </td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>catedStr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -1972,145 +1979,55 @@ template&lt;class tStringObj&gt; </div>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">AppendProperties()</a></code> adds or moves properties from one XMP object to another.
-<p>
-The default operation is to append only external properties that do not already exist in the destination. Option flags allow you to add internal properties, and to merge values of properties that exist in both the source and destination.<p>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a>:</code> Operate on all top-level properties, external and internal. You can use this flag together with <code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" title="Replace existing values, default is to leave them.">kXMPUtil_ReplaceOldValues</a></code> to replace the values of existing top-level properties.</li>
-</ul>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" title="Replace existing values, default is to leave them.">kXMPUtil_ReplaceOldValues</a>:</code> Propogate all top-level properties from the source to the destination, replacing any existing values. The values of properties in the destination that are not in the source are not modified.<br>
- The keep-or-replace-old notion also applies within structs and arrays. Top-level properties are added to the destination if they do not already exist. If they do exist but differ in form (simple/struct/array) then the destination is not modified. If the forms match, simple properties are left unchanged, while structs and arrays are merged.<br>
- Do not use this option when the processing is more complicated. &lt;&lt;than what??&gt;&gt;</li>
-</ul>
-<ul>
-<li><code><a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9" title="Delete properties if the new value is empty.">kXMPUtil_DeleteEmptyValues</a>:</code> An empty value in the source XMP causes the corresponding destination property to be deleted. By default, empty values are treated in the same way as non-empty values. An empty value is a simple empty string, an array with no items,or a struct with no fields. Qualifiers are ignored.</li>
-</ul>
-The detailed behavior is defined by the following pseudo-code:<p>
-<pre>
- AppendProperties ( sourceXMP, destXMP, options ):
- doAll = options &amp; kXMPUtil_DoAllProperties
- replaceOld = options &amp; kXMPUtil_ReplaceOldValues
- deleteEmpty = options &amp; kXMPUtil_DeleteEmptyValues
- for all source schema (top level namespaces):
- for all top level properties in sourceSchema:
- if doAll or prop is external:
- AppendSubtree ( sourceNode, destSchema, replaceOld, deleteEmpty )</pre><p>
-<pre> AppendSubtree ( sourceNode, destParent, replaceOld, deleteEmpty ):
- if deleteEmpty and source value is empty:
- delete the corresponding child from destParent
- else if sourceNode not in destParent (by name):
- copy sourceNode's subtree to destParent
- else if replaceOld:
- delete subtree from destParent
- copy sourceNode's subtree to destParent
- else: // (Already exists in dest and not replacing, merge structs and arrays)
- if sourceNode and destNode forms differ:
- return, leave the destNode alone
- else if form is a struct:
- for each field in sourceNode:
- AppendSubtree ( sourceNode.field, destNode, replaceOld )
- else if form is an alt-text array:
- copy new items by xml:lang value into the destination
- else if form is an array:
- copy new items by value into the destination, ignoring order and duplicates
- </pre><p>
-Array item checking is n-squared; this can be time-intensive if the replace-old options is not specified. Each source item is checked to see if it already exists in the destination, without regard to order or duplicates. Simple items are compared by value and <code>xml:lang</code> qualifier; other qualifiers are ignored. Structs are recursively compared by field names, without regard to field order. Arrays are compared by recursively comparing all items.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems()</a></code> updates an array from a concatenated edit string of values. </p>
+<p>This reverses the action of <code><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code>, separating out individual array items from the edit string and updating the array with the new values. Each item in the array must be a simple string value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source XMP object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination XMP object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the copying. A logical OR of these bit-flag constants: <ul>
-<li><code>kXMPUtil_DoAllProperties</code> - Operate on internal properties in addition to external properties. </li>
-<li><code>kXMPUtil_ReplaceOldValues</code> - Replace the values of existing properties. </li>
-<li><code>kXMPUtil_DeleteEmptyValues</code> - Delete properties if the new value is empty. </li>
-</ul>
-</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object containing the array to be updated.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>The schema namespace URI for the array. Must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array. May be a general path expression, must not be null or the empty string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the separation. &lt;&lt;what options?&gt;&gt;</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>catedStr</em>&nbsp;</td><td>The concatenated array items, as created by <code><a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems()</a></code>, specified as a null-terminated UTF-8 string. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="a17838f062e5414bc0929f67ac94a3aa"></a><!-- doxytag: member="TXMPUtils::DuplicateSubtree" ref="a17838f062e5414bc0929f67ac94a3aa" args="(const TXMPMeta&lt; tStringObj &gt; &amp;source, TXMPMeta&lt; tStringObj &gt; *dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS=0, XMP_StringPtr destRoot=0, XMP_OptionBits options=0)" -->
+</div>
+<a class="anchor" id="a96bcc45febac55f6c49951815b7de2ef"></a><!-- doxytag: member="TXMPUtils::SetTimeZone" ref="a96bcc45febac55f6c49951815b7de2ef" args="(XMP_DateTime *time)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class tStringObj&gt; </div>
+template&lt;class tStringObj &gt; </div>
<table class="memname">
<tr>
- <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::DuplicateSubtree </td>
+ <td class="memname">static void <a class="el" href="classTXMPUtils.html">TXMPUtils</a>&lt; tStringObj &gt;::SetTimeZone </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; *&nbsp;</td>
- <td class="paramname"> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>sourceNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>sourceRoot</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>destNS</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>destRoot</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [static]</code></td>
+ <td class="paramtype"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a> *&nbsp;</td>
+ <td class="paramname"> <em>time</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<code><a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree()</a></code> replicates a subtree from one XMP object into another.
-<p>
-The destination can be a different namespace and root location in the same object, or the same or a different location in another XMP object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p><code><a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone()</a></code> sets the time zone in a date/time value to the local time zone. </p>
+<p>Any existing time zone value is replaced. The other date/time fields are not adjusted in any way.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source XMP object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination XMP object.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sourceNS</em>&nbsp;</td><td>The schema namespace URI for the source subtree.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sourceRoot</em>&nbsp;</td><td>The root location for the source subtree. Can be a general path expression, must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>destNS</em>&nbsp;</td><td>The schema namespace URI for the destination. Defaults to the source namespace.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>destRoot</em>&nbsp;</td><td>The root location for the destination. Can be a general path expression. Defaults to the source location.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the operation. &lt;&lt;options?&gt;&gt; </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>A pointer to the date-time value, which is modified in place. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="TXMPUtils_8hpp-source.html">TXMPUtils.hpp</a></ul>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPUtils_8hpp_source.html">TXMPUtils.hpp</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classXMP__Error-members.html b/docs/API/classXMP__Error-members.html
index 5696bce..a78da12 100644
--- a/docs/API/classXMP__Error-members.html
+++ b/docs/API/classXMP__Error-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,14 +63,14 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_Error Member List</h1>This is the complete list of members for <a class="el" href="classXMP__Error.html">XMP_Error</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a></td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153">GetErrMsg</a>() const </td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">GetID</a>() const </td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">id</a></td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">XMP_Error</a>(XMP_Int32 _id, XMP_StringPtr _errMsg)</td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
+<h1>XMP_Error Member List</h1>This is the complete list of members for <a class="el" href="classXMP__Error.html">XMP_Error</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">errMsg</a></td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classXMP__Error.html#a9a3560c67612dec9a6ca37c34eb2c153">GetErrMsg</a>() const </td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd">GetID</a>() const </td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125">id</a></td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa">XMP_Error</a>(XMP_Int32 _id, XMP_StringPtr _errMsg)</td><td><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td><code> [inline]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classXMP__Error.html b/docs/API/classXMP__Error.html
index f782a34..5b33661 100644
--- a/docs/API/classXMP__Error.html
+++ b/docs/API/classXMP__Error.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_Error Class Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP_Error Class Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,43 +63,38 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_Error Class Reference</h1><!-- doxytag: class="XMP_Error" -->XMP Toolkit error, associates an error code with a descriptive error string.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a>&gt;</code>
-<p>
+<h1>XMP_Error Class Reference</h1><!-- doxytag: class="XMP_Error" -->
+<p>XMP Toolkit error, associates an error code with a descriptive error string.
+<a href="#_details">More...</a></p>
-<p>
-<a href="classXMP__Error-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">XMP_Error</a> (XMP_Int32 _id, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> _errMsg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <a href="#a8b3b859899759d679b00237254e30aa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="56aaa6fc6644ccfc9470ae1af8f3a8cd"></a><!-- doxytag: member="XMP_Error::GetID" ref="56aaa6fc6644ccfc9470ae1af8f3a8cd" args="() const " -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">GetID</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the numeric code from an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a3560c67612dec9a6ca37c34eb2c153"></a><!-- doxytag: member="XMP_Error::GetErrMsg" ref="9a3560c67612dec9a6ca37c34eb2c153" args="() const " -->
-<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153">GetErrMsg</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the descriptive string from an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <br></td></tr>
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad714bd7c428e10eff07a8ab6a4f3125"></a><!-- doxytag: member="XMP_Error::id" ref="ad714bd7c428e10eff07a8ab6a4f3125" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">id</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception code. See constants <code><a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581" title="Generic unknown error.">kXMPErr_Unknown</a></code> and following. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a></td></tr>
+<p><code>#include &lt;<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>&gt;</code></p>
+<p><a href="classXMP__Error-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa">XMP_Error</a> (XMP_Int32 _id, <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> _errMsg)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <a href="#aa8b3b859899759d679b00237254e30aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56aaa6fc6644ccfc9470ae1af8f3a8cd"></a><!-- doxytag: member="XMP_Error::GetID" ref="a56aaa6fc6644ccfc9470ae1af8f3a8cd" args="() const " -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd">GetID</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the numeric code from an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a3560c67612dec9a6ca37c34eb2c153"></a><!-- doxytag: member="XMP_Error::GetErrMsg" ref="a9a3560c67612dec9a6ca37c34eb2c153" args="() const " -->
+<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#a9a3560c67612dec9a6ca37c34eb2c153">GetErrMsg</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the descriptive string from an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. <br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad714bd7c428e10eff07a8ab6a4f3125"></a><!-- doxytag: member="XMP_Error::id" ref="aad714bd7c428e10eff07a8ab6a4f3125" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125">id</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception code. See constants <code><a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581" title="Generic unknown error.">kXMPErr_Unknown</a></code> and following. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">errMsg</a></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-XMP Toolkit error, associates an error code with a descriptive error string. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a8b3b859899759d679b00237254e30aa"></a><!-- doxytag: member="XMP_Error::XMP_Error" ref="a8b3b859899759d679b00237254e30aa" args="(XMP_Int32 _id, XMP_StringPtr _errMsg)" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>XMP Toolkit error, associates an error code with a descriptive error string. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa8b3b859899759d679b00237254e30aa"></a><!-- doxytag: member="XMP_Error::XMP_Error" ref="aa8b3b859899759d679b00237254e30aa" args="(XMP_Int32 _id, XMP_StringPtr _errMsg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">XMP_Error::XMP_Error </td>
+ <td class="memname">XMP_Error::XMP_Error </td>
<td>(</td>
<td class="paramtype">XMP_Int32&nbsp;</td>
<td class="paramname"> <em>_id</em>, </td>
@@ -107,7 +102,7 @@ XMP Toolkit error, associates an error code with a descriptive error string. <hr
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
<td class="paramname"> <em>_errMsg</em></td><td>&nbsp;</td>
</tr>
<tr>
@@ -119,38 +114,37 @@ XMP Toolkit error, associates an error code with a descriptive error string. <hr
</div>
<div class="memdoc">
-<p>
-Constructor for an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Constructor for an <a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_id</em>&nbsp;</td><td>The numeric code.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>_errMsg</em>&nbsp;</td><td>The descriptive string, for debugging use only. It must not be shown to users in a final product. It is written for developers, not users, and never localized. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="31fd80098e50026985e05abd16f3e045"></a><!-- doxytag: member="XMP_Error::errMsg" ref="31fd80098e50026985e05abd16f3e045" args="" -->
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a31fd80098e50026985e05abd16f3e045"></a><!-- doxytag: member="XMP_Error::errMsg" ref="a31fd80098e50026985e05abd16f3e045" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> <a class="el" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">XMP_Error::errMsg</a><code> [private]</code> </td>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> <a class="el" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">XMP_Error::errMsg</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>Descriptive string, for debugging use only. It must not be shown to users in a final product. It is written for developers, not users, and never localized. </p>
-<p>
-Descriptive string, for debugging use only. It must not be shown to users in a final product. It is written for developers, not users, and never localized.
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a></ul>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/classes.html b/docs/API/classes.html
new file mode 100644
index 0000000..46d3737
--- /dev/null
+++ b/docs/API/classes.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-5.1.2: Alphabetical List</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.6.3 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTXMPUtils.html">TXMPUtils</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTXMPMeta.html">TXMPMeta</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classXMP__Error.html">XMP_Error</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></div>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
+</body>
+</html>
diff --git a/docs/API/files.html b/docs/API/files.html
index 5767a96..e515319 100644
--- a/docs/API/files.html
+++ b/docs/API/files.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: File Index</title>
+<title>XMP-Toolkit-SDK-5.1.2: File Index</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -64,19 +64,19 @@ window.onload = initDynSections;
</div>
<div class="contents">
<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="TXMPFiles_8hpp.html">TXMPFiles.hpp</a> <a href="TXMPFiles_8hpp-source.html">[code]</a></td><td class="indexvalue">API for access to the main (document-level) metadata in a file_ </td></tr>
+ <tr><td class="indexkey"><a class="el" href="TXMPFiles_8hpp.html">TXMPFiles.hpp</a> <a href="TXMPFiles_8hpp_source.html">[code]</a></td><td class="indexvalue">API for access to the main (document-level) metadata in a file_ </td></tr>
<tr><td class="indexkey"><a class="el" href="TXMPFiles_8incl__cpp.html">TXMPFiles.incl_cpp</a></td><td class="indexvalue">The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class </td></tr>
- <tr><td class="indexkey"><a class="el" href="TXMPIterator_8hpp.html">TXMPIterator.hpp</a> <a href="TXMPIterator_8hpp-source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit iteration services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="TXMPIterator_8hpp.html">TXMPIterator.hpp</a> <a href="TXMPIterator_8hpp_source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit iteration services </td></tr>
<tr><td class="indexkey"><a class="el" href="TXMPIterator_8incl__cpp.html">TXMPIterator.incl_cpp</a></td><td class="indexvalue">The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class </td></tr>
- <tr><td class="indexkey"><a class="el" href="TXMPMeta_8hpp.html">TXMPMeta.hpp</a> <a href="TXMPMeta_8hpp-source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit core services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="TXMPMeta_8hpp.html">TXMPMeta.hpp</a> <a href="TXMPMeta_8hpp_source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit core services </td></tr>
<tr><td class="indexkey"><a class="el" href="TXMPMeta_8incl__cpp.html">TXMPMeta.incl_cpp</a></td><td class="indexvalue">The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class </td></tr>
- <tr><td class="indexkey"><a class="el" href="TXMPUtils_8hpp.html">TXMPUtils.hpp</a> <a href="TXMPUtils_8hpp-source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit utility services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="TXMPUtils_8hpp.html">TXMPUtils.hpp</a> <a href="TXMPUtils_8hpp_source.html">[code]</a></td><td class="indexvalue">API for access to the XMP Toolkit utility services </td></tr>
<tr><td class="indexkey"><a class="el" href="TXMPUtils_8incl__cpp.html">TXMPUtils.incl_cpp</a></td><td class="indexvalue">The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class </td></tr>
<tr><td class="indexkey"><a class="el" href="XMP_8incl__cpp.html">XMP.incl_cpp</a></td><td class="indexvalue">Overall client glue file for the XMP toolkit </td></tr>
- <tr><td class="indexkey"><a class="el" href="XMP__Const_8h.html">XMP_Const.h</a> <a href="XMP__Const_8h-source.html">[code]</a></td><td class="indexvalue">Common C/C++ types and constants for the XMP toolkit </td></tr>
+ <tr><td class="indexkey"><a class="el" href="XMP__Const_8h.html">XMP_Const.h</a> <a href="XMP__Const_8h_source.html">[code]</a></td><td class="indexvalue">Common C/C++ types and constants for the XMP toolkit </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/functions.html b/docs/API/functions.html
index 265b526..74d189e 100644
--- a/docs/API/functions.html
+++ b/docs/API/functions.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -96,346 +96,497 @@ window.onload = initDynSections;
</div>
<div class="contents">
Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
<li>AppendArrayItem()
-: <a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a">TXMPMeta&lt; tStringObj &gt;</a>
-<li>AppendProperties()
-: <a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
+<li>ApplyTemplate()
+: <a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
<li>build
-: <a class="el" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc">XMP_VersionInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
<li>CanPutXMP()
-: <a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CatenateArrayItems()
-: <a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>charForm
-: <a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">XMP_PacketInfo</a>
+</li>
<li>CheckFileFormat()
-: <a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CheckPackageFormat()
-: <a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>Clone()
-: <a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>CloseFile()
-: <a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CompareDateTime()
-: <a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeArrayItemPath()
-: <a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeFieldSelector()
-: <a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeLangSelector()
-: <a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeQualifierPath()
-: <a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeStructFieldPath()
-: <a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromBool()
-: <a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromDate()
-: <a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromFloat()
-: <a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromInt()
-: <a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromInt64()
-: <a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToBool()
-: <a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToDate()
-: <a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToFloat()
-: <a class="el" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a8a507b006286460814e0486c622d828c">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToInt()
-: <a class="el" href="classTXMPUtils.html#47d93f9cb4acd9d7ec6b450100209bec">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a47d93f9cb4acd9d7ec6b450100209bec">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToInt64()
-: <a class="el" href="classTXMPUtils.html#711cae0cb1b673ff5e208b4ae458d120">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a711cae0cb1b673ff5e208b4ae458d120">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToLocalTime()
-: <a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToUTCTime()
-: <a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>CountArrayItems()
-: <a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>CurrentDateTime()
-: <a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
<li>day
-: <a class="el" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094">XMP_DateTime</a>
+</li>
<li>DecodeFromBase64()
-: <a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921">TXMPUtils&lt; tStringObj &gt;</a>
-<li>DeleteAlias()
-: <a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>DeleteArrayItem()
-: <a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
+<li>DeleteLocalizedText()
+: <a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteNamespace()
-: <a class="el" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a3f989597e95db929676273cacd4ea09a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteProperty()
-: <a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteQualifier()
-: <a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteStructField()
-: <a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesArrayItemExist()
-: <a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesPropertyExist()
-: <a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesQualifierExist()
-: <a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesStructFieldExist()
-: <a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5">TXMPMeta&lt; tStringObj &gt;</a>
-<li>DumpAliases()
-: <a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DumpNamespaces()
-: <a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DumpObject()
-: <a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DuplicateSubtree()
-: <a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
<li>EncodeToBase64()
-: <a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>Erase()
-: <a class="el" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>errMsg
-: <a class="el" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">XMP_Error</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>fileFormat
-: <a class="el" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">XMP_ThumbnailInfo</a>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
<li>flags
-: <a class="el" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">XMP_VersionInfo</a>
-<li>fullOrientation
-: <a class="el" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">XMP_ThumbnailInfo</a>
-<li>fullWidth
-: <a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74">XMP_VersionInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
<li>GetArrayItem()
-: <a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetErrMsg()
-: <a class="el" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#a9a3560c67612dec9a6ca37c34eb2c153">XMP_Error</a>
+</li>
<li>GetFileInfo()
-: <a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetFormatInfo()
-: <a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetGlobalOptions()
-: <a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetID()
-: <a class="el" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd">XMP_Error</a>
+</li>
<li>GetInternalRef()
-: <a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0">TXMPMeta&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0">TXMPMeta&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetLocalizedText()
-: <a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetNamespacePrefix()
-: <a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetNamespaceURI()
-: <a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetObjectName()
-: <a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetObjectOptions()
-: <a class="el" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a0bfc04142a35671a4c8989fcaca6d6c2">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty()
-: <a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Bool()
-: <a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Date()
-: <a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Float()
-: <a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Int()
-: <a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Int64()
-: <a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetQualifier()
-: <a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetStructField()
-: <a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94">TXMPMeta&lt; tStringObj &gt;</a>
-<li>GetThumbnail()
-: <a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetVersionInfo()
-: <a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetXMP()
-: <a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>hasDate
+: <a class="el" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8">XMP_DateTime</a>
+</li>
+<li>hasTime
+: <a class="el" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268">XMP_DateTime</a>
+</li>
+<li>hasTimeZone
+: <a class="el" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e">XMP_DateTime</a>
+</li>
<li>hasWrapper
-: <a class="el" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">XMP_PacketInfo</a>
+</li>
<li>hour
-: <a class="el" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f">XMP_DateTime</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
<li>id
-: <a class="el" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125">XMP_Error</a>
+</li>
<li>Initialize()
-: <a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c">TXMPMeta&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c">TXMPMeta&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPFiles.html#a794e1830a84a6328eaa1995ba5aa6874">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>isDebug
-: <a class="el" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018">XMP_VersionInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
<li>length
-: <a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">XMP_PacketInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
<li>major
-: <a class="el" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb">XMP_VersionInfo</a>
+</li>
<li>MergeFromJPEG()
-: <a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>message
-: <a class="el" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834">XMP_VersionInfo</a>
+</li>
<li>micro
-: <a class="el" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28">XMP_VersionInfo</a>
+</li>
<li>minor
-: <a class="el" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317">XMP_VersionInfo</a>
+</li>
<li>minute
-: <a class="el" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf">XMP_DateTime</a>
+</li>
<li>month
-: <a class="el" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f">XMP_DateTime</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
<li>nanoSecond
-: <a class="el" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c">XMP_DateTime</a>
+</li>
<li>Next()
-: <a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
<li>offset
-: <a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">XMP_PacketInfo</a>
+</li>
<li>OpenFile()
-: <a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>operator=()
-: <a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">TXMPIterator&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a3f1483fcc92860460d3772216dfaef81">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63">TXMPIterator&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a4d5a601c9b77f6f6ab5f14e658de58ef">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
<li>PackageForJPEG()
-: <a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>pad
-: <a class="el" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">XMP_PacketInfo</a>
-<li>pad1
-: <a class="el" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">XMP_PacketInfo</a>
+</li>
<li>padSize
-: <a class="el" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">XMP_PacketInfo</a>
+</li>
<li>ParseFromBuffer()
-: <a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>PutXMP()
-: <a class="el" href="classTXMPFiles.html#502ed01119e0421413e773f4f42683ec">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a502ed01119e0421413e773f4f42683ec">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>RegisterAlias()
-: <a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a">TXMPMeta&lt; tStringObj &gt;</a>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
<li>RegisterNamespace()
-: <a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1">TXMPMeta&lt; tStringObj &gt;</a>
-<li>RegisterStandardAliases()
-: <a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>RemoveProperties()
-: <a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d">TXMPUtils&lt; tStringObj &gt;</a>
-<li>ResolveAlias()
-: <a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
<li>second
-: <a class="el" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b">XMP_DateTime</a>
+</li>
<li>SeparateArrayItems()
-: <a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>SerializeToBuffer()
-: <a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetAbortProc()
-: <a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>SetArrayItem()
-: <a class="el" href="classTXMPMeta.html#15720ee8e732232fa25989870cf99846">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a15720ee8e732232fa25989870cf99846">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetGlobalOptions()
-: <a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetLocalizedText()
-: <a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetObjectName()
-: <a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetObjectOptions()
-: <a class="el" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a92055b3ae18dfd5e5491108f59318f17">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty()
-: <a class="el" href="classTXMPMeta.html#cc50625611f6aad405aa47197b6d0055">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#acc50625611f6aad405aa47197b6d0055">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Bool()
-: <a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Date()
-: <a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Float()
-: <a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Int()
-: <a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Int64()
-: <a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetQualifier()
-: <a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetStructField()
-: <a class="el" href="classTXMPMeta.html#77d4a1bf7831f39073af9ea1544ebefa">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a77d4a1bf7831f39073af9ea1544ebefa">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetTimeZone()
-: <a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>Skip()
-: <a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>Sort()
-: <a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
<li>Terminate()
-: <a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865">TXMPMeta&lt; tStringObj &gt;</a>
-<li>tnailFormat
-: <a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">XMP_ThumbnailInfo</a>
-<li>tnailImage
-: <a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">XMP_ThumbnailInfo</a>
-<li>tnailSize
-: <a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">XMP_ThumbnailInfo</a>
-<li>tnailWidth
-: <a class="el" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">XMP_ThumbnailInfo</a>
+: <a class="el" href="classTXMPFiles.html#a1e8de80c252b60b332dc4bc524139fd8">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>TXMPFiles()
-: <a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a36abe01988d4ca3939138e871c7b75e7">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>TXMPIterator()
-: <a class="el" href="classTXMPIterator.html#b0965286a8cabeafc92fdc52f643003f">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>TXMPMeta()
-: <a class="el" href="classTXMPMeta.html#cbe8f556a5b32542c44fa9de9648ad41">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a61ffb3aa3e387d8ff9c1f4ebd26606c7">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>tzHour
-: <a class="el" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4">XMP_DateTime</a>
+</li>
<li>tzMinute
-: <a class="el" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1">XMP_DateTime</a>
+</li>
<li>tzSign
-: <a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">XMP_DateTime</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
<li>writeable
-: <a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">XMP_PacketInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_x">- x -</a></h3><ul>
<li>XMP_Error()
-: <a class="el" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa">XMP_Error</a>
+</li>
<li>XMP_PacketInfo()
-: <a class="el" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>
-<li>XMP_ThumbnailInfo()
-: <a class="el" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_y">- y -</a></h3><ul>
<li>year
-: <a class="el" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad">XMP_DateTime</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
<li>~TXMPFiles()
-: <a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a5eaa92724cc82d933a32eff9c4636739">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>~TXMPIterator()
-: <a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>~TXMPMeta()
-: <a class="el" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abab5013870cd47eb0d9d701653735a02">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/functions_func.html b/docs/API/functions_func.html
index e9ed7cb..4c40587 100644
--- a/docs/API/functions_func.html
+++ b/docs/API/functions_func.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members - Functions</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members - Functions</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -90,266 +90,386 @@ window.onload = initDynSections;
</div>
<div class="contents">
&nbsp;
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
<li>AppendArrayItem()
-: <a class="el" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a">TXMPMeta&lt; tStringObj &gt;</a>
-<li>AppendProperties()
-: <a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a00d7314dc970ad390499ce9db27d314a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
+<li>ApplyTemplate()
+: <a class="el" href="classTXMPUtils.html#ab73bfa15116e6d702044542e0a43cce9">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
<li>CanPutXMP()
-: <a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a29a11a1539d6300da3fb4c7e9ea02bb6">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CatenateArrayItems()
-: <a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ad7e1aa7928252fb88a24fb5c3aef22ba">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>CheckFileFormat()
-: <a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a07b7c4b44fb0e0a7d115ddd5ba22f926">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CheckPackageFormat()
-: <a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a7f505664c41d7304fb757d6009b0751c">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>Clone()
-: <a class="el" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a6ca653436995bbb76315efe7934afd4c">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>CloseFile()
-: <a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#aeca89170c7aa3e2d56e30bff04dd7927">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>CompareDateTime()
-: <a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeArrayItemPath()
-: <a class="el" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a47fa195aa2e1457aa1f74f7e1ed06da6">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeFieldSelector()
-: <a class="el" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a458f8e8729e2334fe54ca8f691a9db23">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeLangSelector()
-: <a class="el" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae4989e5c199a2a4287ee3ae89b872e69">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeQualifierPath()
-: <a class="el" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a40ae0ce2065fcb71725e37137884e172">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ComposeStructFieldPath()
-: <a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromBool()
-: <a class="el" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a509691eb270988de6a770c9c8304ab6b">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromDate()
-: <a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromFloat()
-: <a class="el" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae67ef3931836432b7e574832f0610ed0">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromInt()
-: <a class="el" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aeec45b4d1a26717290105c9f4e8b4235">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertFromInt64()
-: <a class="el" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aeae4617e05358433015eaa80953c5e60">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToBool()
-: <a class="el" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aaaaaadb23f4089daa795f50cba4f405c">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToDate()
-: <a class="el" href="classTXMPUtils.html#265559d1b4b78e34a460e935c11177d7">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a265559d1b4b78e34a460e935c11177d7">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToFloat()
-: <a class="el" href="classTXMPUtils.html#abd4e479d2708a9ea3135cd441faa7ea">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aabd4e479d2708a9ea3135cd441faa7ea">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToInt()
-: <a class="el" href="classTXMPUtils.html#47d93f9cb4acd9d7ec6b450100209bec">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a47d93f9cb4acd9d7ec6b450100209bec">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToInt64()
-: <a class="el" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#abe5d2dcc03c5442202203bba5ca7b172">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToLocalTime()
-: <a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ConvertToUTCTime()
-: <a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>CountArrayItems()
-: <a class="el" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ab79aae864b3ce190d0699252f48e0acc">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>CurrentDateTime()
-: <a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
<li>DecodeFromBase64()
-: <a class="el" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921">TXMPUtils&lt; tStringObj &gt;</a>
-<li>DeleteAlias()
-: <a class="el" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#ae5bdd91c0c3ee9262dc0a8b9f591b921">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>DeleteArrayItem()
-: <a class="el" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abc1211f47225b5973a170ff952743264">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
+<li>DeleteLocalizedText()
+: <a class="el" href="classTXMPMeta.html#aeb7679e92b126800b7bd906acb2f26e8">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteNamespace()
-: <a class="el" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a3f989597e95db929676273cacd4ea09a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteProperty()
-: <a class="el" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac8b555ba99904fa49bb4851a60cc3844">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteQualifier()
-: <a class="el" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a8ce15f7de7fd3b258f07158ab5fa88be">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DeleteStructField()
-: <a class="el" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abc258e027780a15be65a88fcfd4e1fd4">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesArrayItemExist()
-: <a class="el" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a492465c588d6d4cb8e30f94790e66f58">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesPropertyExist()
-: <a class="el" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af22b116d71ecbbebea016ec5337e7066">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesQualifierExist()
-: <a class="el" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a81347a92becd387a14f4d47c582f129a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DoesStructFieldExist()
-: <a class="el" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5">TXMPMeta&lt; tStringObj &gt;</a>
-<li>DumpAliases()
-: <a class="el" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a9261b80d62e77a10ff1a89843bfa10a5">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DumpNamespaces()
-: <a class="el" href="classTXMPMeta.html#addc5f555de57472939a41346e276817">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aaddc5f555de57472939a41346e276817">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DumpObject()
-: <a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a466fa349c9765f39ca6b1450908e769f">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>DuplicateSubtree()
-: <a class="el" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aa17838f062e5414bc0929f67ac94a3aa">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
<li>EncodeToBase64()
-: <a class="el" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#aef3b23bbc152480f699e269620ecad4a">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>Erase()
-: <a class="el" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#adf57895625ad118782ed48a3931848b7">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
<li>GetArrayItem()
-: <a class="el" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac64a4251d157937f69b73f2ffac4f7cc">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetErrMsg()
-: <a class="el" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#a9a3560c67612dec9a6ca37c34eb2c153">XMP_Error</a>
+</li>
<li>GetFileInfo()
-: <a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#af9931d081cb19f98c81e41786030765b">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetFormatInfo()
-: <a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#acb9e16a1477ec67fa6da6d736a9bc131">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetGlobalOptions()
-: <a class="el" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a12b2435ba039c62a164951948c016eb4">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetID()
-: <a class="el" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#a56aaa6fc6644ccfc9470ae1af8f3a8cd">XMP_Error</a>
+</li>
<li>GetInternalRef()
-: <a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0">TXMPMeta&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#afbfebded0b85b08bd9c5ba0d7dae07e0">TXMPMeta&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPFiles.html#a311fc36fdf7270fe05b1c531cdbbd009">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>GetLocalizedText()
-: <a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetNamespacePrefix()
-: <a class="el" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af28589472d8c0397db6cef868f2b8c97">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetNamespaceURI()
-: <a class="el" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aa20c84e7549d0a3252fa29a1e83a757a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetObjectName()
-: <a class="el" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ab0d179ed95487d4fd4f2680c1fbe0d40">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetObjectOptions()
-: <a class="el" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a0bfc04142a35671a4c8989fcaca6d6c2">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty()
-: <a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Bool()
-: <a class="el" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#adcf8a1959a8bd42641a42cbd4d64a5b7">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Date()
-: <a class="el" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a2f561295e73047ee90765558d29bd650">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Float()
-: <a class="el" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7708c31c9af3e740b27a4893dcd9aa47">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Int()
-: <a class="el" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ae4e8ee4cc7441bb9464dac87f2d74650">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetProperty_Int64()
-: <a class="el" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af91fa4bc4f51a56e35bcfb554783b050">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetQualifier()
-: <a class="el" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a2cc58d8316043b035643e7c21633bc13">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetStructField()
-: <a class="el" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94">TXMPMeta&lt; tStringObj &gt;</a>
-<li>GetThumbnail()
-: <a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a885ef7127b897e349f71fa493ace3c94">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetVersionInfo()
-: <a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a6e521c034728b59ab55213a9d8203d1e">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a5415cfc01a9cb8786939246571a23a9d">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>GetXMP()
-: <a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
<li>Initialize()
-: <a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c">TXMPMeta&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a0874bbbf41c9490abfb613bfe297327d">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#af1defbb73f919eae06456a655dea726c">TXMPMeta&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPFiles.html#a794e1830a84a6328eaa1995ba5aa6874">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
<li>MergeFromJPEG()
-: <a class="el" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6187cd5fef0eccecac6805d4114dcd2e">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
<li>Next()
-: <a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
<li>OpenFile()
-: <a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>operator=()
-: <a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">TXMPIterator&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63">TXMPIterator&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPFiles.html#a3f1483fcc92860460d3772216dfaef81">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a4d5a601c9b77f6f6ab5f14e658de58ef">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
<li>PackageForJPEG()
-: <a class="el" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a6001b4ff54c60fdf0c40e6b78a5c457a">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>ParseFromBuffer()
-: <a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>PutXMP()
-: <a class="el" href="classTXMPFiles.html#da77eab74c3440659db3122f6ec8b7f4">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#ada77eab74c3440659db3122f6ec8b7f4">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>RegisterAlias()
-: <a class="el" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a">TXMPMeta&lt; tStringObj &gt;</a>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
<li>RegisterNamespace()
-: <a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1">TXMPMeta&lt; tStringObj &gt;</a>
-<li>RegisterStandardAliases()
-: <a class="el" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>RemoveProperties()
-: <a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d">TXMPUtils&lt; tStringObj &gt;</a>
-<li>ResolveAlias()
-: <a class="el" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a40c645803530662e08d042b4b7c6190d">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
<li>SeparateArrayItems()
-: <a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a66c5ddee47aa36ed906353f94ca18d2e">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>SerializeToBuffer()
-: <a class="el" href="classTXMPMeta.html#0d98bc15bdb0f45737b15fc6822f3bc6">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a0d98bc15bdb0f45737b15fc6822f3bc6">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetAbortProc()
-: <a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a7b86c130fdbd54b5ac158ec3fee93777">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>SetArrayItem()
-: <a class="el" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a1570eb89d613b4a94ca572e4644168cc">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetGlobalOptions()
-: <a class="el" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ae7bb38d9b3857b08106630a386b47332">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetLocalizedText()
-: <a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetObjectName()
-: <a class="el" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#acf1935be8e4849976dfc02325424960a">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetObjectOptions()
-: <a class="el" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a92055b3ae18dfd5e5491108f59318f17">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty()
-: <a class="el" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a1dfd6a08ebfd1a6364b3a7b6584bcc28">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Bool()
-: <a class="el" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a9521e3838272ec501ffdb60ff3eb482f">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Date()
-: <a class="el" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#aeee10669445f77139d5634199ff01079">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Float()
-: <a class="el" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a3b0f2f6bae57931ea96775f03608c0ed">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Int()
-: <a class="el" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a489e10a6686aa813ee437e93ab2c5943">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetProperty_Int64()
-: <a class="el" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a7f749be7699890bbaa2e2dbd05d45a90">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetQualifier()
-: <a class="el" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ac2e798da5f9d94e486382a41e73fcea3">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetStructField()
-: <a class="el" href="classTXMPMeta.html#77d4a1bf7831f39073af9ea1544ebefa">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a77d4a1bf7831f39073af9ea1544ebefa">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>SetTimeZone()
-: <a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef">TXMPUtils&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef">TXMPUtils&lt; tStringObj &gt;</a>
+</li>
<li>Skip()
-: <a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>Sort()
-: <a class="el" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#a8ac5a02a13d439ff33ed4431986da681">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
<li>Terminate()
-: <a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">TXMPFiles&lt; tStringObj &gt;</a>
-, <a class="el" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a1e8de80c252b60b332dc4bc524139fd8">TXMPFiles&lt; tStringObj &gt;</a>
+, <a class="el" href="classTXMPMeta.html#a6c30fae26173167958b6f0da95a53865">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
<li>TXMPFiles()
-: <a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a36abe01988d4ca3939138e871c7b75e7">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>TXMPIterator()
-: <a class="el" href="classTXMPIterator.html#88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>TXMPMeta()
-: <a class="el" href="classTXMPMeta.html#da43d63894350e23a4307c41b7335eca">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#ada43d63894350e23a4307c41b7335eca">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_x">- x -</a></h3><ul>
<li>XMP_Error()
-: <a class="el" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#aa8b3b859899759d679b00237254e30aa">XMP_Error</a>
+</li>
<li>XMP_PacketInfo()
-: <a class="el" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>
-<li>XMP_ThumbnailInfo()
-: <a class="el" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
<li>~TXMPFiles()
-: <a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">TXMPFiles&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPFiles.html#a5eaa92724cc82d933a32eff9c4636739">TXMPFiles&lt; tStringObj &gt;</a>
+</li>
<li>~TXMPIterator()
-: <a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">TXMPIterator&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196">TXMPIterator&lt; tStringObj &gt;</a>
+</li>
<li>~TXMPMeta()
-: <a class="el" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02">TXMPMeta&lt; tStringObj &gt;</a>
+: <a class="el" href="classTXMPMeta.html#abab5013870cd47eb0d9d701653735a02">TXMPMeta&lt; tStringObj &gt;</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/functions_vars.html b/docs/API/functions_vars.html
index 513f375..497ca05 100644
--- a/docs/API/functions_vars.html
+++ b/docs/API/functions_vars.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members - Variables</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members - Variables</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -68,132 +68,99 @@ window.onload = initDynSections;
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
- <div class="tabs">
- <ul>
- <li><a href="#index_b"><span>b</span></a></li>
- <li><a href="#index_c"><span>c</span></a></li>
- <li><a href="#index_d"><span>d</span></a></li>
- <li><a href="#index_e"><span>e</span></a></li>
- <li><a href="#index_f"><span>f</span></a></li>
- <li><a href="#index_h"><span>h</span></a></li>
- <li><a href="#index_i"><span>i</span></a></li>
- <li><a href="#index_l"><span>l</span></a></li>
- <li><a href="#index_m"><span>m</span></a></li>
- <li><a href="#index_n"><span>n</span></a></li>
- <li><a href="#index_o"><span>o</span></a></li>
- <li><a href="#index_p"><span>p</span></a></li>
- <li><a href="#index_s"><span>s</span></a></li>
- <li><a href="#index_t"><span>t</span></a></li>
- <li><a href="#index_w"><span>w</span></a></li>
- <li><a href="#index_y"><span>y</span></a></li>
- </ul>
- </div>
</div>
<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+&nbsp;<ul>
<li>build
-: <a class="el" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">XMP_VersionInfo</a>
-</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+: <a class="el" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc">XMP_VersionInfo</a>
+</li>
<li>charForm
-: <a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">XMP_PacketInfo</a>
-</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+: <a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">XMP_PacketInfo</a>
+</li>
<li>day
-: <a class="el" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+: <a class="el" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094">XMP_DateTime</a>
+</li>
<li>errMsg
-: <a class="el" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">XMP_Error</a>
-</ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>fileFormat
-: <a class="el" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">XMP_ThumbnailInfo</a>
+: <a class="el" href="classXMP__Error.html#a31fd80098e50026985e05abd16f3e045">XMP_Error</a>
+</li>
<li>flags
-: <a class="el" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">XMP_VersionInfo</a>
-<li>fullOrientation
-: <a class="el" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">XMP_ThumbnailInfo</a>
-<li>fullWidth
-: <a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">XMP_ThumbnailInfo</a>
-</ul>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+: <a class="el" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74">XMP_VersionInfo</a>
+</li>
+<li>hasDate
+: <a class="el" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8">XMP_DateTime</a>
+</li>
+<li>hasTime
+: <a class="el" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268">XMP_DateTime</a>
+</li>
+<li>hasTimeZone
+: <a class="el" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e">XMP_DateTime</a>
+</li>
<li>hasWrapper
-: <a class="el" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">XMP_PacketInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">XMP_PacketInfo</a>
+</li>
<li>hour
-: <a class="el" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+: <a class="el" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f">XMP_DateTime</a>
+</li>
<li>id
-: <a class="el" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">XMP_Error</a>
+: <a class="el" href="classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125">XMP_Error</a>
+</li>
<li>isDebug
-: <a class="el" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">XMP_VersionInfo</a>
-</ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+: <a class="el" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018">XMP_VersionInfo</a>
+</li>
<li>length
-: <a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">XMP_PacketInfo</a>
-</ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+: <a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">XMP_PacketInfo</a>
+</li>
<li>major
-: <a class="el" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb">XMP_VersionInfo</a>
+</li>
<li>message
-: <a class="el" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834">XMP_VersionInfo</a>
+</li>
<li>micro
-: <a class="el" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28">XMP_VersionInfo</a>
+</li>
<li>minor
-: <a class="el" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">XMP_VersionInfo</a>
+: <a class="el" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317">XMP_VersionInfo</a>
+</li>
<li>minute
-: <a class="el" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf">XMP_DateTime</a>
+</li>
<li>month
-: <a class="el" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+: <a class="el" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f">XMP_DateTime</a>
+</li>
<li>nanoSecond
-: <a class="el" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+: <a class="el" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c">XMP_DateTime</a>
+</li>
<li>offset
-: <a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">XMP_PacketInfo</a>
-</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+: <a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">XMP_PacketInfo</a>
+</li>
<li>pad
-: <a class="el" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">XMP_PacketInfo</a>
-<li>pad1
-: <a class="el" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">XMP_PacketInfo</a>
+</li>
<li>padSize
-: <a class="el" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">XMP_PacketInfo</a>
-</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+: <a class="el" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">XMP_PacketInfo</a>
+</li>
<li>second
-: <a class="el" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>tnailFormat
-: <a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">XMP_ThumbnailInfo</a>
-<li>tnailImage
-: <a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">XMP_ThumbnailInfo</a>
-<li>tnailSize
-: <a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">XMP_ThumbnailInfo</a>
-<li>tnailWidth
-: <a class="el" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">XMP_ThumbnailInfo</a>
+: <a class="el" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b">XMP_DateTime</a>
+</li>
<li>tzHour
-: <a class="el" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4">XMP_DateTime</a>
+</li>
<li>tzMinute
-: <a class="el" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1">XMP_DateTime</a>
+</li>
<li>tzSign
-: <a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime</a>
-</ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+: <a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">XMP_DateTime</a>
+</li>
<li>writeable
-: <a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">XMP_PacketInfo</a>
-</ul>
-<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+: <a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">XMP_PacketInfo</a>
+</li>
<li>year
-: <a class="el" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">XMP_DateTime</a>
+: <a class="el" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad">XMP_DateTime</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/globals.html b/docs/API/globals.html
index f112192..3811980 100644
--- a/docs/API/globals.html
+++ b/docs/API/globals.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -78,427 +78,623 @@ window.onload = initDynSections;
</div>
<div class="contents">
Here is a list of all documented file members with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
<li>kXMP_AEFilterPresetFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0">XMP_Const.h</a>
+</li>
<li>kXMP_AEProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e">XMP_Const.h</a>
+</li>
<li>kXMP_AEProjTemplateFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df">XMP_Const.h</a>
+</li>
<li>kXMP_AIFFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3">XMP_Const.h</a>
+</li>
<li>kXMP_ArrayLastItem
-: <a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317">XMP_Const.h</a>
+</li>
<li>kXMP_AVCHDFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2">XMP_Const.h</a>
+</li>
<li>kXMP_AVIFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e">XMP_Const.h</a>
+</li>
<li>kXMP_CELFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789">XMP_Const.h</a>
+</li>
<li>kXMP_Char16BitBig
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d">XMP_Const.h</a>
+</li>
<li>kXMP_Char16BitLittle
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa">XMP_Const.h</a>
+</li>
<li>kXMP_Char32BitBig
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc">XMP_Const.h</a>
+</li>
<li>kXMP_Char32BitLittle
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e">XMP_Const.h</a>
+</li>
<li>kXMP_Char8Bit
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637">XMP_Const.h</a>
+</li>
<li>kXMP_CharUnknown
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b">XMP_Const.h</a>
+</li>
<li>kXMP_CINFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb">XMP_Const.h</a>
+</li>
<li>kXMP_DeleteExisting
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF16Big
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF16Little
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF32Big
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF32Little
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF8
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab">XMP_Const.h</a>
+</li>
<li>kXMP_EncodingMask
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845">XMP_Const.h</a>
+</li>
<li>kXMP_EncoreProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a">XMP_Const.h</a>
+</li>
<li>kXMP_EPSFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e">XMP_Const.h</a>
+</li>
<li>kXMP_ExactPacketLength
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6">XMP_Const.h</a>
+</li>
<li>kXMP_FalseStr
-: <a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278">XMP_Const.h</a>
+</li>
<li>kXMP_FLAFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9">XMP_Const.h</a>
+</li>
<li>kXMP_FLVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f">XMP_Const.h</a>
+</li>
<li>kXMP_GIFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06">XMP_Const.h</a>
+</li>
<li>kXMP_HTMLFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760">XMP_Const.h</a>
+</li>
<li>kXMP_IllustratorFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554">XMP_Const.h</a>
+</li>
<li>kXMP_ImplReservedMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974">XMP_Const.h</a>
+</li>
<li>kXMP_IncludeThumbnailPad
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a">XMP_Const.h</a>
+</li>
<li>kXMP_InDesignFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60">XMP_Const.h</a>
+</li>
<li>kXMP_InsertAfterItem
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05">XMP_Const.h</a>
+</li>
<li>kXMP_InsertBeforeItem
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f">XMP_Const.h</a>
+</li>
<li>kXMP_IterAliases
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9">XMP_Const.h</a>
+</li>
<li>kXMP_IterClassMask
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">XMP_Const.h</a>
-<li>kXMP_IterIncludeAliases
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustChildren
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustLeafName
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustLeafNodes
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19">XMP_Const.h</a>
+</li>
<li>kXMP_IterNamespaces
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b">XMP_Const.h</a>
+</li>
<li>kXMP_IterOmitQualifiers
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101">XMP_Const.h</a>
+</li>
<li>kXMP_IterProperties
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b">XMP_Const.h</a>
+</li>
<li>kXMP_IterSkipSiblings
-: <a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12">XMP_Const.h</a>
+</li>
<li>kXMP_IterSkipSubtree
-: <a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e">XMP_Const.h</a>
+</li>
<li>kXMP_JPEG2KFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d">XMP_Const.h</a>
+</li>
<li>kXMP_JPEGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">XMP_Const.h</a>
-<li>kXMP_JPEGTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487">XMP_Const.h</a>
+</li>
<li>kXMP_MOVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37">XMP_Const.h</a>
+</li>
<li>kXMP_MP3File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b">XMP_Const.h</a>
+</li>
<li>kXMP_MPEG2File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a">XMP_Const.h</a>
+</li>
<li>kXMP_MPEG4File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91">XMP_Const.h</a>
+</li>
<li>kXMP_MPEGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8">XMP_Const.h</a>
+</li>
<li>kXMP_NoOptions
-: <a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_DC
-: <a class="el" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a44453f0d0a1dd295d41722c2387b36fa">XMP_Const.h</a>
+</li>
<li>kXMP_NS_EXIF
-: <a class="el" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ad12182e1df1652f56b5eec60c1fcdd8f">XMP_Const.h</a>
+</li>
<li>kXMP_NS_IPTCCore
-: <a class="el" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab794d3d798daf75a963398347dcbb79b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_PDF
-: <a class="el" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0bcb67d0dd0922504e3da7ca5c40c82a">XMP_Const.h</a>
+</li>
<li>kXMP_NS_Photoshop
-: <a class="el" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa1a6f38ebfcdb281c5bf2809859167c7">XMP_Const.h</a>
+</li>
<li>kXMP_NS_RDF
-: <a class="el" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a276fac0f70893607afa3f09030ad84c7">XMP_Const.h</a>
+</li>
<li>kXMP_NS_TIFF
-: <a class="el" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a673355818b7b9224e8fec0fbc60ba00c">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XML
-: <a class="el" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a97564c70460d1f235c8a41b8ac40cfe9">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP
-: <a class="el" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a030875c9dc0861c9251a3374ca14a376">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_BJ
-: <a class="el" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a308e156c325618acb2172e550929ebee">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Dimensions
-: <a class="el" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9618e013619aa92ebc808b62243d2ba8">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_IdentifierQual
-: <a class="el" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab466db52a4b85cecfa04710682c1e671">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Image
-: <a class="el" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a935641acc7d01e782ad7a457a7ff338b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_MM
-: <a class="el" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ac67379a9ffa425d0d7976a51c4f2f754">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ResourceEvent
-: <a class="el" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a861613273127156050b456eee11f6b0a">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ResourceRef
-: <a class="el" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9bf51f2653400645f7b5087e8c4e1c77">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Rights
-: <a class="el" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ae52d761e5a4fc8c8499215d2f3d82b90">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ST_Job
-: <a class="el" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ac7dc4d65bcbba2862e410cc8cfdff6f6">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ST_Version
-: <a class="el" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab4923bed71ab29c6aa88debe8816c0a2">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_T
-: <a class="el" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0a2d9c5f7beb27553214a7ad1df4f27e">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_T_PG
-: <a class="el" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a39afb495ffb24bb3082493c6811e65d0">XMP_Const.h</a>
+</li>
<li>kXMP_OmitAllFormatting
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29">XMP_Const.h</a>
+</li>
<li>kXMP_OmitPacketWrapper
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76">XMP_Const.h</a>
+</li>
<li>kXMP_OmitXMPMetaElement
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856">XMP_Const.h</a>
+</li>
<li>kXMP_P2File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34">XMP_Const.h</a>
+</li>
<li>kXMP_PacketInfoVersion
-: <a class="el" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817">XMP_Const.h</a>
+</li>
<li>kXMP_ParseMoreBuffers
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e">XMP_Const.h</a>
+</li>
<li>kXMP_PDFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb">XMP_Const.h</a>
+</li>
<li>kXMP_PhotoshopFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c">XMP_Const.h</a>
+</li>
<li>kXMP_PNGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371">XMP_Const.h</a>
+</li>
<li>kXMP_PostScriptFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70">XMP_Const.h</a>
+</li>
<li>kXMP_PremiereProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d">XMP_Const.h</a>
+</li>
<li>kXMP_PremiereTitleFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayFormMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsAlternate
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsAltText
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsOrdered
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsUnordered
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayLocationMask
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df">XMP_Const.h</a>
+</li>
<li>kXMP_PropCompositeMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasAliases
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasLang
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasQualifiers
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasType
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsAlias
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsDerived
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsInternal
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsQualifier
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsStable
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsArray
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsStruct
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsURI
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueOptionsMask
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">XMP_Const.h</a>
-<li>kXMP_PShopTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465">XMP_Const.h</a>
+</li>
<li>kXMP_ReadOnlyPacket
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6">XMP_Const.h</a>
+</li>
<li>kXMP_RequireXMPMeta
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400">XMP_Const.h</a>
+</li>
<li>kXMP_SESFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9">XMP_Const.h</a>
+</li>
<li>kXMP_SonyHDVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e">XMP_Const.h</a>
+</li>
<li>kXMP_StrictAliasing
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1">XMP_Const.h</a>
+</li>
<li>kXMP_SWFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597">XMP_Const.h</a>
+</li>
<li>kXMP_TextFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">XMP_Const.h</a>
-<li>kXMP_ThumbnailInfoVersion
-: <a class="el" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd">XMP_Const.h</a>
+</li>
<li>kXMP_TIFFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">XMP_Const.h</a>
-<li>kXMP_TIFFTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08">XMP_Const.h</a>
+</li>
<li>kXMP_TimeEastOfUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec">XMP_Const.h</a>
+</li>
<li>kXMP_TimeIsUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13">XMP_Const.h</a>
+</li>
<li>kXMP_TimeWestOfUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801">XMP_Const.h</a>
+</li>
<li>kXMP_TrueStr
-: <a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141">XMP_Const.h</a>
+</li>
<li>kXMP_UCFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96">XMP_Const.h</a>
+</li>
<li>kXMP_UnknownFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">XMP_Const.h</a>
-<li>kXMP_UnknownTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719">XMP_Const.h</a>
+</li>
<li>kXMP_UseCompactFormat
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb">XMP_Const.h</a>
+</li>
<li>kXMP_UseNullTermination
-: <a class="el" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab">XMP_Const.h</a>
+</li>
<li>kXMP_WAVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8">XMP_Const.h</a>
+</li>
<li>kXMP_WMAVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">XMP_Const.h</a>
-<li>kXMP_WriteAliasComments
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_EXFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_FAMFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_SAMFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852">XMP_Const.h</a>
+</li>
<li>kXMP_XMLFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124">XMP_Const.h</a>
+</li>
<li>kXMPErr_AssertFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadFileFormat
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIndex
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIPTC
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIterPosition
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadJPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadMPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadObject
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadOptions
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadParam
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadParse
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadPSD
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadPSIR
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadRDF
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadSchema
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadSerialize
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadTIFF
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadUnicode
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadValue
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXML
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXMP
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXPath
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7">XMP_Const.h</a>
+</li>
<li>kXMPErr_Deprecated
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7">XMP_Const.h</a>
+</li>
<li>kXMPErr_EmptyIterator
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179">XMP_Const.h</a>
+</li>
<li>kXMPErr_EnforceFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b">XMP_Const.h</a>
+</li>
<li>kXMPErr_ExternalFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb">XMP_Const.h</a>
+</li>
<li>kXMPErr_InternalFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0">XMP_Const.h</a>
+</li>
<li>kXMPErr_NoFileHandler
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795">XMP_Const.h</a>
+</li>
<li>kXMPErr_NoMemory
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813">XMP_Const.h</a>
+</li>
<li>kXMPErr_StdException
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb">XMP_Const.h</a>
+</li>
<li>kXMPErr_TBD
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1">XMP_Const.h</a>
+</li>
<li>kXMPErr_TooLargeForJPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unavailable
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unimplemented
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unknown
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581">XMP_Const.h</a>
+</li>
<li>kXMPErr_UnknownException
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4">XMP_Const.h</a>
+</li>
<li>kXMPErr_UserAbort
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195">XMP_Const.h</a>
+</li>
<li>kXMPFiles_AllowsOnlyXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733">XMP_Const.h</a>
+</li>
<li>kXMPFiles_AllowsSafeUpdate
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanExpand
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanInjectXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanReconcile
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanRewrite
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07">XMP_Const.h</a>
+</li>
<li>kXMPFiles_FolderBasedFormat
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd">XMP_Const.h</a>
+</li>
<li>kXMPFiles_HandlerOwnsFile
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4">XMP_Const.h</a>
+</li>
+<li>kXMPFiles_IgnoreLocalText
+: <a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50">XMP_Const.h</a>
+</li>
<li>kXMPFiles_NeedsReadOnlyPacket
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">XMP_Const.h</a>
-<li>kXMPFiles_NoQuickTimeInit
-: <a class="el" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">XMP_Const.h</a>
-<li>kXMPFiles_OpenCacheTNail
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenForRead
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenForUpdate
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">XMP_Const.h</a>
-<li>kXMPFiles_OpenInBackground
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenLimitedScanning
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenOnlyXMP
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenRepairFile
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenStrictly
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenUsePacketScanning
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenUseSmartHandler
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646">XMP_Const.h</a>
+</li>
<li>kXMPFiles_PrefersInPlace
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3">XMP_Const.h</a>
+</li>
<li>kXMPFiles_ReturnsRawPacket
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">XMP_Const.h</a>
-<li>kXMPFiles_ReturnsTNail
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea">XMP_Const.h</a>
+</li>
+<li>kXMPFiles_ServerMode
+: <a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UnknownLength
-: <a class="el" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UnknownOffset
-: <a class="el" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UpdateSafely
-: <a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UsesSidecarXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_AddNewProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ClearUnnamedProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_IncludeInternalProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ReplaceExistingProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ReplaceWithDeleteEmpty
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5">XMP_Const.h</a>
+</li>
<li>kXMPTS_Maybe
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584">XMP_Const.h</a>
+</li>
<li>kXMPTS_No
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90">XMP_Const.h</a>
+</li>
<li>kXMPTS_Yes
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e">XMP_Const.h</a>
+</li>
<li>kXMPUtil_AllowCommas
-: <a class="el" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506">XMP_Const.h</a>
+</li>
<li>kXMPUtil_DeleteEmptyValues
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9">XMP_Const.h</a>
+</li>
<li>kXMPUtil_DoAllProperties
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb">XMP_Const.h</a>
+</li>
<li>kXMPUtil_IncludeAliases
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b">XMP_Const.h</a>
+</li>
<li>kXMPUtil_ReplaceOldValues
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962">XMP_Const.h</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/globals_0x78.html b/docs/API/globals_0x78.html
index a5233f9..4928519 100644
--- a/docs/API/globals_0x78.html
+++ b/docs/API/globals_0x78.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -78,83 +78,122 @@ window.onload = initDynSections;
</div>
<div class="contents">
Here is a list of all documented file members with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+
+<h3><a class="anchor" id="index_x">- x -</a></h3><ul>
<li>XMP_AbortProc
-: <a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsAlternate
-: <a class="el" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a86bc34c4e64dec75618c348163a88720">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsAltText
-: <a class="el" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abbef21da7bce1491f780586c3e01cd9e">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsOrdered
-: <a class="el" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a72c7077f3ff3e39804a899533867327d">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsUnordered
-: <a class="el" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8d763b3d36c7067cd7bccd32d4066b43">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIs16Bit
-: <a class="el" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa7596216164335f926cb91d600cddf99">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIs32Bit
-: <a class="el" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a1e99ef08266943f52f5c649ab2836ddf">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIsBigEndian
-: <a class="el" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aba2539629b8d238fc56a1901dd07ebca">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIsLittleEndian
-: <a class="el" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_Const.h</a>
+</li>
<li>XMP_CharFromSerializeForm
-: <a class="el" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a93e7900e6c9fb4057dfd685b5201057d">XMP_Const.h</a>
+</li>
<li>XMP_CharToSerializeForm
-: <a class="el" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8f522964919b742b4138c79611997bae">XMP_Const.h</a>
+</li>
<li>XMP_ClearOption
-: <a class="el" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_Const.h</a>
+</li>
<li>XMP_FileFormat
-: <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_Const.h</a>
+</li>
<li>XMP_GetCharSize
-: <a class="el" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a85bbf023b1b799c3c20176aa289d32b0">XMP_Const.h</a>
+</li>
<li>XMP_Index
-: <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Const.h</a>
+</li>
<li>XMP_NodeIsSchema
-: <a class="el" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a12870d8442720ce5230791abc26f9597">XMP_Const.h</a>
+</li>
<li>XMP_OptionBits
-: <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_Const.h</a>
+</li>
<li>XMP_OptionIsClear
-: <a class="el" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a1d41f53bd1d5c88fad8322ce15e39516">XMP_Const.h</a>
+</li>
<li>XMP_OptionIsSet
-: <a class="el" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aba3edaa921326c7916adb0b70b1bcfb4">XMP_Const.h</a>
+</li>
<li>XMP_PropHasLang
-: <a class="el" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a7dc82df90f45b0d746b67d8fdc529c83">XMP_Const.h</a>
+</li>
<li>XMP_PropHasQualifiers
-: <a class="el" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a10828aa191aa666aa1166c27beead2a6">XMP_Const.h</a>
+</li>
<li>XMP_PropIsAlias
-: <a class="el" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a193b1414fa5312da2aa1d833b85612d0">XMP_Const.h</a>
+</li>
<li>XMP_PropIsArray
-: <a class="el" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a98ae521b621cfa3611211e3922a0fce8">XMP_Const.h</a>
+</li>
<li>XMP_PropIsQualifier
-: <a class="el" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_Const.h</a>
+</li>
<li>XMP_PropIsSimple
-: <a class="el" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a510b75338bd488ddd8d9bd4e326806f9">XMP_Const.h</a>
+</li>
<li>XMP_PropIsStruct
-: <a class="el" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aebea8c35e09da7db613e27d0e3ce945f">XMP_Const.h</a>
+</li>
<li>XMP_SetOption
-: <a class="el" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a69c4d1b80c4dd581366e0c60209ef612">XMP_Const.h</a>
+</li>
<li>XMP_Status
-: <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Const.h</a>
+</li>
<li>XMP_StringLen
-: <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_Const.h</a>
+</li>
<li>XMP_StringPtr
-: <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_Const.h</a>
+</li>
<li>XMP_TestOption
-: <a class="el" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa31596e850cb6b208f5920833d67b9f1">XMP_Const.h</a>
+</li>
<li>XMP_TextOutputProc
-: <a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_Const.h</a>
+</li>
+<li>XMP_VersionInfo
+: <a class="el" href="XMP__Const_8h.html#a57250ff934e642191654ae49c3a2c6c9">XMP_Const.h</a>
+</li>
<li>XMPDocOpsRef
-: <a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">XMP_Const.h</a>
+</li>
<li>XMPFilesRef
-: <a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMP_Const.h</a>
+</li>
<li>XMPIteratorRef
-: <a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMP_Const.h</a>
+</li>
<li>XMPMetaRef
-: <a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMP_Const.h</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/globals_defs.html b/docs/API/globals_defs.html
index f2a3b2d..72a8ee0 100644
--- a/docs/API/globals_defs.html
+++ b/docs/API/globals_defs.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -78,117 +78,171 @@ window.onload = initDynSections;
</div>
<div class="contents">
&nbsp;
-<p>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
<li>kXMP_ArrayLastItem
-: <a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9549b9a138a896257b5a70176d125317">XMP_Const.h</a>
+</li>
<li>kXMP_FalseStr
-: <a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a2dc55b533ed63ed7ff0c3be16a97e278">XMP_Const.h</a>
+</li>
<li>kXMP_NoOptions
-: <a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_DC
-: <a class="el" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a44453f0d0a1dd295d41722c2387b36fa">XMP_Const.h</a>
+</li>
<li>kXMP_NS_EXIF
-: <a class="el" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ad12182e1df1652f56b5eec60c1fcdd8f">XMP_Const.h</a>
+</li>
<li>kXMP_NS_IPTCCore
-: <a class="el" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab794d3d798daf75a963398347dcbb79b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_PDF
-: <a class="el" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0bcb67d0dd0922504e3da7ca5c40c82a">XMP_Const.h</a>
+</li>
<li>kXMP_NS_Photoshop
-: <a class="el" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa1a6f38ebfcdb281c5bf2809859167c7">XMP_Const.h</a>
+</li>
<li>kXMP_NS_RDF
-: <a class="el" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a276fac0f70893607afa3f09030ad84c7">XMP_Const.h</a>
+</li>
<li>kXMP_NS_TIFF
-: <a class="el" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a673355818b7b9224e8fec0fbc60ba00c">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XML
-: <a class="el" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a97564c70460d1f235c8a41b8ac40cfe9">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP
-: <a class="el" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a030875c9dc0861c9251a3374ca14a376">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_BJ
-: <a class="el" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a308e156c325618acb2172e550929ebee">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Dimensions
-: <a class="el" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9618e013619aa92ebc808b62243d2ba8">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_IdentifierQual
-: <a class="el" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab466db52a4b85cecfa04710682c1e671">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Image
-: <a class="el" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a935641acc7d01e782ad7a457a7ff338b">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_MM
-: <a class="el" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ac67379a9ffa425d0d7976a51c4f2f754">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ResourceEvent
-: <a class="el" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a861613273127156050b456eee11f6b0a">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ResourceRef
-: <a class="el" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9bf51f2653400645f7b5087e8c4e1c77">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_Rights
-: <a class="el" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ae52d761e5a4fc8c8499215d2f3d82b90">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ST_Job
-: <a class="el" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ac7dc4d65bcbba2862e410cc8cfdff6f6">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_ST_Version
-: <a class="el" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab4923bed71ab29c6aa88debe8816c0a2">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_T
-: <a class="el" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0a2d9c5f7beb27553214a7ad1df4f27e">XMP_Const.h</a>
+</li>
<li>kXMP_NS_XMP_T_PG
-: <a class="el" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a39afb495ffb24bb3082493c6811e65d0">XMP_Const.h</a>
+</li>
<li>kXMP_TrueStr
-: <a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a4c39e0131b0e3d7db66e1cfa82b67141">XMP_Const.h</a>
+</li>
<li>kXMP_UseNullTermination
-: <a class="el" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8283c9596c03b6d626d5a2b7a90e23ab">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UnknownLength
-: <a class="el" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UnknownOffset
-: <a class="el" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">XMP_Const.h</a>
+</li>
</ul>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+
+
+<h3><a class="anchor" id="index_x">- x -</a></h3><ul>
<li>XMP_ArrayIsAlternate
-: <a class="el" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a86bc34c4e64dec75618c348163a88720">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsAltText
-: <a class="el" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abbef21da7bce1491f780586c3e01cd9e">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsOrdered
-: <a class="el" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a72c7077f3ff3e39804a899533867327d">XMP_Const.h</a>
+</li>
<li>XMP_ArrayIsUnordered
-: <a class="el" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8d763b3d36c7067cd7bccd32d4066b43">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIs16Bit
-: <a class="el" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa7596216164335f926cb91d600cddf99">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIs32Bit
-: <a class="el" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a1e99ef08266943f52f5c649ab2836ddf">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIsBigEndian
-: <a class="el" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aba2539629b8d238fc56a1901dd07ebca">XMP_Const.h</a>
+</li>
<li>XMP_CharFormIsLittleEndian
-: <a class="el" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_Const.h</a>
+</li>
<li>XMP_CharFromSerializeForm
-: <a class="el" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a93e7900e6c9fb4057dfd685b5201057d">XMP_Const.h</a>
+</li>
<li>XMP_CharToSerializeForm
-: <a class="el" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8f522964919b742b4138c79611997bae">XMP_Const.h</a>
+</li>
<li>XMP_ClearOption
-: <a class="el" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_Const.h</a>
+</li>
<li>XMP_GetCharSize
-: <a class="el" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a85bbf023b1b799c3c20176aa289d32b0">XMP_Const.h</a>
+</li>
<li>XMP_NodeIsSchema
-: <a class="el" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a12870d8442720ce5230791abc26f9597">XMP_Const.h</a>
+</li>
<li>XMP_OptionIsClear
-: <a class="el" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a1d41f53bd1d5c88fad8322ce15e39516">XMP_Const.h</a>
+</li>
<li>XMP_OptionIsSet
-: <a class="el" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aba3edaa921326c7916adb0b70b1bcfb4">XMP_Const.h</a>
+</li>
<li>XMP_PropHasLang
-: <a class="el" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a7dc82df90f45b0d746b67d8fdc529c83">XMP_Const.h</a>
+</li>
<li>XMP_PropHasQualifiers
-: <a class="el" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a10828aa191aa666aa1166c27beead2a6">XMP_Const.h</a>
+</li>
<li>XMP_PropIsAlias
-: <a class="el" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a193b1414fa5312da2aa1d833b85612d0">XMP_Const.h</a>
+</li>
<li>XMP_PropIsArray
-: <a class="el" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a98ae521b621cfa3611211e3922a0fce8">XMP_Const.h</a>
+</li>
<li>XMP_PropIsQualifier
-: <a class="el" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_Const.h</a>
+</li>
<li>XMP_PropIsSimple
-: <a class="el" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a510b75338bd488ddd8d9bd4e326806f9">XMP_Const.h</a>
+</li>
<li>XMP_PropIsStruct
-: <a class="el" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aebea8c35e09da7db613e27d0e3ce945f">XMP_Const.h</a>
+</li>
<li>XMP_SetOption
-: <a class="el" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a69c4d1b80c4dd581366e0c60209ef612">XMP_Const.h</a>
+</li>
<li>XMP_TestOption
-: <a class="el" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa31596e850cb6b208f5920833d67b9f1">XMP_Const.h</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/globals_eval.html b/docs/API/globals_eval.html
index 1f633db..12f9f28 100644
--- a/docs/API/globals_eval.html
+++ b/docs/API/globals_eval.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -77,371 +77,539 @@ window.onload = initDynSections;
</div>
<div class="contents">
&nbsp;
-<p>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
<li>kXMP_AEFilterPresetFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafd8d3d1c8c84bc6ab773f1298b3938f0">XMP_Const.h</a>
+</li>
<li>kXMP_AEProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5fb9e99541bbb2d8e375d0cc9fd92a2e">XMP_Const.h</a>
+</li>
<li>kXMP_AEProjTemplateFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dada5b138722448c4d4595fe760668c3df">XMP_Const.h</a>
+</li>
<li>kXMP_AIFFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf093d01e7e9cc55a7d1e204498521fc3">XMP_Const.h</a>
+</li>
<li>kXMP_AVCHDFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dafc5ff976e78df2d79d651de818b011f2">XMP_Const.h</a>
+</li>
<li>kXMP_AVIFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae3a6333624e5c292caf14ad849a5e26e">XMP_Const.h</a>
+</li>
<li>kXMP_CELFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da6c949ee85f42eaaed035591338be6789">XMP_Const.h</a>
+</li>
<li>kXMP_Char16BitBig
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea0966bca9b241646f6a730f96c5c14a2d">XMP_Const.h</a>
+</li>
<li>kXMP_Char16BitLittle
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea19b97b941d6586031190025225ee0eaa">XMP_Const.h</a>
+</li>
<li>kXMP_Char32BitBig
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea87f8231aec6dd125baf77c9f3f918fbc">XMP_Const.h</a>
+</li>
<li>kXMP_Char32BitLittle
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea859e7aa88e7dfd3f55ad2b6445a4708e">XMP_Const.h</a>
+</li>
<li>kXMP_Char8Bit
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9eaf5b20dd9abbef29169a362b265049637">XMP_Const.h</a>
+</li>
<li>kXMP_CharUnknown
-: <a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea6c37f0724299a9c88e2f622d3246d63b">XMP_Const.h</a>
+</li>
<li>kXMP_CINFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad2935ea79b4f9253891e3a68a002c5bb">XMP_Const.h</a>
+</li>
<li>kXMP_DeleteExisting
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04addd07b4a38b25ab3841e28a9cb169d1c">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF16Big
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea310e4cbf639e783163778566b439f01d">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF16Little
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eafc6417e382c98a2d507830de62fd4830">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF32Big
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea793e99d9ea83f0aadd5b4193a95ea713">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF32Little
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eae0137d98ea990fa23d292489031ba09e">XMP_Const.h</a>
+</li>
<li>kXMP_EncodeUTF8
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadc8f241694f5a758e5ee3f6db69d02ab">XMP_Const.h</a>
+</li>
<li>kXMP_EncodingMask
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eaeb79571cac99ee97feefb0347b1c1845">XMP_Const.h</a>
+</li>
<li>kXMP_EncoreProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dae28efb65bde55f3f8ddfd1fd8a168e2a">XMP_Const.h</a>
+</li>
<li>kXMP_EPSFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad947e6da0c4d923195d93e0c53a79c4e">XMP_Const.h</a>
+</li>
<li>kXMP_ExactPacketLength
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadb35599da481cc22ea6342b7b4de6bc6">XMP_Const.h</a>
+</li>
<li>kXMP_FLAFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab1eeba00d1d92e313acfe68cd054daf9">XMP_Const.h</a>
+</li>
<li>kXMP_FLVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da455bc501088bbd8061fe3ea386a5066f">XMP_Const.h</a>
+</li>
<li>kXMP_GIFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da851d2f4525d705cd2dcabb540d0ddc06">XMP_Const.h</a>
+</li>
<li>kXMP_HTMLFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da542634e6051139c44fd7b92d08c64760">XMP_Const.h</a>
+</li>
<li>kXMP_IllustratorFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da82935c41c6222ff4cca954278f18e554">XMP_Const.h</a>
+</li>
<li>kXMP_ImplReservedMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ae154b58429b257b18963ba3503e67974">XMP_Const.h</a>
+</li>
<li>kXMP_IncludeThumbnailPad
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea0b659b3b544c7a5a076fbd3132cd7f7a">XMP_Const.h</a>
+</li>
<li>kXMP_InDesignFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da79cbf96ecc4ac3e0ebfb2d182bc75e60">XMP_Const.h</a>
+</li>
<li>kXMP_InsertAfterItem
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a98cedd5fa29d47abb2ac8903ac7f5a05">XMP_Const.h</a>
+</li>
<li>kXMP_InsertBeforeItem
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04a873411f673fc2a6337083fd024df727f">XMP_Const.h</a>
+</li>
<li>kXMP_IterAliases
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a3333450505cd3712320aeac895e541b9">XMP_Const.h</a>
+</li>
<li>kXMP_IterClassMask
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">XMP_Const.h</a>
-<li>kXMP_IterIncludeAliases
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a93f77b837d89759af3a721712c13f044">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustChildren
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635ab26e1a38d1d0343fcc5bdaab1b60e3ed">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustLeafName
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635acf22e638f4144bcec8207b2ab69bb344">XMP_Const.h</a>
+</li>
<li>kXMP_IterJustLeafNodes
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a4589f99b5b4a55e785e3baf4fe1d9b19">XMP_Const.h</a>
+</li>
<li>kXMP_IterNamespaces
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa325d9ffba68a934f0a0a0f6ecfc2f7b">XMP_Const.h</a>
+</li>
<li>kXMP_IterOmitQualifiers
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635a1b91947105ae68c48c5d5e36aa70d101">XMP_Const.h</a>
+</li>
<li>kXMP_IterProperties
-: <a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a726ca809ffd3d67ab4b8476646f26635aa0643c076a3b3737ff88ed20f16afd2b">XMP_Const.h</a>
+</li>
<li>kXMP_IterSkipSiblings
-: <a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da2537b4b8db838f85b47988b198cd2a12">XMP_Const.h</a>
+</li>
<li>kXMP_IterSkipSubtree
-: <a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dab0b540cd3841f411471a827f833c606e">XMP_Const.h</a>
+</li>
<li>kXMP_JPEG2KFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78b8fa38aaa2067e3e1baa0dcaa7571d">XMP_Const.h</a>
+</li>
<li>kXMP_JPEGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">XMP_Const.h</a>
-<li>kXMP_JPEGTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad752b2d3e1139e0745223a9385ef6487">XMP_Const.h</a>
+</li>
<li>kXMP_MOVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daebdb172c8a75b4ead2eff2d26ed3dc37">XMP_Const.h</a>
+</li>
<li>kXMP_MP3File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daf3ee34ed2bc26dec0e2d572eeb0de89b">XMP_Const.h</a>
+</li>
<li>kXMP_MPEG2File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dab58eaebed494530072ad990ac7a9807a">XMP_Const.h</a>
+</li>
<li>kXMP_MPEG4File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da89e6282c3f0c8966d788500f5d8eaa91">XMP_Const.h</a>
+</li>
<li>kXMP_MPEGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da043afdc1db730db9ac03c505140c61c8">XMP_Const.h</a>
+</li>
<li>kXMP_OmitAllFormatting
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea79230f1d70d2625f7650db6ff5b1ea29">XMP_Const.h</a>
+</li>
<li>kXMP_OmitPacketWrapper
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9eadbb9e4c7ee139da0dd4126ddea794c76">XMP_Const.h</a>
+</li>
<li>kXMP_OmitXMPMetaElement
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea9fb498d749d939e2ba9adf555a75b856">XMP_Const.h</a>
+</li>
<li>kXMP_P2File
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dabad9584845edf66f2f8fc3c336977e34">XMP_Const.h</a>
+</li>
<li>kXMP_PacketInfoVersion
-: <a class="el" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a16af7b253440dadd46a80a4b9fddba4da767b4847575a8de28e691be660d43817">XMP_Const.h</a>
+</li>
<li>kXMP_ParseMoreBuffers
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca79b36427b7bf0c0a1ed010a44dec2d3e">XMP_Const.h</a>
+</li>
<li>kXMP_PDFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da17ab6d429c1550eb3cc16d2e544b78eb">XMP_Const.h</a>
+</li>
<li>kXMP_PhotoshopFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da22b478a9d0d52d12e8e4a1181024eb1c">XMP_Const.h</a>
+</li>
<li>kXMP_PNGFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dac989381d37de320495e4d13f9ecc6371">XMP_Const.h</a>
+</li>
<li>kXMP_PostScriptFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da52c90935ee28a0875a49843d463cad70">XMP_Const.h</a>
+</li>
<li>kXMP_PremiereProjectFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daeff4f68cd5162370f7bf938a868e280d">XMP_Const.h</a>
+</li>
<li>kXMP_PremiereTitleFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da1ad712bbd349dc899ca1e71971032b0a">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayFormMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a6b5b5f4b869994b7390edc9589745e9f">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsAlternate
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a2596b1f0ea4600270c99102c86b5f1f1">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsAltText
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aba253f67a6cf44b7438a3f96b516846d">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsOrdered
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5af1cdb3b0a3e852ec55e747a1686aba04">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayIsUnordered
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d70c23394c0676657c89de5491192c0">XMP_Const.h</a>
+</li>
<li>kXMP_PropArrayLocationMask
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04aef8c1934a17b0e5d8f0b20a7e89df0df">XMP_Const.h</a>
+</li>
<li>kXMP_PropCompositeMask
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a60a9f26fb66c2e65cf40d9bc44968956">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasAliases
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a1f819ef281d1f52c4c12d5d02f49d3f0">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasLang
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a3fa5ed87edc731bfb3817f58ba70a217">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasQualifiers
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a8e34a33a2eed56499d4f6f62da25d159">XMP_Const.h</a>
+</li>
<li>kXMP_PropHasType
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aeff16fdf167afc73db25b30b529bd9d5">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsAlias
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5ab975c19fb5c50f732a1a0d84dadb7c37">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsDerived
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a0d898ea7f6b3db513bb24f8a6a285877">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsInternal
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a48097c6ea309f240965d77ab564a5464">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsQualifier
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a30146ed5209f5c3eb4eeb1fd8e4fb9fe">XMP_Const.h</a>
+</li>
<li>kXMP_PropIsStable
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a81dcd06251771a0ddee6c1e36128c65c">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsArray
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a9b7706e0f0716ac7546bdc24ffedd0bc">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsStruct
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5a90d8e49a828a7e18c64be36a73076a7e">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueIsURI
-: <a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a99fb83031ce9923c84392b4e92f956b5aab51f87b5c48f47f5cefb9e03293dafb">XMP_Const.h</a>
+</li>
<li>kXMP_PropValueOptionsMask
-: <a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">XMP_Const.h</a>
-<li>kXMP_PShopTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc6126af1d45847bc59afa0aa3216b04ad1b42a8a4c479d9bfaf406b79f2e1465">XMP_Const.h</a>
+</li>
<li>kXMP_ReadOnlyPacket
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea238c792322c5bd5f9e4db3165e01f9d6">XMP_Const.h</a>
+</li>
<li>kXMP_RequireXMPMeta
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1e533852436acf75f594a4fb50a64400">XMP_Const.h</a>
+</li>
<li>kXMP_SESFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da42cb8767d9cf16eaeb7aec68a4f224e9">XMP_Const.h</a>
+</li>
<li>kXMP_SonyHDVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035daa0edb070c11f87c3dad9f8f7a83b9b5e">XMP_Const.h</a>
+</li>
<li>kXMP_StrictAliasing
-: <a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7107906eab0e1fa6f9f2dc6254ad88b1">XMP_Const.h</a>
+</li>
<li>kXMP_SWFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da564a8095f65d951f451e16eb56650597">XMP_Const.h</a>
+</li>
<li>kXMP_TextFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">XMP_Const.h</a>
-<li>kXMP_ThumbnailInfoVersion
-: <a class="el" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da27051cd824d3ae7bb59e3af7a7908ffd">XMP_Const.h</a>
+</li>
<li>kXMP_TIFFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">XMP_Const.h</a>
-<li>kXMP_TIFFTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dadc0edf25d933c2a21b25449692c3ba08">XMP_Const.h</a>
+</li>
<li>kXMP_TimeEastOfUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec">XMP_Const.h</a>
+</li>
<li>kXMP_TimeIsUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13">XMP_Const.h</a>
+</li>
<li>kXMP_TimeWestOfUTC
-: <a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801">XMP_Const.h</a>
+</li>
<li>kXMP_UCFFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da96804f7b8ce83786051c4dac4930aa96">XMP_Const.h</a>
+</li>
<li>kXMP_UnknownFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">XMP_Const.h</a>
-<li>kXMP_UnknownTNail
-: <a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da2845f95eaaaf492f5011bff05a398719">XMP_Const.h</a>
+</li>
<li>kXMP_UseCompactFormat
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a61dadd085c1777f559549e05962b2c9ea041dc6b7b8684be7112ae40f5f259ebb">XMP_Const.h</a>
+</li>
<li>kXMP_WAVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dacc1fcd4e52423c0dd2966a2e92352fb8">XMP_Const.h</a>
+</li>
<li>kXMP_WMAVFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">XMP_Const.h</a>
-<li>kXMP_WriteAliasComments
-: <a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da78c62f7c10b16b1a862d93f6226a4622">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_EXFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da45bf9b21d5ffed3594fbd585c47cc4fc">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_FAMFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da5f78caa0871695cc92e058e4f4b2dd57">XMP_Const.h</a>
+</li>
<li>kXMP_XDCAM_SAMFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035da64fe7908df6341e13d9d8c8199cdf852">XMP_Const.h</a>
+</li>
<li>kXMP_XMLFile
-: <a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abc5c98fcc1211af2b80116dd6e0a035dad217b996403fa13caef3d6e978023124">XMP_Const.h</a>
+</li>
<li>kXMPErr_AssertFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14bd6c24087d280c722c1a044eec27d6">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadFileFormat
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa0a05e07925d1f3daf5f36f6da0840f8">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIndex
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a31adb57da79b4fb1f1f5f999ec740010">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIPTC
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a23b2d7cab10b3d80549e6b60855bb15e">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadIterPosition
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2584fc813bfcd9158b7adf28a3454bb9">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadJPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad685e1f839e3bc53dfc55611a0803cee">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadMPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad596daed4ac92f8bf7871669d03effad">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadObject
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a115f3d761d2cad952aab23f35cbdf3a1">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadOptions
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a40ca77d98bd366442bb8d438c420a444">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadParam
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a52d197a8b0af3c55f16958162a4132f1">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadParse
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a052b1b525fba7da8c98be5c135f434b8">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadPSD
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ad98fc9a9c050e9fc19c3af9c8abb2d6d">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadPSIR
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a1606a687cb790af16dc561b2a8f2e6a3">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadRDF
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5464b823e619618d9aa58433cdb45a8e">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadSchema
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadSerialize
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4f936ff6788ce17f6098b7cbda77ed9">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadTIFF
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aecd25299aa177de7bc7f3674fcf2e22d">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadUnicode
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4cf86fa29624c5e19111e09a97fe05f">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadValue
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a716956a038782e595ce61d3fbdd1a25a">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXML
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac57f1cf1c24778536fd32972e87334c5">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXMP
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a211bb632ed1264d9e2236f35c6414821">XMP_Const.h</a>
+</li>
<li>kXMPErr_BadXPath
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7">XMP_Const.h</a>
+</li>
<li>kXMPErr_Deprecated
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14342c486ddf394ebc110a446becbfa7">XMP_Const.h</a>
+</li>
<li>kXMPErr_EmptyIterator
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a078c69d0d76f25187a11981a2552b179">XMP_Const.h</a>
+</li>
<li>kXMPErr_EnforceFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa856bb36a9742d8542b483e00fc6511b">XMP_Const.h</a>
+</li>
<li>kXMPErr_ExternalFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a82941dc15c6ccde6b8fb2f9cc85c2eeb">XMP_Const.h</a>
+</li>
<li>kXMPErr_InternalFailure
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a8babbd758d2c64fd04e85fa48e0675c0">XMP_Const.h</a>
+</li>
<li>kXMPErr_NoFileHandler
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a10fa053f279fed01b075f34a70f11795">XMP_Const.h</a>
+</li>
<li>kXMPErr_NoMemory
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a69eb7fef422fbca62cdbc554afffd813">XMP_Const.h</a>
+</li>
<li>kXMPErr_StdException
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a5322df07e2a7792824d2468c4837f1cb">XMP_Const.h</a>
+</li>
<li>kXMPErr_TBD
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960acd9fa1b621efafd5b218e3a785cbeda1">XMP_Const.h</a>
+</li>
<li>kXMPErr_TooLargeForJPEG
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aa9c1c20e53db12b20068d830a8990c0b">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unavailable
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac7ac408582c194cc723a24acb8b4e4c3">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unimplemented
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3de1ac8f4e4afb705d5a4654cb9579e2">XMP_Const.h</a>
+</li>
<li>kXMPErr_Unknown
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a14813595824de97382fffeae7b6fe581">XMP_Const.h</a>
+</li>
<li>kXMPErr_UnknownException
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960aac7558097a1f5a0f99097199f1bf8ff4">XMP_Const.h</a>
+</li>
<li>kXMPErr_UserAbort
-: <a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960ac4ba7b1a57629e4994a0f7a515d51195">XMP_Const.h</a>
+</li>
<li>kXMPFiles_AllowsOnlyXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea4a183c3ec4994cf09993e5b31dee9733">XMP_Const.h</a>
+</li>
<li>kXMPFiles_AllowsSafeUpdate
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea9fe958d4ccde02516a3a267db63874cd">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanExpand
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea126c9cc056f6569c424431edbcb9521c">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanInjectXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea23a3eb2a5e95292036a93ad6666fa388">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanReconcile
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2bc7cfdd28a326788d563ec0357694">XMP_Const.h</a>
+</li>
<li>kXMPFiles_CanRewrite
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcea8957f1ef358b4ab3a1df519903f2ae07">XMP_Const.h</a>
+</li>
<li>kXMPFiles_FolderBasedFormat
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaa2a6a4b744b40055387234632b688fcd">XMP_Const.h</a>
+</li>
<li>kXMPFiles_HandlerOwnsFile
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceafc2c5b585e698ebf24a9379de35954b4">XMP_Const.h</a>
+</li>
+<li>kXMPFiles_IgnoreLocalText
+: <a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25a9b9c1ef01e49193a167c40156df07b50">XMP_Const.h</a>
+</li>
<li>kXMPFiles_NeedsReadOnlyPacket
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">XMP_Const.h</a>
-<li>kXMPFiles_NoQuickTimeInit
-: <a class="el" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">XMP_Const.h</a>
-<li>kXMPFiles_OpenCacheTNail
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceaee13099f78018a5e1ce033266c27e999">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenForRead
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa4c61ec4ed571dbc5f1832ff6772320d2">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenForUpdate
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">XMP_Const.h</a>
-<li>kXMPFiles_OpenInBackground
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa91fa388b3888bcb6a68615537b66a49b">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenLimitedScanning
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77f34b1873bb2584feabe26a2c8f1182">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenOnlyXMP
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaa58279b2b1311242e7374117f455bb96">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenRepairFile
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa05acd568597f72b4812b432ea6cf606a">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenStrictly
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa0bef4db2ecdaf82a85df9e9d417aab18">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenUsePacketScanning
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaa77b47c63e579b28cbd25083ceb58c285">XMP_Const.h</a>
+</li>
<li>kXMPFiles_OpenUseSmartHandler
-: <a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a80155586fa275b28773c9b203f52cabaaf6332435c7fc89cb0b7381e13fe43646">XMP_Const.h</a>
+</li>
<li>kXMPFiles_PrefersInPlace
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceab55e1873e67048928de3fc47550678c3">XMP_Const.h</a>
+</li>
<li>kXMPFiles_ReturnsRawPacket
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">XMP_Const.h</a>
-<li>kXMPFiles_ReturnsTNail
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fceadb116eed738d1fcdfe4ab9c1635e08ea">XMP_Const.h</a>
+</li>
+<li>kXMPFiles_ServerMode
+: <a class="el" href="XMP__Const_8h.html#aba01db17f4a2bfbc3db60dc172972a25aee2f09481347c29d6c06951b0d81e145">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UpdateSafely
-: <a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6b7b47dd702d9e331586d485013fd1eaadbf8d744f355ef9800a4ec44325baf54">XMP_Const.h</a>
+</li>
<li>kXMPFiles_UsesSidecarXMP
-: <a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aaf105ae5beaca1dee30ae54530691fcead3027b786992e2a4762a4fa37c92943c">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_AddNewProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a145c259f83048b811c7b35bc3b339c42">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ClearUnnamedProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a9dac536fe6ee25de76d45bf6615abd46">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_IncludeInternalProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a872d2b769e775e281984cc63e28714ea">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ReplaceExistingProperties
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aae2e0fe43295736a15f0bb76ffe02544">XMP_Const.h</a>
+</li>
+<li>kXMPTemplate_ReplaceWithDeleteEmpty
+: <a class="el" href="XMP__Const_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a81e1b6fd067fc9ad62bc803c98701bd5">XMP_Const.h</a>
+</li>
<li>kXMPTS_Maybe
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba7a73219cd125bb21e294ba474112a584">XMP_Const.h</a>
+</li>
<li>kXMPTS_No
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2a88f4d4589bf413377283843f70bc90">XMP_Const.h</a>
+</li>
<li>kXMPTS_Yes
-: <a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a06fc87d81c62e9abb8790b6e5713c55bacf4bfe01497bd0d88c2af337e4bac39e">XMP_Const.h</a>
+</li>
<li>kXMPUtil_AllowCommas
-: <a class="el" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#abed82baf7f470b522273a3e37c24c600ad6d41710c689f16d19ac26dc9f5cc506">XMP_Const.h</a>
+</li>
<li>kXMPUtil_DeleteEmptyValues
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a97753b4c5afda9c55e807e41377d86d9">XMP_Const.h</a>
+</li>
<li>kXMPUtil_DoAllProperties
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a8ddfb0572b7602a52e533d92d8b1e9fb">XMP_Const.h</a>
+</li>
<li>kXMPUtil_IncludeAliases
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388a843589b878f53d42d59258f945ad770b">XMP_Const.h</a>
+</li>
<li>kXMPUtil_ReplaceOldValues
-: <a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a385c44f6fb256e5716a2302a5b940388adab4dad658d2d218c5b1e7d829b12962">XMP_Const.h</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/globals_type.html b/docs/API/globals_type.html
index e1ad153..7bf36aa 100644
--- a/docs/API/globals_type.html
+++ b/docs/API/globals_type.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Class Members</title>
+<title>XMP-Toolkit-SDK-5.1.2: Class Members</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -71,36 +71,49 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-&nbsp;
-<p>
-<ul>
+&nbsp;<ul>
<li>XMP_AbortProc
-: <a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa2738ce2fca7f1809b12834b1b5e2d0e">XMP_Const.h</a>
+</li>
<li>XMP_FileFormat
-: <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a300d9a9189cb4ddb6970d05389f5c28e">XMP_Const.h</a>
+</li>
<li>XMP_Index
-: <a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a00e9d9a76c144421105a4c2742203315">XMP_Const.h</a>
+</li>
<li>XMP_OptionBits
-: <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8">XMP_Const.h</a>
+</li>
<li>XMP_Status
-: <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a05b81829c04746826f4f85fbac76e3dd">XMP_Const.h</a>
+</li>
<li>XMP_StringLen
-: <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a">XMP_Const.h</a>
+</li>
<li>XMP_StringPtr
-: <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_Const.h</a>
+</li>
<li>XMP_TextOutputProc
-: <a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a8ce3570e6e5ac14cd603e96fa9d2936f">XMP_Const.h</a>
+</li>
+<li>XMP_VersionInfo
+: <a class="el" href="XMP__Const_8h.html#a57250ff934e642191654ae49c3a2c6c9">XMP_Const.h</a>
+</li>
<li>XMPDocOpsRef
-: <a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#ab516453dd7d906e911f8951983cde5f1">XMP_Const.h</a>
+</li>
<li>XMPFilesRef
-: <a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#aa4bca98ad67d7a62c60cb13dbbab0f25">XMP_Const.h</a>
+</li>
<li>XMPIteratorRef
-: <a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a6ade57a30fb1e40d6aa9695c440fc3d2">XMP_Const.h</a>
+</li>
<li>XMPMetaRef
-: <a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMP_Const.h</a>
+: <a class="el" href="XMP__Const_8h.html#a549d5e2cbcb58302d3df840a0205283e">XMP_Const.h</a>
+</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/graph_legend.dot b/docs/API/graph_legend.dot
index 1f7c6e4..ec7b113 100644
--- a/docs/API/graph_legend.dot
+++ b/docs/API/graph_legend.dot
@@ -1,23 +1,23 @@
digraph G
{
bgcolor="transparent";
- edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10];
- node [fontname="FreeSans",fontsize=10,shape=record];
- Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
- Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
- Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
- Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans"];
- Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
- Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans"];
- Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
- Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
- Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
- Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans"];
- Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
- Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans"];
- Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
+ edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+ node [fontname="FreeSans",fontsize="10",shape=record];
+ Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
+ Node10 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+ Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
+ Node11 -> Node10 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+ Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
+ Node13 -> Node9 [dir=back,color="darkgreen",fontsize="10",style="solid",fontname="FreeSans"];
+ Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
+ Node14 -> Node9 [dir=back,color="firebrick4",fontsize="10",style="solid",fontname="FreeSans"];
+ Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
+ Node15 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+ Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
+ Node16 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+ Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
+ Node17 -> Node16 [dir=back,color="orange",fontsize="10",style="dashed",label="< int >",fontname="FreeSans"];
+ Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
+ Node18 -> Node9 [dir=back,color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="FreeSans"];
+ Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
}
diff --git a/docs/API/graph_legend.html b/docs/API/graph_legend.html
index c178a08..0bb3f89 100644
--- a/docs/API/graph_legend.html
+++ b/docs/API/graph_legend.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Graph Legend</title>
+<title>XMP-Toolkit-SDK-5.1.2: Graph Legend</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -57,8 +57,9 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
-Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
+<h1>Graph Legend</h1><p>This page explains how to interpret the graphs that are generated by doxygen.</p>
+<p>Consider the following example: </p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
<span class="keyword">class </span>Invisible { };
<span class="comment"></span>
<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
@@ -92,12 +93,12 @@ Consider the following example: <div class="fragment"><pre class="fragment"><spa
<span class="keyword">private</span>:
Used *m_usedClass;
};
-</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
+</pre></div><p> This will result in the following graph:</p>
<center><div align="center">
-<img src="graph_legend.png" alt="graph_legend.png">
+<img src="graph_legend.png" alt="graph_legend.png"/>
</div>
-</center> <p>
-The boxes in the above graph have the following meaning: <ul>
+</center> <p>The boxes in the above graph have the following meaning: </p>
+<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
@@ -107,7 +108,8 @@ A box with a grey border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
-The arrows have the following meaning: <ul>
+<p>The arrows have the following meaning: </p>
+<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
@@ -121,6 +123,6 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/index.html b/docs/API/index.html
index bf96a3d..2e71594 100644
--- a/docs/API/index.html
+++ b/docs/API/index.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP Toolkit API Overview</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP Toolkit API Overview</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -57,42 +57,41 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP Toolkit API Overview</h1>
-<p>
-The XMPCore component provides the tools that allow you to parse, manipulate, and serialize XMP data, according to the Data Model and Serialization Model given in the XMP Specification. XMPCore has no knowledge of files. <br>
-<br>
- The client view of the XMPCore API is provided through these C++ class templates:<p>
+<h1>XMP Toolkit API Overview </h1><p>The XMPCore component provides the tools that allow you to parse, manipulate, and serialize XMP data, according to the Data Model and Serialization Model given in the XMP Specification. XMPCore has no knowledge of files. <br/>
+<br/>
+ The client view of the XMPCore API is provided through these C++ class templates:</p>
<ul>
<li><code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> provides the fundamental methods for manipulating XMP metadata. </li>
<li><code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> provides methods to iterate over existing XMP metadata. </li>
<li><code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> provides additional utilities layered on top of <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>.</li>
</ul>
-The XMPFiles component provides support for locating the XMP in a file, adding XMP to a file, or updating the XMP in a file. Use it to retrieve an entire XMP packet from a file, which you can either manipulate directly or use to create a <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object, so that you can use the XMPCore component to manipulate the individual XMP properties. XMPFiles contains a number of format-specific file handlers that know how to efficiently access the XMP in particular formats. It also includes a fallback packet scanner that can be used for unknown file formats.<p>
+<p>The XMPFiles component provides support for locating the XMP in a file, adding XMP to a file, or updating the XMP in a file. Use it to retrieve an entire XMP packet from a file, which you can either manipulate directly or use to create a <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> object, so that you can use the XMPCore component to manipulate the individual XMP properties. XMPFiles contains a number of format-specific file handlers that know how to efficiently access the XMP in particular formats. It also includes a fallback packet scanner that can be used for unknown file formats.</p>
<ul>
<li>The client view of the XMPFiles API is provided through <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.</li>
</ul>
-The <code>TXMP*</code> classes are C++ template classes. The templates must be instantiated for use. You can read the template header files, <a class="el" href="TXMPMeta_8hpp.html" title="API for access to the XMP Toolkit core services.">TXMPMeta.hpp</a>, and so on, for detailed information, but do not include them directly in your code.<br>
-<br>
- There is one overall header file, XMP.hpp, which is the only one that C++ clients should include with the <code>include</code> directive. Read the instructions in this file for instantiating the template classes. When you have done this, the API is available through the concrete classes <code>SXMPMeta</code>, <code>SXMPUtils</code>, <code>SXMPIterator</code>, and <code>SXMPFiles</code>. <br>
-<br>
- You should also read <a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a> for detailed information about types and constants for namespace URIs and option flags.<h2><a class="anchor" name="second-sec">
+<p>The <code>TXMP*</code> classes are C++ template classes. The templates must be instantiated for use. You can read the template header files, <a class="el" href="TXMPMeta_8hpp.html" title="API for access to the XMP Toolkit core services.">TXMPMeta.hpp</a>, and so on, for detailed information, but do not include them directly in your code.<br/>
+<br/>
+ There is one overall header file, XMP.hpp, which is the only one that C++ clients should include with the <code>include</code> directive. Read the instructions in this file for instantiating the template classes. When you have done this, the API is available through the concrete classes <code>SXMPMeta</code>, <code>SXMPUtils</code>, <code>SXMPIterator</code>, and <code>SXMPFiles</code>. <br/>
+<br/>
+ You should also read <a class="el" href="XMP__Const_8h.html" title="Common C/C++ types and constants for the XMP toolkit.">XMP_Const.h</a> for detailed information about types and constants for namespace URIs and option flags.</p>
+<h2><a class="anchor" id="second-sec">
Using of the XMP Toolkit API</a></h2>
-Developers should understand the XMP Data Model before working with the XMP Toolkit. The data model is documented in the XMP Specification. The XMPCoverage sample in the SDK provides an in-depth illustration of the use of the XMP Toolkit. An XMP Programmer's Guide with tutorial examples is provided in the docs folder within the SDK. <br>
-<br>
- Use of the XMP Toolkit is reasonably straightforward once you understand the XMP Data Model. An XMP property tree that conforms to the Data Model is encapsulated by a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object, and the functions of that class allow you to manipulate the namespaces, properties, and values.<br>
-<br>
- To prepare XMP data for output (transferring it or embedding it in a file), it must be serialized as XML text (specifically, RDF conforming to the Serialization Model).<p>
+<p>Developers should understand the XMP Data Model before working with the XMP Toolkit. The data model is documented in the XMP Specification. The XMPCoverage sample in the SDK provides an in-depth illustration of the use of the XMP Toolkit. An XMP Programmer's Guide with tutorial examples is provided in the docs folder within the SDK. <br/>
+<br/>
+ Use of the XMP Toolkit is reasonably straightforward once you understand the XMP Data Model. An XMP property tree that conforms to the Data Model is encapsulated by a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object, and the functions of that class allow you to manipulate the namespaces, properties, and values.<br/>
+<br/>
+ To prepare XMP data for output (transferring it or embedding it in a file), it must be serialized as XML text (specifically, RDF conforming to the Serialization Model).</p>
<ul>
-<li>Use <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code> to creates the serialized XML for the data contained in the object.</li>
+<li>Use <code><a class="el" href="classTXMPMeta.html#a2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code> to creates the serialized XML for the data contained in the object.</li>
</ul>
<ul>
-<li>Use the XMPFiles component (<code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">TXMPFiles::PutXMP()</a></code>)to write out the serialized XMP as an XMP packet embedded in a file.</li>
+<li>Use the XMPFiles component (<code><a class="el" href="classTXMPFiles.html#afcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#ad3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">TXMPFiles::PutXMP()</a></code>)to write out the serialized XMP as an XMP packet embedded in a file.</li>
</ul>
-Similarly, you use the XMPFiles component (<code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">TXMPFiles::GetXMP()</a></code>) to extract an XMP packet from a file. To work with the XMP, create a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object and populate it with the data using <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. <br>
-<br>
- You can use the XMPCore component to generate new XMP data.<p>
+<p>Similarly, you use the XMPFiles component (<code><a class="el" href="classTXMPFiles.html#a42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">TXMPFiles::GetXMP()</a></code>) to extract an XMP packet from a file. To work with the XMP, create a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object and populate it with the data using <code><a class="el" href="classTXMPMeta.html#a7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. <br/>
+<br/>
+ You can use the XMPCore component to generate new XMP data.</p>
<ul>
-<li>You can create your own private namespaces, but must register them before use, using <code><a class="el" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">TXMPMeta::RegisterNamespace()</a></code>.</li>
+<li>You can create your own private namespaces, but must register them before use, using <code><a class="el" href="classTXMPMeta.html#ac0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">TXMPMeta::RegisterNamespace()</a></code>.</li>
</ul>
<ul>
<li>Property accessor functions of various kinds allow you to retrieve and set existing property values, and to create new properties.</li>
@@ -101,17 +100,17 @@ Similarly, you use the XMPFiles component (<code><a class="el" href="classTXMPFi
<li>You can get and set property values as strings, or as binary types. <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> provides functions for converting between types.</li>
</ul>
<ul>
-<li>Use <code><a class="el" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> when dealing with language alternative (alt-text) arrays.</li>
+<li>Use <code><a class="el" href="classTXMPMeta.html#aeefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">TXMPMeta::GetLocalizedText()</a></code> and <code><a class="el" href="classTXMPMeta.html#af9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">TXMPMeta::SetLocalizedText()</a></code> when dealing with language alternative (alt-text) arrays.</li>
</ul>
<ul>
-<li>Use the path composition functions provided by <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> to construct complex paths with nested structs or arrays. It is recommended that you not depend on specific namespace prefixes; rather than hard-coding the prefixes for struct fields, use functions like <code><a class="el" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> and <code><a class="el" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">TXMPMeta::SetStructField()</a></code>.</li>
+<li>Use the path composition functions provided by <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> to construct complex paths with nested structs or arrays. It is recommended that you not depend on specific namespace prefixes; rather than hard-coding the prefixes for struct fields, use functions like <code><a class="el" href="classTXMPUtils.html#a706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">TXMPUtils::ComposeStructFieldPath()</a></code> and <code><a class="el" href="classTXMPMeta.html#a0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">TXMPMeta::SetStructField()</a></code>.</li>
</ul>
<ul>
<li>Create a <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object to operate on all or a subset of the properties in the metadata tree contained in a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object.</li>
</ul>
-<h2><a class="anchor" name="third-sec">
+<h2><a class="anchor" id="third-sec">
Overview of XMP Toolkit Internal Architecture.</a></h2>
-The XMP Toolkit is implemented in three layers, which isolate the return of string values, synchronization for multi-threaded use, and exception propagation. While the SDK as provided from Adobe builds a static library, this layering can easily be adapted to build a DLL.<p>
+<p>The XMP Toolkit is implemented in three layers, which isolate the return of string values, synchronization for multi-threaded use, and exception propagation. While the SDK as provided from Adobe builds a static library, this layering can easily be adapted to build a DLL.</p>
<ul>
<li>The top layer is the implementation of the client template classes. This layer is for copying string results and releasing the threading lock if necessary.</li>
</ul>
@@ -121,43 +120,42 @@ The XMP Toolkit is implemented in three layers, which isolate the return of stri
<ul>
<li>The inner layer is the actual implementation, contained in the three classes <code>XMPMeta</code>, <code>XMPIterator</code>, and <code>XMPUtils</code>.</li>
</ul>
-<h3><a class="anchor" name="callchain">
+<h3><a class="anchor" id="callchain">
Implementation Call Chain</a></h3>
-The implementation of <code>GetProperty</code> provides a good illustration of the toolkit layering. The declaration below for <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty</a></code> is simplified by hardwiring <code>std::string</code>. The <code>XMP_StringPtr</code> type is simply <code>const char *</code>.<p>
-<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
- <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<p>The implementation of <code>GetProperty</code> provides a good illustration of the toolkit layering. The declaration below for <code><a class="el" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty</a></code> is simplified by hardwiring <code>std::string</code>. The <code>XMP_StringPtr</code> type is simply <code>const char *</code>.</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty</a> ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+ <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
std::string * propValue,
- <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options )<span class="keyword"> const</span>
+ <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options )<span class="keyword"> const</span>
<span class="keyword"> </span>{
- <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> resultPtr = 0;
- <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> resultLen = 0;
+ <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> resultPtr = 0;
+ <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> resultLen = 0;
<span class="keywordtype">bool</span> found = this-&gt;xmpObj.GetProperty ( schemaNS, propName,
&amp;resultPtr, &amp;resultLen, options );
<span class="keywordflow">if</span> ( found ) {
<span class="keywordflow">if</span> ( propValue != 0 ) propValue-&gt;assign ( resultPtr, resultLen );
- this-&gt;xmpObj.UnlockObject ( <a class="code" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a> );
+ this-&gt;xmpObj.UnlockObject ( <a class="code" href="XMP__Const_8h.html#aff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a> );
}
<span class="keywordflow">return</span> found;
}
-</pre></div><p>
-The template object contains a data member pointer to the underlying <code>WXMPMeta</code> object. This is used to dispatch the call to the middle layer. The actual implementation of the XMP toolkit returns string values as a pointer and length, the pointer references private internal storage of the toolkit. The client code copies the string value to the client's string object. This minimizes the amount of string copying, and should the XMP toolkit be built as a DLL ensures that any memory allocation for the client's value is done on the client side. The call to <code>WXMPMeta::UnlockObject</code> is explained below.<p>
-<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> WXMPMeta::GetProperty ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
- <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
- <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> * propValue,
- <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> * valueSize,
- <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options )<span class="keyword"> const</span>
+</pre></div><p>The template object contains a data member pointer to the underlying <code>WXMPMeta</code> object. This is used to dispatch the call to the middle layer. The actual implementation of the XMP toolkit returns string values as a pointer and length, the pointer references private internal storage of the toolkit. The client code copies the string value to the client's string object. This minimizes the amount of string copying, and should the XMP toolkit be built as a DLL ensures that any memory allocation for the client's value is done on the client side. The call to <code>WXMPMeta::UnlockObject</code> is explained below.</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> WXMPMeta::GetProperty ( <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+ <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+ <a class="code" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> * propValue,
+ <a class="code" href="XMP__Const_8h.html#a9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> * valueSize,
+ <a class="code" href="XMP__Const_8h.html#aeb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options )<span class="keyword"> const</span>
<span class="keyword"> </span>{
XMP_Bool found;
- XMP_ENTER_WRAPPER ( <span class="stringliteral">"WXMPMeta::GetProperty"</span> )
+ XMP_ENTER_WRAPPER ( <span class="stringliteral">&quot;WXMPMeta::GetProperty&quot;</span> )
if ( (schemaNS == 0) || (*schemaNS == 0) ) {
- XMP_Throw ( <span class="stringliteral">"Empty schema namespace URI"</span>, <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539" title="Bad schema parameter.">kXMPErr_BadSchema</a> );
+ XMP_Throw ( <span class="stringliteral">&quot;Empty schema namespace URI&quot;</span>, <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a2bc66eec6ce830979089d5c336f75539" title="Bad schema parameter.">kXMPErr_BadSchema</a> );
}
<span class="keywordflow">if</span> ( (propName == 0) || (*propName == 0) ) {
- XMP_Throw ( <span class="stringliteral">"Empty property name"</span>, <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7" title="Bad XPath parameter.">kXMPErr_BadXPath</a> );
+ XMP_Throw ( <span class="stringliteral">&quot;Empty property name&quot;</span>, <a class="code" href="XMP__Const_8h.html#af9bdc3014f3d54c426b6d2df10de4960a3f1efec0aa5452f43c55c05aba616ef7" title="Bad XPath parameter.">kXMPErr_BadXPath</a> );
}
<span class="keywordflow">if</span> ( propValue == 0 ) propValue = &amp;voidStringPtr;
@@ -170,9 +168,9 @@ The template object contains a data member pointer to the underlying <code>WXMPM
XMP_EXIT_WRAPPER_KEEP_LOCK ( found )
return found;
}
-</pre></div><p>
-The entry and exit macros in the <code>WXMPMeta</code> layer acquire the threading lock on entry and usually release it on exit. The lock is kept on exit whenever a string value is returned. Since a pointer to internal data is returned, the threading lock can't be released until after the template code in the client copies the string. The entry and exit macros also prevent uncontrolled exception propagation from the lower layer back to the client. This is not critical for use of the XMP Toolkit as a static library. But it is generally not safe to propagate C++ exceptions across DLL boundaries. </div>
+</pre></div><p>The entry and exit macros in the <code>WXMPMeta</code> layer acquire the threading lock on entry and usually release it on exit. The lock is kept on exit whenever a string value is returned. Since a pointer to internal data is returned, the threading lock can't be released until after the template code in the client copies the string. The entry and exit macros also prevent uncontrolled exception propagation from the lower layer back to the client. This is not critical for use of the XMP Toolkit as a static library. But it is generally not safe to propagate C++ exceptions across DLL boundaries. </p>
+</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__DateTime-members.html b/docs/API/structXMP__DateTime-members.html
index 76bd521..ee40e17 100644
--- a/docs/API/structXMP__DateTime-members.html
+++ b/docs/API/structXMP__DateTime-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,19 +63,22 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_DateTime Member List</h1>This is the complete list of members for <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">day</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">hour</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">minute</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">month</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">nanoSecond</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">second</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">tzHour</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">tzMinute</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">tzSign</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">year</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+<h1>XMP_DateTime Member List</h1>This is the complete list of members for <a class="el" href="structXMP__DateTime.html">XMP_DateTime</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094">day</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8">hasDate</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268">hasTime</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e">hasTimeZone</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f">hour</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf">minute</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f">month</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c">nanoSecond</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b">second</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4">tzHour</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1">tzMinute</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">tzSign</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad">year</a></td><td><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__DateTime.html b/docs/API/structXMP__DateTime.html
index bec9155..9700129 100644
--- a/docs/API/structXMP__DateTime.html
+++ b/docs/API/structXMP__DateTime.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_DateTime Struct Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP_DateTime Struct Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,83 +63,80 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_DateTime Struct Reference</h1><!-- doxytag: class="XMP_DateTime" -->The expanded type for a date and time.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a>&gt;</code>
-<p>
+<h1>XMP_DateTime Struct Reference</h1><!-- doxytag: class="XMP_DateTime" -->
+<p>The expanded type for a date and time.
+<a href="#_details">More...</a></p>
-<p>
-<a href="structXMP__DateTime-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2db713deacfd5a5cb2deea660ca2ccad"></a><!-- doxytag: member="XMP_DateTime::year" ref="2db713deacfd5a5cb2deea660ca2ccad" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">year</a></td></tr>
+<p><code>#include &lt;<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The year, can be negative. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4b71c1a54879d7da1b4135e23d5446f"></a><!-- doxytag: member="XMP_DateTime::month" ref="b4b71c1a54879d7da1b4135e23d5446f" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">month</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The month in the range 1..12. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58496718277eea9dc5e3e19d80a69094"></a><!-- doxytag: member="XMP_DateTime::day" ref="58496718277eea9dc5e3e19d80a69094" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">day</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The day of the month in the range 1..31. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc79cdca8cfa5df6583279e3f3e70e9f"></a><!-- doxytag: member="XMP_DateTime::hour" ref="bc79cdca8cfa5df6583279e3f3e70e9f" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">hour</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The hour in the range 0..23. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e84965f3296a9c106d1f6c88aa6a7bdf"></a><!-- doxytag: member="XMP_DateTime::minute" ref="e84965f3296a9c106d1f6c88aa6a7bdf" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">minute</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minute in the range 0..59. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="675313c70a7e05b7ca50d21300b7d81b"></a><!-- doxytag: member="XMP_DateTime::second" ref="675313c70a7e05b7ca50d21300b7d81b" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">second</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The second in the range 0..59. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">tzSign</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6045133feeef41ac1f78c4664ab13db4"></a><!-- doxytag: member="XMP_DateTime::tzHour" ref="6045133feeef41ac1f78c4664ab13db4" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">tzHour</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The time zone hour in the range 0..23. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45baa70f30a3dc9f88819886cfb91aa1"></a><!-- doxytag: member="XMP_DateTime::tzMinute" ref="45baa70f30a3dc9f88819886cfb91aa1" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">tzMinute</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The time zone minute in the range 0..59. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="190c2a19f01e90997ec2973aec37712c"></a><!-- doxytag: member="XMP_DateTime::nanoSecond" ref="190c2a19f01e90997ec2973aec37712c" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">nanoSecond</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nanoseconds within a second, often left as zero. <br></td></tr>
+<p><a href="structXMP__DateTime-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2db713deacfd5a5cb2deea660ca2ccad"></a><!-- doxytag: member="XMP_DateTime::year" ref="a2db713deacfd5a5cb2deea660ca2ccad" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad">year</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The year, can be negative. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b71c1a54879d7da1b4135e23d5446f"></a><!-- doxytag: member="XMP_DateTime::month" ref="ab4b71c1a54879d7da1b4135e23d5446f" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f">month</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The month in the range 1..12. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58496718277eea9dc5e3e19d80a69094"></a><!-- doxytag: member="XMP_DateTime::day" ref="a58496718277eea9dc5e3e19d80a69094" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094">day</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The day of the month in the range 1..31. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc79cdca8cfa5df6583279e3f3e70e9f"></a><!-- doxytag: member="XMP_DateTime::hour" ref="abc79cdca8cfa5df6583279e3f3e70e9f" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f">hour</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The hour in the range 0..23. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae84965f3296a9c106d1f6c88aa6a7bdf"></a><!-- doxytag: member="XMP_DateTime::minute" ref="ae84965f3296a9c106d1f6c88aa6a7bdf" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf">minute</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minute in the range 0..59. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a675313c70a7e05b7ca50d21300b7d81b"></a><!-- doxytag: member="XMP_DateTime::second" ref="a675313c70a7e05b7ca50d21300b7d81b" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b">second</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The second in the range 0..59. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62e0f39edef2a82749feed46b16572e8"></a><!-- doxytag: member="XMP_DateTime::hasDate" ref="a62e0f39edef2a82749feed46b16572e8" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8">hasDate</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the date portion meaningful? <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c7f3d493a78f6b3fc7978992308d268"></a><!-- doxytag: member="XMP_DateTime::hasTime" ref="a2c7f3d493a78f6b3fc7978992308d268" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268">hasTime</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the time portion meaningful? <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dd34cdab96f55c120b3289db32bdd1e"></a><!-- doxytag: member="XMP_DateTime::hasTimeZone" ref="a1dd34cdab96f55c120b3289db32bdd1e" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e">hasTimeZone</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the time zone meaningful? <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">XMP_Int8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">tzSign</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6045133feeef41ac1f78c4664ab13db4"></a><!-- doxytag: member="XMP_DateTime::tzHour" ref="a6045133feeef41ac1f78c4664ab13db4" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4">tzHour</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The time zone hour in the range 0..23. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45baa70f30a3dc9f88819886cfb91aa1"></a><!-- doxytag: member="XMP_DateTime::tzMinute" ref="a45baa70f30a3dc9f88819886cfb91aa1" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1">tzMinute</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The time zone minute in the range 0..59. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a190c2a19f01e90997ec2973aec37712c"></a><!-- doxytag: member="XMP_DateTime::nanoSecond" ref="a190c2a19f01e90997ec2973aec37712c" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c">nanoSecond</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nanoseconds within a second, often left as zero. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The expanded type for a date and time.
-<p>
-Dates and time in the serialized XMP are ISO 8601 strings. The <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> struct allows easy conversion with other formats.<p>
-All of the fields are 32 bit, even though most could be 8 bit. This avoids overflow when doing carries for arithmetic or normalization. All fields have signed values for the same reasons.<p>
-Date-time values are occasionally used with only a date or only a time component. A date without a time has zeros in the <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> struct for all time fields. A time without a date has zeros for all date fields (year, month, and day).<p>
-<code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> provides utility functions for manipulating date-time values.<p>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">TXMPUtils::ConvertToDate()</a></code>, <code><a class="el" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">TXMPUtils::ConvertFromDate()</a></code>, <code><a class="el" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">TXMPUtils::CompareDateTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">TXMPUtils::ConvertToLocalTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">TXMPUtils::ConvertToUTCTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">TXMPUtils::CurrentDateTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">TXMPUtils::SetTimeZone()</a></code> </dd></dl>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="2786ad8875bd59f07b8dc2b1d09c6f96"></a><!-- doxytag: member="XMP_DateTime::tzSign" ref="2786ad8875bd59f07b8dc2b1d09c6f96" args="" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The expanded type for a date and time. </p>
+<p>Dates and time in the serialized XMP are ISO 8601 strings. The <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> struct allows easy conversion with other formats.</p>
+<p>All of the fields are 32 bit, even though most could be 8 bit. This avoids overflow when doing carries for arithmetic or normalization. All fields have signed values for the same reasons.</p>
+<p>Date-time values are occasionally used with only a date or only a time component. A date without a time has zeros in the <code><a class="el" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a></code> struct for all time fields. A time without a date has zeros for all date fields (year, month, and day).</p>
+<p><code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> provides utility functions for manipulating date-time values.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPUtils.html#a60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">TXMPUtils::ConvertToDate()</a></code>, <code><a class="el" href="classTXMPUtils.html#a6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">TXMPUtils::ConvertFromDate()</a></code>, <code><a class="el" href="classTXMPUtils.html#a9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">TXMPUtils::CompareDateTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#a61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">TXMPUtils::ConvertToLocalTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#abbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">TXMPUtils::ConvertToUTCTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#ac83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">TXMPUtils::CurrentDateTime()</a></code>, <code><a class="el" href="classTXMPUtils.html#a96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">TXMPUtils::SetTimeZone()</a></code> </dd></dl>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a2b26282b9f1ab9920a8f05008c776ddb"></a><!-- doxytag: member="XMP_DateTime::tzSign" ref="a2b26282b9f1ab9920a8f05008c776ddb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">XMP_Int32 <a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime::tzSign</a> </td>
+ <td class="memname">XMP_Int8 <a class="el" href="structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb">XMP_DateTime::tzSign</a></td>
</tr>
</table>
</div>
<div class="memdoc">
+<p>The "sign" of the time zone, <code><a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a3f41be55491204982acb39c9f6c7ad13" title="UTC time.">kXMP_TimeIsUTC</a></code> (0) means UTC, <code><a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a511551ce156d5fd96c26ad464b837801" title="Time zone is west of UTC.">kXMP_TimeWestOfUTC</a></code> (-1) is west, <code><a class="el" href="XMP__Const_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a68851b70cc1d2346fa21bc0b0ae6cfec" title="Time zone is east of UTC.">kXMP_TimeEastOfUTC</a></code> (+1) is east. </p>
-<p>
-The "sign" of the time zone, <code><a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13" title="UTC time.">kXMP_TimeIsUTC</a></code> (0) means UTC, <code><a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801" title="Time zone is west of UTC.">kXMP_TimeWestOfUTC</a></code> (-1) is west, <code><a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec" title="Time zone is east of UTC.">kXMP_TimeEastOfUTC</a></code> (+1) is east.
</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a></ul>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__PacketInfo-members.html b/docs/API/structXMP__PacketInfo-members.html
index 254bcc8..25a474b 100644
--- a/docs/API/structXMP__PacketInfo-members.html
+++ b/docs/API/structXMP__PacketInfo-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,17 +63,17 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_PacketInfo Member List</h1>This is the complete list of members for <a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">charForm</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">length</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">offset</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">pad</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">padSize</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>()</td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td><code> [inline]</code></td></tr>
+<h1>XMP_PacketInfo Member List</h1>This is the complete list of members for <a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">charForm</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">length</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">offset</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">pad</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">padSize</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a></td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a>()</td><td><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td><code> [inline]</code></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__PacketInfo.html b/docs/API/structXMP__PacketInfo.html
index 00cdded..57a8e7b 100644
--- a/docs/API/structXMP__PacketInfo.html
+++ b/docs/API/structXMP__PacketInfo.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_PacketInfo Struct Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP_PacketInfo Struct Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,55 +63,48 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_PacketInfo Struct Reference</h1><!-- doxytag: class="XMP_PacketInfo" -->XMP packet description.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a>&gt;</code>
-<p>
+<h1>XMP_PacketInfo Struct Reference</h1><!-- doxytag: class="XMP_PacketInfo" -->
+<p>XMP packet description.
+<a href="#_details">More...</a></p>
-<p>
-<a href="structXMP__PacketInfo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ae03a1b3d03fa9ebc829105037155a8"></a><!-- doxytag: member="XMP_PacketInfo::XMP_PacketInfo" ref="2ae03a1b3d03fa9ebc829105037155a8" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a> ()</td></tr>
+<p><code>#include &lt;<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20f65fcfd0f3658ab93ff441a9d61d2c"></a><!-- doxytag: member="XMP_PacketInfo::offset" ref="20f65fcfd0f3658ab93ff441a9d61d2c" args="" -->
-XMP_Int64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">offset</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet offset in the file in bytes, -1 if unknown. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f526c582b66e24553f2d4b11eb714a44"></a><!-- doxytag: member="XMP_PacketInfo::length" ref="f526c582b66e24553f2d4b11eb714a44" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">length</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet length in the file in bytes, -1 if unknown. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4f99e6a5b36b05fdf4a519421875256"></a><!-- doxytag: member="XMP_PacketInfo::padSize" ref="f4f99e6a5b36b05fdf4a519421875256" args="" -->
-XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">padSize</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet padding size in bytes, zero if unknown. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="039ce6665fe8e08d922a46f266799f75"></a><!-- doxytag: member="XMP_PacketInfo::charForm" ref="039ce6665fe8e08d922a46f266799f75" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">charForm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Character format using the values <code>kXMP_Char8Bit</code>, <code>kXMP_Char16BitBig</code>, etc. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66845c1d5f3f9f36a1543a7322bd7bd1"></a><!-- doxytag: member="XMP_PacketInfo::writeable" ref="66845c1d5f3f9f36a1543a7322bd7bd1" args="" -->
-XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if there is a packet wrapper and the trailer says writeable by dumb packet scanners. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6725d8ab8b4eedddaac950d2b1b00a7f"></a><!-- doxytag: member="XMP_PacketInfo::hasWrapper" ref="6725d8ab8b4eedddaac950d2b1b00a7f" args="" -->
-XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if there is a packet wrapper, the "&lt;?xpacket...&gt;" XML processing instructions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83ec12161a36451fef05d88cc754104e"></a><!-- doxytag: member="XMP_PacketInfo::pad" ref="83ec12161a36451fef05d88cc754104e" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">pad</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Padding to make the struct's size be a multiple 4. <br></td></tr>
+<p><a href="structXMP__PacketInfo-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ae03a1b3d03fa9ebc829105037155a8"></a><!-- doxytag: member="XMP_PacketInfo::XMP_PacketInfo" ref="a2ae03a1b3d03fa9ebc829105037155a8" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br/></td></tr>
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20f65fcfd0f3658ab93ff441a9d61d2c"></a><!-- doxytag: member="XMP_PacketInfo::offset" ref="a20f65fcfd0f3658ab93ff441a9d61d2c" args="" -->
+XMP_Int64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">offset</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet offset in the file in bytes, -1 if unknown. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af526c582b66e24553f2d4b11eb714a44"></a><!-- doxytag: member="XMP_PacketInfo::length" ref="af526c582b66e24553f2d4b11eb714a44" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">length</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet length in the file in bytes, -1 if unknown. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4f99e6a5b36b05fdf4a519421875256"></a><!-- doxytag: member="XMP_PacketInfo::padSize" ref="af4f99e6a5b36b05fdf4a519421875256" args="" -->
+XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">padSize</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packet padding size in bytes, zero if unknown. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a039ce6665fe8e08d922a46f266799f75"></a><!-- doxytag: member="XMP_PacketInfo::charForm" ref="a039ce6665fe8e08d922a46f266799f75" args="" -->
+XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">charForm</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Character format using the values <code>kXMP_Char8Bit</code>, <code>kXMP_Char16BitBig</code>, etc. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66845c1d5f3f9f36a1543a7322bd7bd1"></a><!-- doxytag: member="XMP_PacketInfo::writeable" ref="a66845c1d5f3f9f36a1543a7322bd7bd1" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if there is a packet wrapper and the trailer says writeable by dumb packet scanners. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6725d8ab8b4eedddaac950d2b1b00a7f"></a><!-- doxytag: member="XMP_PacketInfo::hasWrapper" ref="a6725d8ab8b4eedddaac950d2b1b00a7f" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if there is a packet wrapper, the "&lt;?xpacket...&gt;" XML processing instructions. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83ec12161a36451fef05d88cc754104e"></a><!-- doxytag: member="XMP_PacketInfo::pad" ref="a83ec12161a36451fef05d88cc754104e" args="" -->
+XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">pad</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Padding to make the struct's size be a multiple 4. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-XMP packet description. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a></ul>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>XMP packet description. </p>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__ThumbnailInfo-members.html b/docs/API/structXMP__ThumbnailInfo-members.html
deleted file mode 100644
index 4757a41..0000000
--- a/docs/API/structXMP__ThumbnailInfo-members.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>XMP_ThumbnailInfo Member List</h1>This is the complete list of members for <a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">fileFormat</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">fullOrientation</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">fullWidth</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">pad1</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">tnailFormat</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">tnailImage</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">tnailSize</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">tnailWidth</a></td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">XMP_ThumbnailInfo</a>()</td><td><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/structXMP__ThumbnailInfo.html b/docs/API/structXMP__ThumbnailInfo.html
deleted file mode 100644
index 7a93043..0000000
--- a/docs/API/structXMP__ThumbnailInfo.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_ThumbnailInfo Struct Reference</title>
-<link href="xmp.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
-<script type="text/javascript">
-<!--
-function changeDisplayState (e){
- var num=this.id.replace(/[^[0-9]/g,'');
- var button=this.firstChild;
- var sectionDiv=document.getElementById('dynsection'+num);
- if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
- sectionDiv.style.display='block';
- button.src='open.gif';
- }else{
- sectionDiv.style.display='none';
- button.src='closed.gif';
- }
-}
-function initDynSections(){
- var divs=document.getElementsByTagName('div');
- var sectionCounter=1;
- for(var i=0;i<divs.length-1;i++){
- if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
- var header=divs[i];
- var section=divs[i+1];
- var button=header.firstChild;
- if (button!='IMG'){
- divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
- button=document.createElement('img');
- divs[i].insertBefore(button,divs[i].firstChild);
- }
- header.style.cursor='pointer';
- header.onclick=changeDisplayState;
- header.id='dynheader'+sectionCounter;
- button.src='closed.gif';
- section.id='dynsection'+sectionCounter;
- section.style.display='none';
- section.style.marginLeft='14px';
- sectionCounter++;
- }
- }
-}
-window.onload = initDynSections;
--->
-</script>
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>XMP_ThumbnailInfo Struct Reference</h1><!-- doxytag: class="XMP_ThumbnailInfo" -->Thumbnail descriptor.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a>&gt;</code>
-<p>
-
-<p>
-<a href="structXMP__ThumbnailInfo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20b6acef9b825defe492b3d120532828"></a><!-- doxytag: member="XMP_ThumbnailInfo::XMP_ThumbnailInfo" ref="20b6acef9b825defe492b3d120532828" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">XMP_ThumbnailInfo</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9bd0982c79d43f96a253486e79c453df"></a><!-- doxytag: member="XMP_ThumbnailInfo::fileFormat" ref="9bd0982c79d43f96a253486e79c453df" args="" -->
-<a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">fileFormat</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The format of the containing file. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89f158688c90cef1df24bbfb7770a881"></a><!-- doxytag: member="XMP_ThumbnailInfo::fullWidth" ref="89f158688c90cef1df24bbfb7770a881" args="" -->
-XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">fullWidth</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full image size in pixels. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17ac245bb300328031f998ba13f0169b"></a><!-- doxytag: member="XMP_ThumbnailInfo::tnailWidth" ref="17ac245bb300328031f998ba13f0169b" args="" -->
-XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">tnailWidth</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thumbnail image size in pixels. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffcd0f874cb6c5faaf8d595956cabf24"></a><!-- doxytag: member="XMP_ThumbnailInfo::fullOrientation" ref="ffcd0f874cb6c5faaf8d595956cabf24" args="" -->
-XMP_Uns16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">fullOrientation</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Orientation of full image and thumbnail, as defined by Exif for tag 274. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="683c74dc7168f0046204ea153de3c179"></a><!-- doxytag: member="XMP_ThumbnailInfo::tnailImage" ref="683c74dc7168f0046204ea153de3c179" args="" -->
-const XMP_Uns8 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">tnailImage</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raw image data from the host file, valid for life of the owning <code>XMPFiles</code> object. Do not modify! <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77072568158233d0c44dd4c8636366ff"></a><!-- doxytag: member="XMP_ThumbnailInfo::tnailSize" ref="77072568158233d0c44dd4c8636366ff" args="" -->
-XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">tnailSize</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size in bytes of the thumbnail image data. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f57b103c5a78c636afc3a391f28a5906"></a><!-- doxytag: member="XMP_ThumbnailInfo::tnailFormat" ref="f57b103c5a78c636afc3a391f28a5906" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">tnailFormat</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The format of the thumbnail image data. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ccab4dea65d89c7ab141b59ac055955"></a><!-- doxytag: member="XMP_ThumbnailInfo::pad1" ref="6ccab4dea65d89c7ab141b59ac055955" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">pad1</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Padding to make the struct's size be a multiple 4. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Thumbnail descriptor. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/docs/API/structXMP__VersionInfo-members.html b/docs/API/structXMP__VersionInfo-members.html
index 2c64127..5282443 100644
--- a/docs/API/structXMP__VersionInfo-members.html
+++ b/docs/API/structXMP__VersionInfo-members.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<title>XMP-Toolkit-SDK-5.1.2: Member List</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,16 +63,16 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_VersionInfo Member List</h1>This is the complete list of members for <a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">build</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">flags</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">isDebug</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">major</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">message</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">micro</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">minor</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+<h1>XMP_VersionInfo Member List</h1>This is the complete list of members for <a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc">build</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74">flags</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018">isDebug</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb">major</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834">message</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28">micro</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317">minor</a></td><td><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td></td></tr>
</table></div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/structXMP__VersionInfo.html b/docs/API/structXMP__VersionInfo.html
index ac76c56..81a0abe 100644
--- a/docs/API/structXMP__VersionInfo.html
+++ b/docs/API/structXMP__VersionInfo.html
@@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>XMP-Toolkit-SDK-4.4.2: XMP_VersionInfo Struct Reference</title>
+<title>XMP-Toolkit-SDK-5.1.2: XMP_VersionInfo Struct Reference</title>
<link href="xmp.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
@@ -63,50 +63,44 @@ window.onload = initDynSections;
</div>
</div>
<div class="contents">
-<h1>XMP_VersionInfo Struct Reference</h1><!-- doxytag: class="XMP_VersionInfo" -->XMP Toolkit version information.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a>&gt;</code>
-<p>
+<h1>XMP_VersionInfo Struct Reference</h1><!-- doxytag: class="XMP_VersionInfo" -->
+<p>XMP Toolkit version information.
+<a href="#_details">More...</a></p>
-<p>
-<a href="structXMP__VersionInfo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7edfa1613a58a248fd15267008bd8afb"></a><!-- doxytag: member="XMP_VersionInfo::major" ref="7edfa1613a58a248fd15267008bd8afb" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">major</a></td></tr>
+<p><code>#include &lt;<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>&gt;</code></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The primary release number, the "1" in version "1.2.3". <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5b56598e15febd742b431dadae7c317"></a><!-- doxytag: member="XMP_VersionInfo::minor" ref="f5b56598e15febd742b431dadae7c317" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">minor</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The secondary release number, the "2" in version "1.2.3". <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b448a8253e26a37d2df35e04ac25d28"></a><!-- doxytag: member="XMP_VersionInfo::micro" ref="4b448a8253e26a37d2df35e04ac25d28" args="" -->
-XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">micro</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The tertiary release number, the "3" in version "1.2.3". <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1643d86f32f5a5a275dc9c5ba843018"></a><!-- doxytag: member="XMP_VersionInfo::isDebug" ref="f1643d86f32f5a5a275dc9c5ba843018" args="" -->
-XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">isDebug</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 0/1 boolean value, true if this is a debug build. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e20a6bf10da4c17bdfc8027f1586ffc"></a><!-- doxytag: member="XMP_VersionInfo::build" ref="0e20a6bf10da4c17bdfc8027f1586ffc" args="" -->
-XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">build</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A rolling build number, monotonically increasing in a release. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d018f35b382046ca77b1252bafa93f74"></a><!-- doxytag: member="XMP_VersionInfo::flags" ref="d018f35b382046ca77b1252bafa93f74" args="" -->
-XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">flags</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Individual feature implementation flags. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19654242b92bffd7517e92882850e834"></a><!-- doxytag: member="XMP_VersionInfo::message" ref="19654242b92bffd7517e92882850e834" args="" -->
-<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">message</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A comprehensive version information string. <br></td></tr>
+<p><a href="structXMP__VersionInfo-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7edfa1613a58a248fd15267008bd8afb"></a><!-- doxytag: member="XMP_VersionInfo::major" ref="a7edfa1613a58a248fd15267008bd8afb" args="" -->
+XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb">major</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The primary release number, the "1" in version "1.2.3". <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5b56598e15febd742b431dadae7c317"></a><!-- doxytag: member="XMP_VersionInfo::minor" ref="af5b56598e15febd742b431dadae7c317" args="" -->
+XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317">minor</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The secondary release number, the "2" in version "1.2.3". <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b448a8253e26a37d2df35e04ac25d28"></a><!-- doxytag: member="XMP_VersionInfo::micro" ref="a4b448a8253e26a37d2df35e04ac25d28" args="" -->
+XMP_Uns8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28">micro</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The tertiary release number, the "3" in version "1.2.3". <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1643d86f32f5a5a275dc9c5ba843018"></a><!-- doxytag: member="XMP_VersionInfo::isDebug" ref="af1643d86f32f5a5a275dc9c5ba843018" args="" -->
+XMP_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018">isDebug</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A 0/1 boolean value, true if this is a debug build. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e20a6bf10da4c17bdfc8027f1586ffc"></a><!-- doxytag: member="XMP_VersionInfo::build" ref="a0e20a6bf10da4c17bdfc8027f1586ffc" args="" -->
+XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc">build</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A rolling build number, monotonically increasing in a release. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad018f35b382046ca77b1252bafa93f74"></a><!-- doxytag: member="XMP_VersionInfo::flags" ref="ad018f35b382046ca77b1252bafa93f74" args="" -->
+XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74">flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Individual feature implementation flags. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19654242b92bffd7517e92882850e834"></a><!-- doxytag: member="XMP_VersionInfo::message" ref="a19654242b92bffd7517e92882850e834" args="" -->
+<a class="el" href="XMP__Const_8h.html#ad439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834">message</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A comprehensive version information string. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-XMP Toolkit version information. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="XMP__Const_8h-source.html">XMP_Const.h</a></ul>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>XMP Toolkit version information. </p>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a></li>
+</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
-XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+XMP-Toolkit-SDK-5.1.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.6.3</small></address>
</body>
</html>
diff --git a/docs/API/tabs.css b/docs/API/tabs.css
index 95f00a9..a444163 100644
--- a/docs/API/tabs.css
+++ b/docs/API/tabs.css
@@ -32,7 +32,7 @@ DIV.tabs A
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
- font-size : x-small;
+ font-size : 80%;
font-weight : bold;
text-decoration : none;
}
@@ -57,7 +57,7 @@ DIV.tabs SPAN
white-space : nowrap;
}
-DIV.tabs INPUT
+DIV.tabs #MSearchBox
{
float : right;
display : inline;
@@ -66,7 +66,7 @@ DIV.tabs INPUT
DIV.tabs TD
{
- font-size : x-small;
+ font-size : 80%;
font-weight : bold;
text-decoration : none;
}
@@ -99,4 +99,7 @@ DIV.navpath
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
}
diff --git a/docs/API/xmp_tagline_small.jpg b/docs/API/xmp_tagline_small.jpg
index 94ad334..94ad334 100755..100644
--- a/docs/API/xmp_tagline_small.jpg
+++ b/docs/API/xmp_tagline_small.jpg
Binary files differ
diff --git a/docs/XMPProgrammersGuide.pdf b/docs/XMPProgrammersGuide.pdf
index 78ea790..51e1f02 100644
--- a/docs/XMPProgrammersGuide.pdf
+++ b/docs/XMPProgrammersGuide.pdf
Binary files differ
diff --git a/docs/XMPSpecificationPart1.pdf b/docs/XMPSpecificationPart1.pdf
index b1c5663..6b45361 100644
--- a/docs/XMPSpecificationPart1.pdf
+++ b/docs/XMPSpecificationPart1.pdf
Binary files differ
diff --git a/docs/XMPSpecificationPart2.pdf b/docs/XMPSpecificationPart2.pdf
index 8b4a245..08bf699 100644
--- a/docs/XMPSpecificationPart2.pdf
+++ b/docs/XMPSpecificationPart2.pdf
Binary files differ
diff --git a/docs/XMPSpecificationPart3.pdf b/docs/XMPSpecificationPart3.pdf
index 9af5ff6..a414f40 100644
--- a/docs/XMPSpecificationPart3.pdf
+++ b/docs/XMPSpecificationPart3.pdf
Binary files differ