summaryrefslogtreecommitdiff
path: root/docs/XMPToolkit/classTXMPMeta.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/XMPToolkit/classTXMPMeta.html')
-rw-r--r--docs/XMPToolkit/classTXMPMeta.html2781
1 files changed, 0 insertions, 2781 deletions
diff --git a/docs/XMPToolkit/classTXMPMeta.html b/docs/XMPToolkit/classTXMPMeta.html
deleted file mode 100644
index 3207227..0000000
--- a/docs/XMPToolkit/classTXMPMeta.html
+++ /dev/null
@@ -1,2781 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Adobe XMP Toolkit: TXMPMeta&lt; tStringObj &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="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>
-<h1>TXMPMeta&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPMeta" -->Template class for 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>
-<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>Constructors and destructor</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#7729cbce91956632289b88d85fdc65ae">TXMPMeta</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, creates an empty object. <a href="#7729cbce91956632289b88d85fdc65ae"></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#21a4d06fc2e77b28991bb900f0f48e50">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="#21a4d06fc2e77b28991bb900f0f48e50"></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>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal ref and increments the ref 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#5912613564f80e17eb10acef9236f70a">XMPMetaRef</a> xmpRef)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstruct an XMP object from an internal ref. <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">Construct 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>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions for getting property values</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The property value "getters" all take a property specification, The first two parameters are always 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 return a Boolean result telling if the property exists, and if it does they also return option flags describing the property. If the property exists and has a value, the string value is also returned. The string is Unicode in UTF-8 encoding. Arrays and the non-leaf levels of structs do not have values. The possible option flags that describe properties are:<p>
-<ul>
-<li><code>kXMP_PropValueIsURI</code> - The property value is a URI. It is serialized to RDF using the <code>rdf:resource</code> attribute. Not mandatory for URIs, but considered RDF-savvy.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropHasQualifiers</code> - The property has qualifiers. These could be an <code>xml:lang</code> attribute, an <code>rdf:type</code> property, or a general qualifier. See the introductory discussion of qualified properties for more information.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropIsQualifier</code> - This property is a qualifier for some other property. Note that if the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree. Qualifiers may have arbitrary structure, and may even have qualifiers.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropHasLang</code> - This property has an <code>xml:lang</code> qualifier.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropHasType</code> - This property has an <code>rdf:type</code> qualifier.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropValueIsStruct</code> - This property contains nested fields (models a C struct).</li>
-</ul>
-<ul>
-<li><code>kXMP_PropValueIsArray</code> - This property is an array. By itself (no ...ArrayIs... flags), this indicates a general unordered array. It is serialized using an <code>rdf:Bag</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsOrdered</code> - This property is an ordered array. Appears in conjunction with <code>kXMP_PropValueIsArray</code>. It is serialized using an <code>rdf:Seq</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsAlternate</code> - This property is an alternative array. Appears in conjunction with <code>kXMP_PropValueIsArray</code>. It is serialized using an <code>rdf:Alt</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsAltText</code> - This property is an alt-text array. Appears in conjunction with <code>kXMP_PropArrayIsAlternate</code>. It is serialized using an <code>rdf:Alt</code> container. Each array element is a simple property with an <code>xml:lang</code> attribute.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropIsAlias</code> - The given property name is an alias. This is only returned by <code>GetProperty</code> and then only if the property name is simple, not an path expression.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropHasAliases</code> - The given property name has aliases. This is only returned by <code>GetProperty</code> and then only if the property name is simple, not an path expression.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropIsStable</code> - The value of this property is not related to the document content.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropIsDerived</code> - The value of this property is derived from the document content.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropIsInternal</code> - The value of this property is "owned" by the application, it should not generally be editable in a UI. </li>
-</ul>
-<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>GetProperty</code> is the simplest property getter, mainly for top level simple properties or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html">TXMPUtils</a></code>. <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>GetArrayItem</code> provides access to items within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc. <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#e99d2bc414d5cd68851147aef6710d4a">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>GetStructField</code> provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax. <a href="#e99d2bc414d5cd68851147aef6710d4a"></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>GetQualifier</code> provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information. <a href="#2cc58d8316043b035643e7c21633bc13"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions for setting property values</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The property value "setters" all take a property specification, their differences are in the form of this. The first two parameters are always 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 string value for the property and option flags describing the property. The value must be Unicode in UTF-8 encoding. Arrays and non-leaf levels of structs do not have values. Empty arrays and structs may be created using appropriate option flags. All levels of structs that is assigned implicitly are created if necessary. <code>AppendArayItem</code> implicitly creates the named array if necessary.<p>
-The canonical form of these functions take the value as an <code>XMP_StringPtr</code>, a pointer to a null terminated string. (<code>XMP_StringPtr</code> is a typedef for <code>const char *</code>.) They also have overloaded forms that take a string object. These are implemented in the template instantiation as a call to the canonical form, using <code>value.c_str()</code> to obtain the <code>XMP_StringPtr</code>.<p>
-The possible option flags are:<p>
-<ul>
-<li><code>kXMP_PropValueIsURI</code> - The property value is a URI. It is serialized to RDF using the <code>rdf:resource</code> attribute. Not mandatory for URIs, but considered RDF-savvy.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropValueIsStruct</code> - This property contains nested fields (models a C struct). Not necessary, may be used to create an empty struct. A struct is implicitly created when first field is set.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropValueIsArray</code> - This property is an array. By itself (no ...ArrayIs... flags), this indicates a general unordered array. It is serialized using an <code>rdf:Bag</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsOrdered</code> - This property is an ordered array. Implies <code>kXMP_PropValueIsArray</code>, may be used together. It is serialized using an <code>rdf:Seq</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsAlternate</code> - This property is an alternative array. Implies <code>kXMP_PropArrayIsOrdered</code>, may be used together. It is serialized using an <code>rdf:Alt</code> container.</li>
-</ul>
-<ul>
-<li><code>kXMP_PropArrayIsAltText</code> - This property is an alt-text array. Implies <code>kXMP_PropArrayIsAlternate</code>, may be used together. It is serialized using an <code>rdf:Alt</code> container. Each array element must be a simple property with an <code>xml:lang</code> attribute. </li>
-</ul>
-<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>SetProperty</code> is the simplest property setter, mainly for top level simple properties or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html">TXMPUtils</a></code>. <a href="#1dfd6a08ebfd1a6364b3a7b6584bcc28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>SetProperty</code> is a simple overload in the template that calls the above form passing <code>propValue.c_str()</code>. <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>SetArrayItem</code> provides access to items within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc. The array passed to <code>SetArrayItem</code> must already exist. See also <code>AppendArrayItem</code>. <a href="#1570eb89d613b4a94ca572e4644168cc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>SetArrayItem</code> is a simple overload in the template that calls the above form passing <code>itemValue.c_str()</code>. <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>AppendArrayItem</code> 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. Each call to <code>AppendArrayItem</code> appends an item to the array. The corresponding parameters have the same use as <code>SetArrayItem</code>. The <code>arrayOptions</code> parameter is used to specify what kind of array. If the array exists, it must have the specified form. <a href="#00d7314dc970ad390499ce9db27d314a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>AppendArrayItem</code> is a simple overload in the template that calls the above form passing <code>itemValue.c_str()</code>. <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>SetStructField</code> provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax. <a href="#0e44c30e7527064909e5f7035d53c4f5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>SetStructField</code> is a simple overload in the template that calls the above form passing <code>fieldValue.c_str()</code>. <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>SetQualifier</code> provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information. <a href="#c2e798da5f9d94e486382a41e73fcea3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>SetQualifier</code> is a simple overload in the template that calls the above form passing <code>qualValue.c_str()</code>. <br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions for deleting and detecting properties.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These should be obvious from the descriptions of the getters and setters. <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>DeleteProperty</code> deletes the given XMP subtree rooted at the given property. It is not an error if the property does not exist. <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>DeleteArrayItem</code> deletes the given XMP subtree rooted at the given array item. It is not an error if the array item does not exist. <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>DeleteStructField</code> deletes the given XMP subtree rooted at the given struct field. It is not an error if the field does not exist. <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>DeleteQualifier</code> deletes the given XMP subtree rooted at the given qualifier. It is not an error if the qualifier does not exist. <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>DoesPropertyExist</code> tells if the property 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>DoesArrayItemExist</code> tells if the array item 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>DoesStructFieldExist</code> tells if the struct field 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>DoesQualifierExist</code> tells if the qualifier exists. <a href="#81347a92becd387a14f4d47c582f129a"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions for accessing localized text (alt-text) properties.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions provide convenient support for localized text properties, including a number of special and obscure aspects. 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>
-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 may 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>
-<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:</dd></dl>
-<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>SetLocalizedText</code> function has several special features related to the x-default item, see its description for details.<p>
-The selection of the array item is the same for <code>GetLocalizedText</code> and <code>SetLocalizedText:</code> <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>
-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>
-It is fine to pass x-default as the specific language. In this case, selection of an x-default 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. <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>GetLocalizedText</code> returns information about a selected item in an alt-text array. The array item is selected according to the rules given above. <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>SetLocalizedText</code> modifies the value of a selected item in an alt-text array. Creates an appropriate array item if necessary, and handles special cases for the x-default item. <a href="#f9531b949a462f5663b1f3fd99464c19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><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)" -->
-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">This form of <code>SetLocalizedText</code> is a simple overload in the template that calls the above form passing <code>itemValue.c_str()</code>. <br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions accessing properties as binary values.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These are very similar to <code>GetProperty</code> and <code>SetProperty</code> above, but the value is returned or provided in binary form instead of as a UTF-8 string. The path composition functions in <code><a class="el" href="classTXMPUtils.html">TXMPUtils</a></code> may be used to compose an path expression for fields in nested structures, items in arrays, or 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>GetProperty_Bool</code> returns 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>GetProperty_Int</code> returns 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#d1a6629b0466981b67d31c9dc3840ea7">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>GetProperty_Int64</code> returns the value of an integer property as a C long long integer. <a href="#d1a6629b0466981b67d31c9dc3840ea7"></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>GetProperty_Float</code> returns the value of a flaoting 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>GetProperty_Date</code> returns the value of a date/time property as an <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> struct. <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>SetProperty_Bool</code> sets the value of a Boolean property from 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>SetProperty_Int</code> sets the value of an integer property from 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>SetProperty_Int64</code> sets the value of an integer property from 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>SetProperty_Float</code> sets the value of a floating point property from 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>SetProperty_Date</code> sets the value of a date/time property from an <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> struct. <a href="#eee10669445f77139d5634199ff01079"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Misceallaneous functions.</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d35b44f1f017a27772ee902a3dacf04"></a><!-- doxytag: member="TXMPMeta::GetInternalRef" ref="4d35b44f1f017a27772ee902a3dacf04" args="() const" -->
-<a class="el" href="XMP__Const_8h.html#5912613564f80e17eb10acef9236f70a">XMPMetaRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#4d35b44f1f017a27772ee902a3dacf04">GetInternalRef</a> () const</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GetInternalRef Returns an internal reference that may be safely passed across DLL boundaries and reconstructed. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0d179ed95487d4fd4f2680c1fbe0d40"></a><!-- doxytag: member="TXMPMeta::GetObjectName" ref="b0d179ed95487d4fd4f2680c1fbe0d40" args="(tStringObj *name) const " -->
-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">GetObjectName --TBD--. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf1935be8e4849976dfc02325424960a"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="cf1935be8e4849976dfc02325424960a" args="(XMP_StringPtr name)" -->
-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">SetObjectName --TBD--. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd059cc7cd9f906e12dab04e380e495c"></a><!-- doxytag: member="TXMPMeta::SetObjectName" ref="fd059cc7cd9f906e12dab04e380e495c" args="(tStringObj name)" -->
-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">SetObjectName --TBD--. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39aeaf9eb83cfc1c5455807b95f055f9"></a><!-- doxytag: member="TXMPMeta::GetObjectOptions" ref="39aeaf9eb83cfc1c5455807b95f055f9" 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#39aeaf9eb83cfc1c5455807b95f055f9">GetObjectOptions</a> () const</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GetObjectOptions --TBD--. <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#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">SetObjectOptions --TBD--. <a href="#92055b3ae18dfd5e5491108f59318f17"></a><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>Clone</code> creates a deep clone of the XMP object. <a href="#6ca653436995bbb76315efe7934afd4c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b79aae864b3ce190d0699252f48e0acc"></a><!-- doxytag: member="TXMPMeta::CountArrayItems" ref="b79aae864b3ce190d0699252f48e0acc" args="(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const " -->
-<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">CountArrayItems --TBD--. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="976c1eb889f44080f76628805712b618"></a><!-- doxytag: member="TXMPMeta::DumpObject" ref="976c1eb889f44080f76628805712b618" args="(XMP_TextOutputProc outProc, void *refCon) const " -->
-<a class="el" href="XMP__Const_8h.html#91efdc0a7fbe6e1d42ca34e6ce589b98">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#976c1eb889f44080f76628805712b618">DumpObject</a> (<a class="el" href="XMP__Const_8h.html#36eab570ab85ff8fb5789661692d13c2">XMP_TextOutputProc</a> outProc, void *refCon) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>DumpObject</code> dumps the content of an XMP object. <br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Functions for parsing and serializing.</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions support parsing serialized RDF into an XMP object, and serailizing an XMP object into RDF. The input for parsing may 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>ParseFromBuffer</code> parses RDF from a series of input buffers. The buffers may be any length. The buffer boundaries need not respect XML tokens or even Unicode characters. <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>SerializeToBuffer</code> serializes an XMP object into a string as RDF. <a href="#2774a6f15ae22f0002201b58c46bfb49"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34143727d979b47a2f2209367aec9a1c"></a><!-- doxytag: member="TXMPMeta::SerializeToBuffer" ref="34143727d979b47a2f2209367aec9a1c" args="(tStringObj *rdfString, XMP_OptionBits options=0, XMP_StringLen padding=0) const" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#34143727d979b47a2f2209367aec9a1c">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">This form of <code>SerializeToBuffer</code> is a simple overload in the template that calls the above form passing default values for the <code>newline</code>, <code>indent</code>, and <code>baseIndent</code> parameters. <br></td></tr>
-<tr><td colspan="2"><br><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"><a class="anchor" name="5415cfc01a9cb8786939246571a23a9d"></a><!-- doxytag: member="TXMPMeta::GetVersionInfo" ref="5415cfc01a9cb8786939246571a23a9d" args="(XMP_VersionInfo *info)" -->
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d">GetVersionInfo</a> (XMP_VersionInfo *info)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain version information. <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#bfddf1df0e01ab33d5636a80edc973ca">Initialize</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the XMP Toolkit. <a href="#bfddf1df0e01ab33d5636a80edc973ca"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c30fae26173167958b6f0da95a53865"></a><!-- doxytag: member="TXMPMeta::Terminate" ref="6c30fae26173167958b6f0da95a53865" args="()" -->
-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">Terminate the XMP Toolkit. <br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Global option flags</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The global option flags affect the overall behavior of the XMP Toolkit. The available options are declared in <code><a class="el" href="XMP__Const_8h.html">XMP_Const.h</a></code>. <b>(There are none at present.)</b> <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12b2435ba039c62a164951948c016eb4"></a><!-- doxytag: member="TXMPMeta::GetGlobalOptions" ref="12b2435ba039c62a164951948c016eb4" args="()" -->
-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">GetGlobalOptions returns the set of global option flags. <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>SetGlobalOptions</code> updates the set of global option flags. The entire set is replaced with the new values. If only one flag is to be modified, use <code>GetGlobalOptions</code> to obtain the current set, modify the desired flag, then use <code>SetGlobalOptions</code>. <a href="#e7bb38d9b3857b08106630a386b47332"></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. The output callback is described in <code><a class="el" href="XMP__Const_8h.html">XMP_Const.h</a></code>. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44250140a710c0b7c5cc0881e387d004"></a><!-- doxytag: member="TXMPMeta::DumpNamespaces" ref="44250140a710c0b7c5cc0881e387d004" args="(XMP_TextOutputProc outProc, void *refCon)" -->
-static <a class="el" href="XMP__Const_8h.html#91efdc0a7fbe6e1d42ca34e6ce589b98">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#44250140a710c0b7c5cc0881e387d004">DumpNamespaces</a> (<a class="el" href="XMP__Const_8h.html#36eab570ab85ff8fb5789661692d13c2">XMP_TextOutputProc</a> outProc, void *refCon)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>DumpNamespaces</code> dumps the list of registered namespace URIs and prefixes. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="afb027f200b85467298d237a0c23949b"></a><!-- doxytag: member="TXMPMeta::DumpAliases" ref="afb027f200b85467298d237a0c23949b" args="(XMP_TextOutputProc outProc, void *refCon)" -->
-static <a class="el" href="XMP__Const_8h.html#91efdc0a7fbe6e1d42ca34e6ce589b98">XMP_Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html#afb027f200b85467298d237a0c23949b">DumpAliases</a> (<a class="el" href="XMP__Const_8h.html#36eab570ab85ff8fb5789661692d13c2">XMP_TextOutputProc</a> outProc, void *refCon)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>DumpAliases</code> dumps the list of registered aliases and corresponding actuals. <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#4c69d31a37ff24c85679229c479aa1ac">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">Register a namespace URI with a suggested prefix. <a href="#4c69d31a37ff24c85679229c479aa1ac"></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">Obtain the prefix for a registered namespace URI. <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">Obtain the URI for a registered namespace prefix. <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">Delete a namespace from the registry. <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, Macintosh file aliases, or UNIX file symbolic links. The aliases are simply multiple names for the same property. One distinction of XMP aliases is that they are ordered, there is an alias name pointing 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>
-The names that can be aliased in XMP are restricted. The alias must be a top level property name, not a field within a structure or an element within an array. The actual may 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. It is OK to 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#b9463c7459125ca0038db2e586c5e4df">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">Associates an alias name with an actual name. <a href="#b9463c7459125ca0038db2e586c5e4df"></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">Determines if 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">Delete 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">Registers all of the built-in aliases for a standard namespace. <a href="#b77cf73fa0cc63d845f113b3d1c83602"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class tStringObj&gt;<br>
- class TXMPMeta&lt; tStringObj &gt;</h3>
-
-Template class for the XMP Toolkit core services.
-<p>
-<code><a class="el" href="classTXMPMeta.html">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 std::string. Please read the general toolkit usage notes for information about the overall architecture of the XMP API.<p>
-This template wraps a string object class around the raw XMP API. This provides two significant benefits, output strings are automatically copied and access is fully thread safe. The umbrella header, <code>XMP.hpp</code>, provides an <code>SXMPMeta</code> typedef for the instantiated template. String objects are only necessary for output strings. Input string are literals and passed as typical C <code>const char *</code>.<p>
-The template parameter, class <code>TtStringObj</code>, is described in the XMP.hpp umbrella header.<p>
-<b>Be aware that the <code><a class="el" href="classTXMPMeta.html">TXMPMeta</a></code> class is a normal C++ template, it is instantiated and local to each client executable. As are the other TXMP* classes. Different clients might not even use the same string type to instantiate <code><a class="el" href="classTXMPMeta.html">TXMPMeta</a></code>.</b><p>
-Because of this you should not pass <code>SXMPMeta</code> objects, or pointers to <code>SXMPMeta</code> objects, across DLL boundaries. There is 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 GetInternalRef and the associated constructor like this: <div class="fragment"><pre class="fragment"> --- The callee's header contains:
- CalleeMethod ( <a class="code" href="XMP__Const_8h.html#5912613564f80e17eb10acef9236f70a">XMPMetaRef</a> xmpRef );
-
- --- The caller's code contains:
- SXMPMeta callerXMP;
- CalleeMethod ( callerXMP.GetInternalRef() );
-
- --- The callee's code contains:
- SXMPMeta calleeXMP ( xmpRef );
-</pre></div>
-<p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="7729cbce91956632289b88d85fdc65ae"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="7729cbce91956632289b88d85fdc65ae" 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>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</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">TXMPMeta</a></code> object.
-</div>
-</div><p>
-<a class="anchor" name="21a4d06fc2e77b28991bb900f0f48e50"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="21a4d06fc2e77b28991bb900f0f48e50" 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>(</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>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</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">TXMPMeta</a></code> object that refers to the same internal XMP object.
-</div>
-</div><p>
-<a class="anchor" name="cbe8f556a5b32542c44fa9de9648ad41"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="cbe8f556a5b32542c44fa9de9648ad41" 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>(</td>
- <td class="paramtype"><a class="el" href="XMP__Const_8h.html#5912613564f80e17eb10acef9236f70a">XMPMetaRef</a>&nbsp;</td>
- <td class="paramname"> <em>xmpRef</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reconstruct an XMP object from an internal ref.
-<p>
-This constructor creates a new <code><a class="el" href="classTXMPMeta.html">TXMPMeta</a></code> object that refers to the underlying <code>xmpRef</code>, which was obtained from some other XMP object by the <code>GetInternalRef</code> method. This is used to safely pass XMP objects across DLL boundaries.
-</div>
-</div><p>
-<a class="anchor" name="05199e2a4bc61db7aed207759e899bc2"></a><!-- doxytag: member="TXMPMeta::TXMPMeta" ref="05199e2a4bc61db7aed207759e899bc2" 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>(</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>
- </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>xmpSize</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Construct an object and parse one buffer of RDF into it.
-<p>
-This constructor creates a new <code><a class="el" href="classTXMPMeta.html">TXMPMeta</a></code> object and populates it with metadata from a buffer containing serialized RDF. This buffer must be a complete RDF parse stream. Pass (0,0) to construct an empty <code><a class="el" href="classTXMPMeta.html">TXMPMeta</a></code> object. The result of an actual parse is identical to creating an empty object then calling <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">TXMPMeta::ParseFromBuffer</a></code>. The RDF must be complete. If you need to parse with multiple buffers, create an empty object and use <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26">TXMPMeta::ParseFromBuffer</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>buffer</em>&nbsp;</td><td>A pointer to the buffer of RDF to be parsed. May be null if the length is 0.</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>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="bfddf1df0e01ab33d5636a80edc973ca"></a><!-- doxytag: member="TXMPMeta::Initialize" ref="bfddf1df0e01ab33d5636a80edc973ca" args="()" -->
-<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>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initialize the XMP Toolkit.
-<p>
-The XMP Toolkit may be explicitly initialized before use. The allocate/delete parameters must be either both null (0), or both non-null.
-</div>
-</div><p>
-<a class="anchor" name="4d5a601c9b77f6f6ab5f14e658de58ef"></a><!-- doxytag: member="TXMPMeta::operator=" ref="4d5a601c9b77f6f6ab5f14e658de58ef" 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;::operator= </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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assignment operator, assigns the internal ref and increments the ref count.
-<p>
-The assignment operator assigns the internal ref from the rhs object and increments the reference count on the underlying internal XMP object.
-</div>
-</div><p>
-<a class="anchor" name="e7bb38d9b3857b08106630a386b47332"></a><!-- doxytag: member="TXMPMeta::SetGlobalOptions" ref="e7bb38d9b3857b08106630a386b47332" 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">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#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
- <td class="paramname"> <em>options</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetGlobalOptions</code> updates the set of global option flags. The entire set is replaced with the new values. If only one flag is to be modified, use <code>GetGlobalOptions</code> to obtain the current set, modify the desired flag, then use <code>SetGlobalOptions</code>.
-<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>There are no options to set yet. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="4c69d31a37ff24c85679229c479aa1ac"></a><!-- doxytag: member="TXMPMeta::RegisterNamespace" ref="4c69d31a37ff24c85679229c479aa1ac" 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">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>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>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 width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Register a namespace URI with a suggested prefix.
-<p>
-It is not an error if the URI is already registered, no matter what the prefix is. If the URI is not registered but the suggested prefix is in use, a unique prefix is created from the suggested one. The actual registeed prefix is always returned. The function result tells if the registered prefix is the suggested one.<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>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>Returns the prefix actually registered for this URI.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the registered prefix matches the suggested prefix.</dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>No checking is presently 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 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>(</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>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>namespacePrefix</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Obtain the prefix for a registered namespace URI.
-<p>
-It is not an error if the namespace URI is not registered. The output <code>namespacePrefix</code> string is not modified if the namespace URI is not registered.<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>namespaceURI</em>&nbsp;</td><td>The URI for the namespace. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>namespacePrefix</em>&nbsp;</td><td>Returns the prefix registered for this URI, with a terminating ':'.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 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 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>(</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>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></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 width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Obtain the URI for a registered namespace prefix.
-<p>
-It is not an error if the namespace prefix is not registered. The output <code>namespaceURI</code> string is not modified if the namespace prefix is not registered.<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>namespacePrefix</em>&nbsp;</td><td>The prefix for the namespace. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>namespaceURI</em>&nbsp;</td><td>Returns the URI registered for this prefix.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the namespace prefix is registered. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="3f989597e95db929676273cacd4ea09a"></a><!-- doxytag: member="TXMPMeta::DeleteNamespace" ref="3f989597e95db929676273cacd4ea09a" 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 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#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
- <td class="paramname"> <em>namespaceURI</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Delete a namespace from the registry.
-<p>
-Does nothing if the URI is not registered, or if the <code>namespaceURI</code> parameter is null or the empty string.<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>namespaceURI</em>&nbsp;</td><td>The URI for the namespace.</td></tr>
- </table>
-</dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd><b>Not yet implemented.</b> </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="b9463c7459125ca0038db2e586c5e4df"></a><!-- doxytag: member="TXMPMeta::RegisterAlias" ref="b9463c7459125ca0038db2e586c5e4df" args="(XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm=kXMP_NoOptions)" -->
-<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>(</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>
- </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>
- </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>
- </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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Associates an alias name with an actual name.
-<p>
-Define a 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 may 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>
-<dl compact><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>kXMP_NoOptions</code>, the default value, for all direct aliases regardless of whether the actual data type is an array or not.</td></tr>
- </table>
-</dl>
-Constants for the arrayForm parameter:<p>
-<ul>
-<li><code>kXMP_NoOptions</code> - This is a direct mapping. The actual data type does not matter. </li>
-<li><code>kXMP_PropValueIsArray</code> - The actual is an unordered array, the alias is to the first element of the array. </li>
-<li><code>kXMP_PropArrayIsOrdered</code> - The actual is an ordered array, the alias is to the first element of the array. </li>
-<li><code>kXMP_PropArrayIsAlternate</code> - The actual is an alternate array, the alias is to the first element of the array. </li>
-<li><code>kXMP_PropArrayIsAltText</code> - The actual is an alternate text array, the alias is to the 'x-default' element of the array. </li>
-</ul>
-
-</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 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>(</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>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>actualNS</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">tStringObj *&nbsp;</td>
- <td class="paramname"> <em>actualProp</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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Determines if a name is an alias, and what it is aliased to.
-<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>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. May 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>Untouched if <code>aliasNS:aliasProp</code> is not an alias. Otherwise returns the namespace URI for the actual. May 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>Untouched if <code>aliasNS:aliasProp</code> is not an alias. Otherwise returns the path of the actual. May 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>Untouched if <code>aliasNS:aliasProp</code> is not an alias. Otherwise returns the form of the actual. This is 0 (<code>kXMP_NoOptions</code>) if the alias and actual forms match, otherwise it is the options passed to <code><a class="el" href="classTXMPMeta.html#b9463c7459125ca0038db2e586c5e4df">TXMPMeta::RegisterAlias</a></code>. May be null if the actual's form is not wanted.</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the input is an alias.</dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The client output strings are not written until return, so a call like the following may be used to "reduce" a path to the base form: <div class="fragment"><pre class="fragment"> isAlias = SXMPMeta::ResolveAlias ( ns.c_str(), path.c_str(), &amp;ns, &amp;path, 0 );
-</pre></div> </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 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>(</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>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Delete an alias.
-<p>
-This only deletes the registration of the alias, it does not delete the actual property. It does delete any view of the property through the alias name. It is OK to attempt to delete an alias that does not exist, that is if the alias name is not registered as an alias.<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>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>
- </table>
-</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 width="100%"><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Registers all of the built-in aliases for a standard namespace.
-<p>
-The built-in aliases are documented in the XMP Specification. This registers the aliases in the given namespace, that is the aliases from this namespace to actuals in other namespaces.<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 " -->
-<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>(</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>
- </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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty</code> is the simplest property getter, mainly for top level simple properties or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html">TXMPUtils</a></code>.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. May be null or the empty string if the first component of the propName path contains a namespace prefix. The URI must be for a registered namespace.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. May be a general path expression, must not be null or the empty string. Using a namespace prefix on the first component is optional. If present without a <code>schemaNS</code> value then the prefix specifies the namespace. The prefix must be for a registered namespace. If both a <code>schemaNS</code> URI and <code>propName</code> prefix are present, they must be corresponding parts of a registered namespace.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the string that is assigned the value of the property, if the property has a value. Arrays and non-leaf levels of structs do not have values. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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>
- </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="paramname"> <em>options</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetArrayItem</code> provides access to items within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the array item exists.</dd></dl>
-<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. Has the same usage as in <code>GetProperty</code>.</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. Has the same namespace prefix usage as <code>propName</code> in <code>GeProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The index of the desired item. Arrays in XMP are indexed from 1. The constant <code>kXMP_ArrayLastItem</code> always refers to the last existing array item.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>A pointer to the string that is assigned the value of the array item, if the array item has a value. Arrays and non-leaf levels of structs do not have values. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the array item. May be null if the flags are not wanted. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="e99d2bc414d5cd68851147aef6710d4a"></a><!-- doxytag: member="TXMPMeta::GetStructField" ref="e99d2bc414d5cd68851147aef6710d4a" 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">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="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>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></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></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetStructField</code> provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax.
-<p>
-The names of fields should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix. This is unreliable since the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the field exists.</dd></dl>
-<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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>structName</code> parameter.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>A pointer to the string that is assigned the value of the field, if the field has a value. Arrays and non-leaf levels of structs do not have values. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the field. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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>
- </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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetQualifier</code> provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information.
-<p>
-The names of qualifiers should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix. This is unreliable since the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>Qualifiers are only supported for simple leaf properties at this time.</dd></dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the qualifier exists.</dd></dl>
-<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. Has the same usage as in <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. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>propName</code> parameter.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>A pointer to the string that is assigned the value of the qualifier, if the qualifier has a value. Arrays and non-leaf levels of structs do not have values. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the qualifier. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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>
- </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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty</code> is the simplest property setter, mainly for top level simple properties or after using the path composition functions in <code><a class="el" href="classTXMPUtils.html">TXMPUtils</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>schemaNS</em>&nbsp;</td><td>The namespace URI for the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the value of the property, if the property has a value. Arrays and non-leaf levels of structs do not have values. Must be null if the value is not relevant.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property. See the earlier description. </td></tr>
- </table>
-</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 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>(</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>
- </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>
- </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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetArrayItem</code> provides access to items within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc. The array passed to <code>SetArrayItem</code> must already exist. See also <code>AppendArrayItem</code>.
-<p>
-In normal usage the selected array item is modified. A new item is automatically appended if the index is the array size plus 1. A new item may be inserted before or after any item by using one of the following option flags:<p>
-<ul>
-<li><code>kXMP_InsertBeforeItem</code> - Insert a new array item before the selected one. </li>
-<li><code>kXMP_InsertAfterItem</code> - Insert a new array item after the selected one.</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 array. Has the same usage as in <code>GetProperty</code>.</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. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The index of the desired item. Arrays in XMP are indexed from 1. The constant <code>kXMP_ArrayLastItem</code> always refers to the last existing array item.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the value of the array item, if the array item has a value. Has the same usage as <code>propValue</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the item. See the earlier description. </td></tr>
- </table>
-</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 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>(</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#eb865118433be92d88e5f49ed11487c8">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#d439e3ceeb4590d310f6125aa12c6df6">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#eb865118433be92d88e5f49ed11487c8">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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>AppendArrayItem</code> 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. Each call to <code>AppendArrayItem</code> appends an item to the array. The corresponding parameters have the same use as <code>SetArrayItem</code>. The <code>arrayOptions</code> parameter is used to specify what kind of array. If the array exists, it must have the specified form.
-<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. Has the same usage as in <code>GetProperty</code>.</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. Has the same namespace prefix usage as <code>propPath</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arrayOptions</em>&nbsp;</td><td>Option flags describing the array form. The only valid bits are those that are part of <code>kXMP_PropArrayFormMask:</code> <code>kXMP_PropValueIsArray</code>, <code>kXMP_PropArrayIsOrdered</code>, <code>kXMP_PropArrayIsAlternate</code>, or <code>kXMP_PropArrayIsAltText</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the value of the array item, if the array item has a value. Has the same usage as <code>propValue</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemOptions</em>&nbsp;</td><td>Option flags describing the item. See the earlier description. </td></tr>
- </table>
-</dl>
-
-</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)" -->
-<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>(</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>
- </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>
- </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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetStructField</code> provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax.
-<p>
-The names of fields should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix, which is unreliable because the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.<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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>structName</code> parameter.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the value of the field, if the field has a value. Has the same usage as <code>propValue</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the field. See the earlier description. </td></tr>
- </table>
-</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 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>(</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>
- </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>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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetQualifier</code> provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information.
-<p>
-The names of qualifiers should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix, which is unreliable because the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.<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. Has the same usage as in <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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>propName</code> parameter.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the value of the qualifier, if the qualifier has a value. Has the same usage as <code>propValue</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the qualifier. See the earlier description. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="c8b555ba99904fa49bb4851a60cc3844"></a><!-- doxytag: member="TXMPMeta::DeleteProperty" ref="c8b555ba99904fa49bb4851a60cc3844" 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">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#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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DeleteProperty</code> deletes the given XMP subtree rooted at the given property. It is not an error if the property 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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>. </td></tr>
- </table>
-</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 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>(</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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DeleteArrayItem</code> deletes the given XMP subtree rooted at the given array item. It is not an error if the array item 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 array. Has the same usage as in <code>GetProperty</code>.</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. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The index of the desired item. Arrays in XMP are indexed from 1. The constant <code>kXMP_ArrayLastItem</code> always refers to the last existing array item. </td></tr>
- </table>
-</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 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>(</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></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DeleteStructField</code> deletes the given XMP subtree rooted at the given struct field. 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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>structName</code> parameter. </td></tr>
- </table>
-</dl>
-
-</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 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>(</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>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DeleteQualifier</code> deletes the given XMP subtree rooted at the given qualifier. It is not an error if the qualifier 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. Has the same usage as in <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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>propName</code> parameter. </td></tr>
- </table>
-</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 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>(</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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DoesPropertyExist</code> tells if the property exists.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>. </td></tr>
- </table>
-</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 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>(</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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DoesArrayItemExist</code> tells if the array item exists.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the array item exists.</dd></dl>
-<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. Has the same usage as in <code>GetProperty</code>.</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. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemIndex</em>&nbsp;</td><td>The index of the desired item. Arrays in XMP are indexed from 1. The constant <code>kXMP_ArrayLastItem</code> always refers to the last existing array item. </td></tr>
- </table>
-</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 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>(</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></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DoesStructFieldExist</code> tells if the struct field exists.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the field exists.</dd></dl>
-<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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>structName</em>&nbsp;</td><td>The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>fieldNS</em>&nbsp;</td><td>The namespace URI for the field. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>structName</code> parameter. </td></tr>
- </table>
-</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 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>(</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>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>DoesQualifierExist</code> tells if the qualifier exists.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the qualifier exists.</dd></dl>
-<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. Has the same usage as in <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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>qualNS</em>&nbsp;</td><td>The namespace URI for the qualifier. Has the same URI and prefix usage as the <code>schemaNS</code> parameter.</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. Has the same namespace prefix usage as the <code>propName</code> parameter. </td></tr>
- </table>
-</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 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#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>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>
- </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="paramname"> <em>options</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetLocalizedText</code> returns information about a selected item in an alt-text array. The array item is selected according to the rules given above.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if an appropriate array item exists.</dd></dl>
-<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. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</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. May 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. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>actualLang</em>&nbsp;</td><td>A pointer to the string that is assigned the language of the selected array item, if an appropriate array item is found. May be null if the language is not wanted.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>A pointer to the string that is assigned the value of the array item, if an appropriate array item is found. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the array item. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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>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"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">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#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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetLocalizedText</code> modifies the value of a selected item in an alt-text array. Creates an appropriate array item if necessary, and handles special cases for the x-default item.
-<p>
-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.<p>
-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.<p>
-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.<p>
-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.<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 alt-text array. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>altTextName</em>&nbsp;</td><td>The name of the alt-text array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as <code>propName</code> in <code>GetProperty</code>.</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. May 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. Must not be null or the empty string.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>itemValue</em>&nbsp;</td><td>A pointer to the null terminated UTF-8 string that is the new value for the appropriate array item.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags, none are defined at present. </td></tr>
- </table>
-</dl>
-
-</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 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>(</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">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></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty_Bool</code> returns the value of a Boolean property as a C++ bool.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the bool variable that is assigned the value of the property. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</dl>
-
-</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 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>(</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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty_Int</code> returns the value of an integer property as a C long integer.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the long integer variable that is assigned the value of the property. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="d1a6629b0466981b67d31c9dc3840ea7"></a><!-- doxytag: member="TXMPMeta::GetProperty_Int64" ref="d1a6629b0466981b67d31c9dc3840ea7" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, long long *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">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="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 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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty_Int64</code> returns the value of an integer property as a C long long integer.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the long long integer variable that is assigned the value of the property. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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">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>options</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty_Float</code> returns the value of a flaoting point property as a C double float.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the double float variable that is assigned the value of the property. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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></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 width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>GetProperty_Date</code> returns the value of a date/time property as an <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> struct.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the property exists.</dd></dl>
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>A pointer to the <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> variable that is assigned the value of the property. May 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 pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</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 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>(</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">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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty_Bool</code> sets the value of a Boolean property from a C++ bool.
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The bool value to be assigned to the property.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>A pointer to the <code>XMP_OptionBits</code> variable that is assigned option flags describing the property. May be null if the flags are not wanted. </td></tr>
- </table>
-</dl>
-
-</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 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>(</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> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty_Int</code> sets the value of an integer property from a C long integer.
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The long integer value to be assigned to the property.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property. </td></tr>
- </table>
-</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 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>(</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 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> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty_Int64</code> sets the value of an integer property from a C long long integer.
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The long long integer value to be assigned to the property.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property. </td></tr>
- </table>
-</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 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>(</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">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>options</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty_Float</code> sets the value of a floating point property from a C double float.
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The double float value to be assigned to the property.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property. </td></tr>
- </table>
-</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 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>(</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 <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="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SetProperty_Date</code> sets the value of a date/time property from an <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> struct.
-<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 property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>The name of the property. Has the same usage as in <code>GetProperty</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>The <code><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></code> value to be assigned to the property.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags describing the property. </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="92055b3ae18dfd5e5491108f59318f17"></a><!-- doxytag: member="TXMPMeta::SetObjectOptions" ref="92055b3ae18dfd5e5491108f59318f17" 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="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt;::SetObjectOptions </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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-SetObjectOptions --TBD--.
-<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd><b>Not yet implemented.</b> File a bug if you need this. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="6ca653436995bbb76315efe7934afd4c"></a><!-- doxytag: member="TXMPMeta::Clone" ref="6ca653436995bbb76315efe7934afd4c" 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"><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="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;)&nbsp;</td>
- <td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>Clone</code> creates a deep clone of the XMP object.
-<p>
-This function creates a deep clone of the XMP object. Assignment and copy constructors do not, they just increment a reference count. Note that <code>Clone</code> returns an object, not a pointer. This is easy to misuse:<p>
-<div class="fragment"><pre class="fragment"> SXMPMeta * clone1 = &amp;sourceXMP.Clone(); <span class="comment">// ! This does not work!</span>
- SXMPMeta * clone2 = <span class="keyword">new</span> SXMPMeta ( sourceXMP.Clone() ); <span class="comment">// This works.</span>
- SXMPMeta clone3 ( sourceXMP.Clone ); <span class="comment">// This works also. (Not a pointer.)</span>
-</pre></div><p>
-In the code above, the assignment to <code>clone1</code> creates a temporary object, initializes it with the clone, assigns the address of the temporary to <code>clone1</code>, then deletes the temporary. The <code>clone3</code> example also works, you do not have to use an explicit pointer. This is good for local usage, you don't have to worry about memory leaks.<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 are defined at present.</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="7b383f5b357fff040cdbde82f4f43f26"></a><!-- doxytag: member="TXMPMeta::ParseFromBuffer" ref="7b383f5b357fff040cdbde82f4f43f26" 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;::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>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="paramname"> <em>bufferSize</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 width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>ParseFromBuffer</code> parses RDF from a series of input buffers. The buffers may be any length. The buffer boundaries need not respect XML tokens or even Unicode characters.
-<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>buffer</em>&nbsp;</td><td>A pointer to a buffer of input. May 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 this buffer in bytes. Zero is a valid value. Termination of an input loop is convenient by passing <code>kXMP_ParseMoreBuffers</code> for all real input, then having a final call with a zero length and <code>kXMP_NoOptions</code>.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Options controlling the parsing.</td></tr>
- </table>
-</dl>
-The available options are:<p>
-<ul>
-<li><code>kXMP_ParseMoreBuffers</code> - This is not the last buffer of input, more calls follow. </li>
-<li><code>kXMP_RequireXMPMeta</code> - The x:xmpmeta XML element is required around <code>rdf:RDF</code>. </li>
-<li><code>kXMP_StrictAliasing</code> - Do not reconcile alias differences, throw an exception.</li>
-</ul>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The <code>kXMP_StrictAliasing</code> option is not yet implemented. </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 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>(</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#eb865118433be92d88e5f49ed11487c8">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#9f7dcc184f901c713274edfdac5bcc9a">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>newline</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>
- </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>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-<code>SerializeToBuffer</code> serializes an XMP object into a string as RDF.
-<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>A pointer to the string to receive the serialized RDF. Must not be null.</td></tr>
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the serialization.</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 is passed (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 it 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 it 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>
-The available option flags are:<p>
-<ul>
-<li><code>kXMP_OmitPacketWrapper</code> - Do not include an XML packet wrapper. </li>
-<li><code>kXMP_ReadOnlyPacket</code> - Create a read-only XML packet wapper. </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. </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.</li>
-</ul>
-The specified options must be logically consistent, an exception is thrown if not. You cannot specify both <code>kXMP_OmitPacketWrapper</code> along with <code>kXMP_ReadOnlyPacket</code>, <code>kXMP_IncludeThumbnailPad</code>, or <code>kXMP_ExactPacketLength</code>.<p>
-In addition, one of the following encoding options may be included:<p>
-<ul>
-<li><code>kXMP_EncodeUTF8</code> - Encode as UTF-8, the default. </li>
-<li><code>kXMP_EncodeUTF16Big</code> - Encode as big-endian UTF-16. </li>
-<li><code>kXMP_EncodeUTF16Little</code> - Encode as little-endian UTF-16. </li>
-<li><code>kXMP_EncodeUTF32Big</code> - Encode as big-endian UTF-32. </li>
-<li><code>kXMP_EncodeUTF32Little</code> - Encode as little-endian UTF-32. </li>
-</ul>
-
-</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 size="1"><address style="align: right;"><small>Generated on Thu May 3 14:54:59 2007 for Adobe XMP Toolkit by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
-</body>
-</html>