<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Exiv2: Exiv2::XmpKey Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> </div> </div> <div class="contents"> <h1>Exiv2::XmpKey Class Reference</h1><!-- doxytag: class="Exiv2::XmpKey" --><!-- doxytag: inherits="Exiv2::Key" -->Concrete keys for XMP metadata. <a href="#_details">More...</a> <p> <code>#include <properties.hpp></code> <p> <div class="dynheader"> Inheritance diagram for Exiv2::XmpKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1XmpKey__inherit__graph.png" border="0" usemap="#Exiv2_1_1XmpKey__inherit__map" alt="Inheritance graph"></center> <map name="Exiv2_1_1XmpKey__inherit__map"> <area shape="rect" id="node2" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="21,5,141,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for Exiv2::XmpKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1XmpKey__coll__graph.png" border="0" usemap="#Exiv2_1_1XmpKey__coll__map" alt="Collaboration graph"></center> <map name="Exiv2_1_1XmpKey__coll__map"> <area shape="rect" id="node2" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="21,5,141,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classExiv2_1_1XmpKey-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="97d99b13a5cd576248be94bc858da7e8"></a><!-- doxytag: member="Exiv2::XmpKey::AutoPtr" ref="97d99b13a5cd576248be94bc858da7e8" args="" --> typedef std::auto_ptr< <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#97d99b13a5cd576248be94bc858da7e8">AutoPtr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for an XmpKey auto pointer. <br></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#c4bd973f85090565e0f1d7328ad4fbbc">XmpKey</a> (const std::string &key)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an XMP key from a key string. <a href="#c4bd973f85090565e0f1d7328ad4fbbc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#d744de9a95d3adfeeb8134f9492ff9f7">XmpKey</a> (const std::string &prefix, const std::string &property)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an XMP key from a schema prefix and a property name. <a href="#d744de9a95d3adfeeb8134f9492ff9f7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47466bceb7f5c7f02661b4ec29408ec7"></a><!-- doxytag: member="Exiv2::XmpKey::XmpKey" ref="47466bceb7f5c7f02661b4ec29408ec7" args="(const XmpKey &rhs)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#47466bceb7f5c7f02661b4ec29408ec7">XmpKey</a> (const <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46d331d5d93c2af7ebbf17dc5b73de65"></a><!-- doxytag: member="Exiv2::XmpKey::~XmpKey" ref="46d331d5d93c2af7ebbf17dc5b73de65" args="()" --> virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#46d331d5d93c2af7ebbf17dc5b73de65">~XmpKey</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9a00327e94eb7b5cf5bce01217464ee"></a><!-- doxytag: member="Exiv2::XmpKey::operator=" ref="d9a00327e94eb7b5cf5bce01217464ee" args="(const XmpKey &rhs)" --> <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#d9a00327e94eb7b5cf5bce01217464ee">operator=</a> (const <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0774939a00fc6be88a88a061a1f283e5"></a><!-- doxytag: member="Exiv2::XmpKey::key" ref="0774939a00fc6be88a88a061a1f283e5" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#0774939a00fc6be88a88a061a1f283e5">key</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the key of the metadatum as a string. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> may contain multiple metadata with the same key. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f02fdf18243c0b152efc8db0bbc08a9d"></a><!-- doxytag: member="Exiv2::XmpKey::familyName" ref="f02fdf18243c0b152efc8db0bbc08a9d" args="() const " --> virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#f02fdf18243c0b152efc8db0bbc08a9d">familyName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return an identifier for the type of metadata (the first part of the key). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49c339fdb608c3adf56d0e3fb27ec380"></a><!-- doxytag: member="Exiv2::XmpKey::groupName" ref="49c339fdb608c3adf56d0e3fb27ec380" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#49c339fdb608c3adf56d0e3fb27ec380">groupName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the group (the second part of the key). For XMP keys, the group name is the schema prefix name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="473332f23debfbc38e2a9447deb862c4"></a><!-- doxytag: member="Exiv2::XmpKey::tagName" ref="473332f23debfbc38e2a9447deb862c4" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#473332f23debfbc38e2a9447deb862c4">tagName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the tag (which is also the third part of the key). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5439fa1304a20385b6ac4a797307e1c7"></a><!-- doxytag: member="Exiv2::XmpKey::tagLabel" ref="5439fa1304a20385b6ac4a797307e1c7" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#5439fa1304a20385b6ac4a797307e1c7">tagLabel</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a label for the tag. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c4c6c626ed2e136a5f3b168051c2dd0"></a><!-- doxytag: member="Exiv2::XmpKey::tag" ref="7c4c6c626ed2e136a5f3b168051c2dd0" args="() const " --> virtual uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#7c4c6c626ed2e136a5f3b168051c2dd0">tag</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Properties don't have a tag number. Return 0. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e98b05a14ddf45ac6d05e6f2495f767f"></a><!-- doxytag: member="Exiv2::XmpKey::clone" ref="e98b05a14ddf45ac6d05e6f2495f767f" args="() const " --> <a class="el" href="classExiv2_1_1Key.html#9bf9953294ceb8d272908a0680aeade8">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#e98b05a14ddf45ac6d05e6f2495f767f">clone</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e6ffb93ddae44f44563b329ecfba0cb"></a><!-- doxytag: member="Exiv2::XmpKey::ns" ref="3e6ffb93ddae44f44563b329ecfba0cb" args="() const " --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1XmpKey.html#3e6ffb93ddae44f44563b329ecfba0cb">ns</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the schema namespace for the prefix of the key. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Concrete keys for XMP metadata. <dl compact><dt><b>Examples: </b></dt><dd> <p> <a class="el" href="xmpsample_8cpp-example.html#_a9">xmpsample.cpp</a>.</dl><hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="c4bd973f85090565e0f1d7328ad4fbbc"></a><!-- doxytag: member="Exiv2::XmpKey::XmpKey" ref="c4bd973f85090565e0f1d7328ad4fbbc" args="(const std::string &key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::XmpKey::XmpKey </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>key</em> </td> <td> ) </td> <td><code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor to create an XMP key from a key 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>key</em> </td><td>The key string. </td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em> </td><td>if the first part of the key is not '<b>Xmp</b>' or the second part of the key cannot be parsed and converted to a known (i.e., built-in or registered) schema prefix. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="d744de9a95d3adfeeb8134f9492ff9f7"></a><!-- doxytag: member="Exiv2::XmpKey::XmpKey" ref="d744de9a95d3adfeeb8134f9492ff9f7" args="(const std::string &prefix, const std::string &property)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::XmpKey::XmpKey </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>prefix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>property</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor to create an XMP key from a schema prefix and a property name. <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>prefix</em> </td><td>Schema prefix name </td></tr> <tr><td valign="top"></td><td valign="top"><em>property</em> </td><td>Property name</td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em> </td><td>if the schema prefix is not known. </td></tr> </table> </dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="properties_8hpp.html">properties.hpp</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:18:04 2009 for Exiv2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>