blob: 8859aee3e44dc56c0ce85999072a9a7b3617f490 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<h1>KeyTable Class Reference</h1> </div>
</div>
<div class="contents">
<!-- doxytag: class="KeyTable" -->
<p><code>#include &lt;<a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for KeyTable:</div>
<div class="dyncontent">
<div class="center"><img src="classKeyTable__coll__graph.png" border="0" usemap="#KeyTable_coll__map" alt="Collaboration graph"/></div>
<map name="KeyTable_coll__map" id="KeyTable_coll__map">
<area shape="rect" id="node2" href="classMutableNodeRefList.html" title="Local implementation of MutableNodeRefList." alt="" coords="1244,60,1393,89"/><area shape="rect" id="node4" href="classNodeRefList.html" title="Local implementation of NodeRefList." alt="" coords="656,23,755,52"/><area shape="rect" id="node6" href="classNodeRefListBase.html" title="Local implementation of NodeRefList." alt="" coords="69,5,200,35"/><area shape="rect" id="node8" href="classXalanVector.html" title="XalanVector\&lt; XalanNode * \&gt;" alt="" coords="29,59,240,88"/><area shape="rect" id="node10" href="classXalanMap.html" title="XalanMap\&lt; XalanQNameByReference, NodeListMapType \&gt;" alt="" coords="1117,141,1520,171"/><area shape="rect" id="node12" href="classXalanVector.html" title="XalanVector\&lt; BucketType, ConstructWithMemoryManagerTraits\&lt; BucketType \&gt; \&gt;" alt="" coords="433,76,977,105"/><area shape="rect" id="node14" href="structXalanMapKeyTraits_3_01XalanQNameByReference_01_4.html" title="XalanMapKeyTraits\&lt; XalanQNameByReference \&gt;" alt="" coords="536,135,875,164"/><area shape="rect" id="node16" href="structXalanMapKeyTraits_3_01XalanQName_01_4.html" title="XalanMapKeyTraits\&lt; XalanQName \&gt;" alt="" coords="5,123,264,152"/><area shape="rect" id="node18" href="classXalanList.html" title="XalanList\&lt; Entry \&gt;" alt="" coords="633,207,777,236"/><area shape="rect" id="node20" href="structXalanList_1_1Node.html" title="XalanList\&lt; Type \&gt;::Node" alt="" coords="44,235,225,264"/><area shape="rect" id="node23" href="classXalanVector.html" title="XalanVector\&lt; KeyDeclaration \&gt;" alt="" coords="1205,195,1432,224"/><area shape="rect" id="node25" href="classXalanDocument.html" title="XalanDocument" alt="" coords="1256,253,1381,283"/><area shape="rect" id="node27" href="classXalanNode.html" title="XalanNode" alt="" coords="659,260,752,289"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classKeyTable-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <a class="el" href="classXalanVector.html">XalanVector</a><br class="typebreak"/>
&lt; <a class="el" href="classKeyDeclaration.html">KeyDeclaration</a> &gt; <a class="el" href="classKeyTable.html#a8f3748afde370e98b21604f811cb4393">KeyDeclarationVectorType</a>
<li>typedef <a class="el" href="classXalanMap.html">NodeListMapTypeDefinitions</a> <a class="el" href="classKeyTable.html#add46fc81c2b7144c4e129bbead4d1dc1">NodeListMapType</a>
<li>typedef <a class="el" href="classXalanMap.html">XalanMap</a><br class="typebreak"/>
&lt; <a class="el" href="classXalanQNameByReference.html">XalanQNameByReference</a>, <br class="typebreak"/>
<a class="el" href="classXalanMap.html">NodeListMapType</a> &gt; <a class="el" href="classKeyTable.html#a099c75b55b90b81d54b6e7db22a9ca53">KeysMapType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classKeyTable.html#a3dcbe9e8066798087415fdefa77aeede">KeyTable</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *startNode, const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> &amp;resolver, const <a class="el" href="classXalanVector.html">KeyDeclarationVectorType</a> &amp;keyDeclarations, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext)
<dl class="el"><dd class="mdescRight">Build a keys table. <a href="#a3dcbe9e8066798087415fdefa77aeede"></a><br/></dl><li>virtual <a class="el" href="classKeyTable.html#ab5764c82914ff2db22072c9a287ed98e">~KeyTable</a> ()
<li>const <a class="el" href="classMutableNodeRefList.html">MutableNodeRefList</a> * <a class="el" href="classKeyTable.html#a66931fd8a11487546282e043c2c453d8">getNodeSetByKey</a> (const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;qname, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;ref) const
<dl class="el"><dd class="mdescRight">Given a valid element key, return the corresponding node list. <a href="#a66931fd8a11487546282e043c2c453d8"></a><br/></dl></ul>
<h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2>
<ul>
<li>static <a class="el" href="classKeyTable.html">KeyTable</a> * <a class="el" href="classKeyTable.html#af4549800d8b2c17a4fe231b9cfce5761">create</a> (MemoryManager &amp;theManager, <a class="el" href="classXalanNode.html">XalanNode</a> *startNode, const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> &amp;resolver, const <a class="el" href="classXalanVector.html">KeyDeclarationVectorType</a> &amp;keyDeclarations, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext)
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="KeyTable_8hpp_source.html#l00072">72</a> of file <a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a8f3748afde370e98b21604f811cb4393"></a><!-- doxytag: member="KeyTable::KeyDeclarationVectorType" ref="a8f3748afde370e98b21604f811cb4393" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt;<a class="el" href="classKeyDeclaration.html">KeyDeclaration</a>&gt; <a class="el" href="classXalanVector.html">KeyTable::KeyDeclarationVectorType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="KeyTable_8hpp_source.html#l00076">76</a> of file <a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a099c75b55b90b81d54b6e7db22a9ca53"></a><!-- doxytag: member="KeyTable::KeysMapType" ref="a099c75b55b90b81d54b6e7db22a9ca53" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanMap.html">XalanMap</a>&lt;<a class="el" href="classXalanQNameByReference.html">XalanQNameByReference</a>, <a class="el" href="classXalanMap.html">NodeListMapType</a>&gt; <a class="el" href="classXalanMap.html">KeyTable::KeysMapType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="KeyTable_8hpp_source.html#l00080">80</a> of file <a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="add46fc81c2b7144c4e129bbead4d1dc1"></a><!-- doxytag: member="KeyTable::NodeListMapType" ref="add46fc81c2b7144c4e129bbead4d1dc1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanMap.html">NodeListMapTypeDefinitions</a> <a class="el" href="classXalanMap.html">KeyTable::NodeListMapType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="KeyTable_8hpp_source.html#l00078">78</a> of file <a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a>.</p>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3dcbe9e8066798087415fdefa77aeede"></a><!-- doxytag: member="KeyTable::KeyTable" ref="a3dcbe9e8066798087415fdefa77aeede" args="(XalanNode *startNode, const PrefixResolver &amp;resolver, const KeyDeclarationVectorType &amp;keyDeclarations, StylesheetExecutionContext &amp;executionContext)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">KeyTable::KeyTable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
<td class="paramname"> <em>startNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> &amp;&nbsp;</td>
<td class="paramname"> <em>resolver</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classXalanVector.html">KeyDeclarationVectorType</a> &amp;&nbsp;</td>
<td class="paramname"> <em>keyDeclarations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
<td class="paramname"> <em>executionContext</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a keys table. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>startNode</em>&nbsp;</td><td>node to start iterating from to build the keys index </td></tr>
<tr><td valign="top"></td><td valign="top"><em>nscontext</em>&nbsp;</td><td>stylesheet's namespace context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>keyDeclarations</em>&nbsp;</td><td>stylesheet's xsl:key declarations </td></tr>
<tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>current execution context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab5764c82914ff2db22072c9a287ed98e"></a><!-- doxytag: member="KeyTable::~KeyTable" ref="ab5764c82914ff2db22072c9a287ed98e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual KeyTable::~KeyTable </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af4549800d8b2c17a4fe231b9cfce5761"></a><!-- doxytag: member="KeyTable::create" ref="af4549800d8b2c17a4fe231b9cfce5761" args="(MemoryManager &amp;theManager, XalanNode *startNode, const PrefixResolver &amp;resolver, const KeyDeclarationVectorType &amp;keyDeclarations, StylesheetExecutionContext &amp;executionContext)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classKeyTable.html">KeyTable</a>* KeyTable::create </td>
<td>(</td>
<td class="paramtype">MemoryManager &amp;&nbsp;</td>
<td class="paramname"> <em>theManager</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
<td class="paramname"> <em>startNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> &amp;&nbsp;</td>
<td class="paramname"> <em>resolver</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classXalanVector.html">KeyDeclarationVectorType</a> &amp;&nbsp;</td>
<td class="paramname"> <em>keyDeclarations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
<td class="paramname"> <em>executionContext</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a66931fd8a11487546282e043c2c453d8"></a><!-- doxytag: member="KeyTable::getNodeSetByKey" ref="a66931fd8a11487546282e043c2c453d8" args="(const XalanQName &amp;qname, const XalanDOMString &amp;ref) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classMutableNodeRefList.html">MutableNodeRefList</a>* KeyTable::getNodeSetByKey </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;&nbsp;</td>
<td class="paramname"> <em>qname</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
<td class="paramname"> <em>ref</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Given a valid element key, return the corresponding node list. </p>
<p>If the name was not declared with xsl:key, this will return null, the identifier is not found, it will return an empty node set, otherwise it will return a nodeset of nodes.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of the key, which must match the 'name' attribute on xsl:key </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>value that must match the value found by the 'match' attribute on xsl:key </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to nodeset for key </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="KeyTable_8hpp_source.html">KeyTable.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and
<a href="http://www.graphviz.org/">GraphViz</a> are
used to generate this API documentation from the Xalan-C header files.</i></font></p>
<table border="0" cellpadding="0" cellspacing="0" width="80%">
<tr>
<td width="80%" valign="top">
<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
All Rights Reserved.</p>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
</td>
</tr>
</table>
</body>
</html>