<!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-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>NodeSortKey Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="NodeSortKey" -->
<p>Simple data structure class for use by the <a class="el" href="classNodeSorter.html" title="This class can sort vectors of nodes according to a select pattern.">NodeSorter</a> class.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for NodeSortKey:</div>
<div class="dyncontent">
<div class="center"><img src="classNodeSortKey__coll__graph.png" border="0" usemap="#NodeSortKey_coll__map" alt="Collaboration graph"/></div>
<map name="NodeSortKey_coll__map" id="NodeSortKey_coll__map">
<area shape="rect" id="node2" href="classExecutionContext.html" title="ExecutionContext" alt="" coords="1175,136,1308,165"/><area shape="rect" id="node4" href="classProblemListenerBase.html" title="This is the abstract class that is used when reporting a problem some kind, that requires a message..." alt="" coords="849,100,1007,129"/><area shape="rect" id="node6" href="classXPath.html" title="XPath" alt="" coords="1211,307,1272,336"/><area shape="rect" id="node8" href="classXPathFunctionTable.html" title="Class defines a table of functions that can be called in XPath expresions." alt="" coords="855,153,1001,183"/><area shape="rect" id="node10" href="classFunction.html" title="Function" alt="" coords="453,37,528,67"/><area shape="rect" id="node12" href="structXPathFunctionTable_1_1FunctionNameTableEntry.html" title="XPathFunctionTable::FunctionNameTableEntry" alt="" coords="333,100,648,129"/><area shape="rect" id="node14" href="classXPathExpression.html" title="XPathExpression" alt="" coords="863,255,993,284"/><area shape="rect" id="node16" href="classXalanVector.html" title="XalanVector\&lt; XToken \&gt;" alt="" coords="403,153,579,183"/><area shape="rect" id="node18" href="classXalanVector.html" title="XalanVector\&lt; int \&gt;" alt="" coords="417,207,564,236"/><area shape="rect" id="node20" href="classXalanVector.html" title="XalanVector\&lt; double \&gt;" alt="" coords="404,260,577,289"/><area shape="rect" id="node22" href="classXalanDOMString.html" title="XalanDOMString" alt="" coords="427,347,555,376"/><area shape="rect" id="node24" href="classXalanVector.html" title="XalanVector\&lt; XalanDOMChar \&gt;" alt="" coords="7,347,233,376"/><area shape="rect" id="node27" href="classPrefixResolver.html" title="This class defines an interface for classes that resolve namespace prefixes to their URIs..." alt="" coords="1187,445,1296,475"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classNodeSortKey-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classNodeSortKey.html#a8b76928e95709e2c7210978bc9f76ffc">NodeSortKey</a> (<a class="el" href="classExecutionContext.html">ExecutionContext</a> &amp;executionContext, const <a class="el" href="classXPath.html">XPath</a> *selectPat, bool treatAsNumbers, bool descending, <a class="el" href="classXalanCollationServices.html#ac1f10653e149cfd98d10819290b53f49">XalanCollationServices::eCaseOrder</a> caseOrder, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;langValue, const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> &amp;resolver)
<dl class="el"><dd class="mdescRight">Construct a node sort key.  <a href="#a8b76928e95709e2c7210978bc9f76ffc"></a><br/></dl><li><a class="el" href="classNodeSortKey.html#a16e415380c4e343caa1cc8c74473d613">NodeSortKey</a> ()
<li><a class="el" href="classNodeSortKey.html#a2630bf01006665f8c2c358a591f33b5a">NodeSortKey</a> (const <a class="el" href="classNodeSortKey.html">NodeSortKey</a> &amp;theSource)
<li><a class="el" href="classNodeSortKey.html#a688806caf45225c5889eda546f109486">~NodeSortKey</a> ()
<li><a class="el" href="classNodeSortKey.html">NodeSortKey</a> &amp; <a class="el" href="classNodeSortKey.html#a5f55f14d94ecf92dec1c14c1d9c6151b">operator=</a> (const <a class="el" href="classNodeSortKey.html">NodeSortKey</a> &amp;theRHS)
<li>const <a class="el" href="classXPath.html">XPath</a> * <a class="el" href="classNodeSortKey.html#a584f9da9b4ffd4e3f41f97fa0e68fe8f">getSelectPattern</a> () const 
<dl class="el"><dd class="mdescRight">Retrieve the selection <a class="el" href="classXPath.html">XPath</a>.  <a href="#a584f9da9b4ffd4e3f41f97fa0e68fe8f"></a><br/></dl><li>bool <a class="el" href="classNodeSortKey.html#ab7d717225246f8291e7ebe50d19990ad">getTreatAsNumbers</a> () const 
<dl class="el"><dd class="mdescRight">Whether to treat values as numbers.  <a href="#ab7d717225246f8291e7ebe50d19990ad"></a><br/></dl><li>bool <a class="el" href="classNodeSortKey.html#ae42eff2a7dec2c7a4b037c6f191d9659">getDescending</a> () const 
<dl class="el"><dd class="mdescRight">Whether to sort in descending order.  <a href="#ae42eff2a7dec2c7a4b037c6f191d9659"></a><br/></dl><li><a class="el" href="classXalanCollationServices.html#ac1f10653e149cfd98d10819290b53f49">XalanCollationServices::eCaseOrder</a> <a class="el" href="classNodeSortKey.html#a977deba892e1dba6e2cb66c805e90115">getCaseOrder</a> () const 
<dl class="el"><dd class="mdescRight">Get the enumeration value for the case order.  <a href="#a977deba892e1dba6e2cb66c805e90115"></a><br/></dl><li>const <a class="el" href="classPrefixResolver.html">PrefixResolver</a> * <a class="el" href="classNodeSortKey.html#a3be8e8e98149169558ede5112cff4282">getPrefixResolver</a> () const 
<dl class="el"><dd class="mdescRight">Retrieve the resolver for namespaces.  <a href="#a3be8e8e98149169558ede5112cff4282"></a><br/></dl><li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classNodeSortKey.html#ae06de772f1715ca9621166a0587c3ae5">getLanguageString</a> () const 
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Simple data structure class for use by the <a class="el" href="classNodeSorter.html" title="This class can sort vectors of nodes according to a select pattern.">NodeSorter</a> class. </p>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00049">49</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8b76928e95709e2c7210978bc9f76ffc"></a><!-- doxytag: member="NodeSortKey::NodeSortKey" ref="a8b76928e95709e2c7210978bc9f76ffc" args="(ExecutionContext &amp;executionContext, const XPath *selectPat, bool treatAsNumbers, bool descending, XalanCollationServices::eCaseOrder caseOrder, const XalanDOMString &amp;langValue, const PrefixResolver &amp;resolver)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NodeSortKey::NodeSortKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExecutionContext.html">ExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXPath.html">XPath</a> *&nbsp;</td>
          <td class="paramname"> <em>selectPat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>treatAsNumbers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>descending</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXalanCollationServices.html#ac1f10653e149cfd98d10819290b53f49">XalanCollationServices::eCaseOrder</a>&nbsp;</td>
          <td class="paramname"> <em>caseOrder</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>langValue</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a node sort key. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>current execution context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>selectPat</em>&nbsp;</td><td><a class="el" href="classXPath.html">XPath</a> for selection </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>treatAsNumbers</em>&nbsp;</td><td>treat as numeric values if true </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>descending</em>&nbsp;</td><td>sort in descending order if true </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>caseOrder</em>&nbsp;</td><td>case sort order enum </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>langValue</em>&nbsp;</td><td>language </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>resolver</em>&nbsp;</td><td>resolver for namespace resolution </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a16e415380c4e343caa1cc8c74473d613"></a><!-- doxytag: member="NodeSortKey::NodeSortKey" ref="a16e415380c4e343caa1cc8c74473d613" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NodeSortKey::NodeSortKey </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2630bf01006665f8c2c358a591f33b5a"></a><!-- doxytag: member="NodeSortKey::NodeSortKey" ref="a2630bf01006665f8c2c358a591f33b5a" args="(const NodeSortKey &amp;theSource)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NodeSortKey::NodeSortKey </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNodeSortKey.html">NodeSortKey</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theSource</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a688806caf45225c5889eda546f109486"></a><!-- doxytag: member="NodeSortKey::~NodeSortKey" ref="a688806caf45225c5889eda546f109486" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NodeSortKey::~NodeSortKey </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a977deba892e1dba6e2cb66c805e90115"></a><!-- doxytag: member="NodeSortKey::getCaseOrder" ref="a977deba892e1dba6e2cb66c805e90115" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXalanCollationServices.html#ac1f10653e149cfd98d10819290b53f49">XalanCollationServices::eCaseOrder</a> NodeSortKey::getCaseOrder </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the enumeration value for the case order. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>sort upper case before lower case if true </dd></dl>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00121">121</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ae42eff2a7dec2c7a4b037c6f191d9659"></a><!-- doxytag: member="NodeSortKey::getDescending" ref="ae42eff2a7dec2c7a4b037c6f191d9659" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool NodeSortKey::getDescending </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Whether to sort in descending order. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>sort in descending order if true </dd></dl>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00110">110</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ae06de772f1715ca9621166a0587c3ae5"></a><!-- doxytag: member="NodeSortKey::getLanguageString" ref="ae06de772f1715ca9621166a0587c3ae5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; NodeSortKey::getLanguageString </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00138">138</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a3be8e8e98149169558ede5112cff4282"></a><!-- doxytag: member="NodeSortKey::getPrefixResolver" ref="a3be8e8e98149169558ede5112cff4282" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classPrefixResolver.html">PrefixResolver</a>* NodeSortKey::getPrefixResolver </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the resolver for namespaces. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>object for namespace resolution </dd></dl>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00132">132</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a584f9da9b4ffd4e3f41f97fa0e68fe8f"></a><!-- doxytag: member="NodeSortKey::getSelectPattern" ref="a584f9da9b4ffd4e3f41f97fa0e68fe8f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classXPath.html">XPath</a>* NodeSortKey::getSelectPattern </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the selection <a class="el" href="classXPath.html">XPath</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classXPath.html">XPath</a> for selection </dd></dl>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00088">88</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ab7d717225246f8291e7ebe50d19990ad"></a><!-- doxytag: member="NodeSortKey::getTreatAsNumbers" ref="ab7d717225246f8291e7ebe50d19990ad" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool NodeSortKey::getTreatAsNumbers </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Whether to treat values as numbers. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>treat as numeric values if true </dd></dl>

<p>Definition at line <a class="el" href="NodeSortKey_8hpp_source.html#l00099">99</a> of file <a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a5f55f14d94ecf92dec1c14c1d9c6151b"></a><!-- doxytag: member="NodeSortKey::operator=" ref="a5f55f14d94ecf92dec1c14c1d9c6151b" args="(const NodeSortKey &amp;theRHS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classNodeSortKey.html">NodeSortKey</a>&amp; NodeSortKey::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNodeSortKey.html">NodeSortKey</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theRHS</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="NodeSortKey_8hpp_source.html">NodeSortKey.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>
