Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > by-pkgid > 5e43f5d92fadaa0a1cc4664249b615d0 > files > 2573

xalan-c-doc-1.1-8mdk.i586.rpm

<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSL Transformer Version 1.1</h3>
</BODY>
<!-- Generated by Doxygen 1.2.0 on Thu Feb 15 10:50:24 2001 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>XPathExpression  Class Reference</h1><code>#include &lt;<a class="el" href="XPathExpression.hpp-source.html">XPathExpression.hpp</a>&gt;</code>
<p>
Collaboration diagram for XPathExpression:<p><center><img src="class_xpathexpression_coll_graph.gif" border="0" usemap="#XPathExpression_coll_map" alt="Collaboration graph"></center>
<map name="XPathExpression_coll_map">
<area href="class_xalandomstring.html" shape="rect" coords="0,0,109,18">
</map><p>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_xpathexpression-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef std::vector&lt;int&gt; <a class="el" href="class_xpathexpression.html#s0">OpCodeMapType</a>
<li>typedef std::deque&lt;<a class="el" href="class_xtoken.html">XToken</a>&gt; <a class="el" href="class_xpathexpression.html#s1">TokenQueueType</a>
<li>typedef std::vector&lt;int&gt; <a class="el" href="class_xpathexpression.html#s2">PatternMapType</a>
<li>typedef std::map&lt;int, int&gt; <a class="el" href="class_xpathexpression.html#s3">OpCodeLengthMapType</a>
<li>typedef OpCodeMapType::value_type <a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a>
<li>typedef OpCodeMapType::size_type <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a>
<li>typedef std::set&lt;<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a>&gt; <a class="el" href="class_xpathexpression.html#s6">NodeTestSetType</a>
<li>typedef std::vector&lt;<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a>&gt; <a class="el" href="class_xpathexpression.html#s7">OpCodeMapValueVectorType</a>
<li>typedef TokenQueueType::value_type <a class="el" href="class_xpathexpression.html#s8">TokenQueueValueType</a>
<li>typedef TokenQueueType::size_type <a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a>
<li>typedef PatternMapType::value_type <a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a>
<li>typedef PatternMapType::size_type <a class="el" href="class_xpathexpression.html#s11">PatternMapSizeType</a>
<li>enum <a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> { <br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s12">eENDOP</a> = -1, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s13">eEMPTY</a> = -2, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s14">eELEMWILDCARD</a> = -3, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s15">eOP_XPATH</a> = 1, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s16">eOP_OR</a> = 2, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s17">eOP_AND</a> = 3, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s18">eOP_NOTEQUALS</a> = 4, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s19">eOP_EQUALS</a> = 5, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s20">eOP_LTE</a> = 6, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s21">eOP_LT</a> = 7, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s22">eOP_GTE</a> = 8, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s23">eOP_GT</a> = 9, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s24">eOP_PLUS</a> = 10, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s25">eOP_MINUS</a> = 11, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s26">eOP_MULT</a> = 12, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s27">eOP_DIV</a> = 13, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s28">eOP_MOD</a> = 14, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s29">eOP_QUO</a> = 15, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s30">eOP_NEG</a> = 16, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s31">eOP_STRING</a> = 17, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s32">eOP_BOOL</a> = 18, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s33">eOP_NUMBER</a> = 19, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s34">eOP_UNION</a> = 20, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s35">eOP_LITERAL</a> = 21, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s36">eOP_VARIABLE</a> = 22, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s37">eOP_GROUP</a> = 23, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s38">eOP_NUMBERLIT</a> = 24, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s39">eOP_ARGUMENT</a> = 25, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s40">eOP_EXTFUNCTION</a> = 26, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s41">eOP_FUNCTION</a> = 27, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s42">eOP_LOCATIONPATH</a> = 28, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s43">eOP_PREDICATE</a> = 29, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s44">eNODETYPE_COMMENT</a> = 1030, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s45">eNODETYPE_TEXT</a> = 1031, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s46">eNODETYPE_PI</a> = 1032, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s47">eNODETYPE_NODE</a> = 1033, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s48">eNODENAME</a> = 34, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s49">eNODETYPE_ROOT</a> = 35, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s50">eNODETYPE_ANYELEMENT</a> = 36, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s51">eFROM_ANCESTORS</a> = 37, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s52">eFROM_ANCESTORS_OR_SELF</a> = 38, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s53">eFROM_ATTRIBUTES</a> = 39, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s54">eFROM_CHILDREN</a> = 40, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s55">eFROM_DESCENDANTS</a> = 41, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s56">eFROM_DESCENDANTS_OR_SELF</a> = 42, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s57">eFROM_FOLLOWING</a> = 43, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s58">eFROM_FOLLOWING_SIBLINGS</a> = 44, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s59">eFROM_PARENT</a> = 45, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s60">eFROM_PRECEDING</a> = 46, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s61">eFROM_PRECEDING_SIBLINGS</a> = 47, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s62">eFROM_SELF</a> = 48, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s63">eFROM_NAMESPACE</a> = 49, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s64">eFROM_ROOT</a> = 55, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s65">eOP_MATCHPATTERN</a> = 92, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s66">eOP_LOCATIONPATHPATTERN</a> = 93, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s67">eMATCH_ATTRIBUTE</a> = 94, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s68">eMATCH_ANY_ANCESTOR</a> = 95, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s69">eMATCH_IMMEDIATE_ANCESTOR</a> = 96, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s70">eMATCH_ANY_ANCESTOR_WITH_PREDICATE</a> = 97, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s71">eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL</a> = 98, 
<br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s72">eOpCodeNextAvailable</a>
<br>
 }
<dl class="el"><dd><font size=-1><em>List of operations codes.</em> <a href="#s74">More...</a><em><br><br></em></font></dl><li>enum <a class="el" href="class_xpathexpression.html#s75">eDummy</a> { <br>
&nbsp;&nbsp;<a class="el" href="class_xpathexpression.html#s73">s__opCodeMapLengthIndex</a> = 1
<br>
 }
<dl class="el"><dd><font size=-1><em>The length is always the opcode position + 1.</em> <a href="#s75">More...</a><em><br><br></em></font></dl></ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="class_xpathexpression.html#a0">XPathExpression</a> ()
<li><a class="el" href="class_xpathexpression.html#a1">~XPathExpression</a> ()
<li>void <a class="el" href="class_xpathexpression.html#a2">reset</a> ()
<dl class="el"><dd><font size=-1><em>Reset the expression.<br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a3">shrink</a> ()
<dl class="el"><dd><font size=-1><em>Shrink internal tables.<br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <a class="el" href="class_xpathexpression.html#a4">opCodeMapSize</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve number of elements in the operations code map.</em> <a href="#a4">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <a class="el" href="class_xpathexpression.html#a5">opCodeMapLength</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve length of the operations code map stored in the map.</em> <a href="#a5">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <a class="el" href="class_xpathexpression.html#a6">tokenQueueSize</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve number of elements in the token queue.</em> <a href="#a6">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s11">PatternMapSizeType</a> <a class="el" href="class_xpathexpression.html#a7">patternMapSize</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve number of elements in the pattern map.</em> <a href="#a7">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <a class="el" href="class_xpathexpression.html#a8">getOpCodeMapValue</a> (<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> opPos) const
<dl class="el"><dd><font size=-1><em>Retrieve the value of an operation code at a specified position in the list.</em> <a href="#a8">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <a class="el" href="class_xpathexpression.html#a9">getOpCodeLength</a> (<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> opPos) const
<dl class="el"><dd><font size=-1><em>Retrieve the length of an operation code at a specified position in the list.</em> <a href="#a9">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <a class="el" href="class_xpathexpression.html#a10">getNextOpCodePosition</a> (<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> opPos) const
<dl class="el"><dd><font size=-1><em>Retrieve the position of the next operation code at a specified position in the list.</em> <a href="#a10">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a11">setOpCodeArgs</a> ( <a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> theOpCode, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex, const <a class="el" href="class_xpathexpression.html#s7">OpCodeMapValueVectorType</a>&amp; theArgs)
<dl class="el"><dd><font size=-1><em>Set the arguments for an operation code at a specified index in the list.</em> <a href="#a11">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a12">appendOpCode</a> (<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> theOpCode)
<dl class="el"><dd><font size=-1><em>Add an operation code to the list.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a13">appendOpCode</a> (<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> theOpCode, const <a class="el" href="class_xpathexpression.html#s7">OpCodeMapValueVectorType</a>&amp; theArgs)
<dl class="el"><dd><font size=-1><em>Add an operation code with supplied arguments to the list.</em> <a href="#a13">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <a class="el" href="class_xpathexpression.html#a14">insertOpCode</a> ( <a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> theOpCode, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex)
<dl class="el"><dd><font size=-1><em>Insert an operation code at a specified index in the list.</em> <a href="#a14">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a15">updateOpCodeLength</a> (<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex)
<dl class="el"><dd><font size=-1><em>Update the length of an operation code at a specified index in the list.</em> <a href="#a15">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a16">updateShiftedOpCodeLength</a> ( <a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> theOpCode, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theOriginalIndex, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theNewIndex)
<dl class="el"><dd><font size=-1><em>Update the length of an operation code that has moved to a new index in the list.</em> <a href="#a16">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a17">updateOpCodeLength</a> ( <a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> theOpCode, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex)
<dl class="el"><dd><font size=-1><em>Update the length of an operation code at a specified index in the list.</em> <a href="#a17">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a18">updateOpCodeLengthAfterNodeTest</a> (<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex)
<dl class="el"><dd><font size=-1><em>Update the length of an operation code after a node test code.</em> <a href="#a18">More...</a><em><br><br></em></font></dl><li>bool <a class="el" href="class_xpathexpression.html#a19">hasMoreTokens</a> () const
<dl class="el"><dd><font size=-1><em>Whether there are any more tokens in the token queue.</em> <a href="#a19">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <a class="el" href="class_xpathexpression.html#a20">getTokenPosition</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve the current position in the token queue.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a21">resetTokenPosition</a> ()
<dl class="el"><dd><font size=-1><em>Set the current position in the token queue to zero.<br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a22">setTokenPosition</a> (<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> thePosition)
<dl class="el"><dd><font size=-1><em>Set the current position in the token queue to a specified value.</em> <a href="#a22">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a23">setTokenPosition</a> (int thePosition)
<dl class="el"><dd><font size=-1><em>Set the current position in the token queue to a specified value.</em> <a href="#a23">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="class_xobject.html">XObject</a>* <a class="el" href="class_xpathexpression.html#a24">getToken</a> (<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> thePosition) const
<dl class="el"><dd><font size=-1><em>Retrieve a token at the specified position in the token queue.</em> <a href="#a24">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="class_xobject.html">XObject</a>* <a class="el" href="class_xpathexpression.html#a25">getNextToken</a> ()
<dl class="el"><dd><font size=-1><em>Retrieve the next token in the token queue.</em> <a href="#a25">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="class_xobject.html">XObject</a>* <a class="el" href="class_xpathexpression.html#a26">getPreviousToken</a> ()
<dl class="el"><dd><font size=-1><em>Retrieve the previous token in the token queue.</em> <a href="#a26">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="class_xobject.html">XObject</a>* <a class="el" href="class_xpathexpression.html#a27">getRelativeToken</a> (int theOffset) const
<dl class="el"><dd><font size=-1><em>Retrieve a token at the specified offset relative to the current position in the token queue.</em> <a href="#a27">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a28">pushToken</a> (const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; theToken)
<dl class="el"><dd><font size=-1><em>Push a token onto the token queue.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a29">pushToken</a> (double theToken)
<dl class="el"><dd><font size=-1><em>Push a token onto the token queue.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a30">insertToken</a> (const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; theToken)
<dl class="el"><dd><font size=-1><em>Insert a token onto the token queue at the current position.</em> <a href="#a30">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a31">insertToken</a> (double theToken)
<dl class="el"><dd><font size=-1><em>Insert a token onto the token queue at the current position.</em> <a href="#a31">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a32">replaceRelativeToken</a> ( int theOffset, const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; theToken)
<dl class="el"><dd><font size=-1><em>Replace a token in the token queue.</em> <a href="#a32">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a33">replaceRelativeToken</a> ( int theOffset, double theToken)
<dl class="el"><dd><font size=-1><em>Replace a token in the token queue.</em> <a href="#a33">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a34">dumpOpCodeMap</a> (<a class="el" href="class_printwriter.html">PrintWriter</a>&amp; thePrintWriter, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theStartPosition = 0) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the operation code map.</em> <a href="#a34">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a35">dumpOpCodeMap</a> ( std::ostream&amp; theStream, <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theStartPosition = 0) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the operation code map.</em> <a href="#a35">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a36">dumpTokenQueue</a> (<a class="el" href="class_printwriter.html">PrintWriter</a>&amp; thePrintWriter, <a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> theStartPosition = 0) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the token queue.</em> <a href="#a36">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a37">dumpTokenQueue</a> ( std::ostream&amp; theStream, <a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> theStartPosition = 0) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the token queue.</em> <a href="#a37">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a38">dumpRemainingTokenQueue</a> (<a class="el" href="class_printwriter.html">PrintWriter</a>&amp; thePrintWriter) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the remaining tokens in the token queue.</em> <a href="#a38">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a39">dumpRemainingTokenQueue</a> (std::ostream&amp; theStream) const
<dl class="el"><dd><font size=-1><em>Diagnostic function to output the remaining tokens in the token queue.</em> <a href="#a39">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a40">pushArgumentOnOpCodeMap</a> (const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; theToken)
<dl class="el"><dd><font size=-1><em>Push a token onto the token queue and its index onto the operations code map.</em> <a href="#a40">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a41">pushArgumentOnOpCodeMap</a> (double theToken)
<dl class="el"><dd><font size=-1><em>Push a token onto the token queue and its index onto the operations code map.</em> <a href="#a41">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a42">pushCurrentTokenOnOpCodeMap</a> ()
<dl class="el"><dd><font size=-1><em>Push the current position in the token queue onto the operations code map.<br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> <a class="el" href="class_xpathexpression.html#a43">getPattern</a> (int thePatternPosition) const
<dl class="el"><dd><font size=-1><em>Retrieve a pattern in the pattern map at the specified position.</em> <a href="#a43">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> <a class="el" href="class_xpathexpression.html#a44">getPattern</a> (<a class="el" href="class_xpathexpression.html#s11">PatternMapSizeType</a> thePatternPosition) const
<dl class="el"><dd><font size=-1><em>Retrieve a pattern in the pattern map at the specified position.</em> <a href="#a44">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a45">pushPattern</a> (<a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> thePattern)
<dl class="el"><dd><font size=-1><em>Push a pattern onto the pattern map.</em> <a href="#a45">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a46">adjustPattern</a> ( <a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> theIndex, <a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> theAdjustment)
<dl class="el"><dd><font size=-1><em>Adjust the value of a pattern at a specified index in the pattern map.</em> <a href="#a46">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="class_xpathexpression.html#a47">setCurrentPattern</a> (const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; thePattern)
<dl class="el"><dd><font size=-1><em>Change the current pattern in the pattern map.</em> <a href="#a47">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="class_xalandomstring.html">XalanDOMString</a>&amp; <a class="el" href="class_xpathexpression.html#a48">getCurrentPattern</a> () const
<dl class="el"><dd><font size=-1><em>Retrieve the current pattern in the pattern map.</em> <a href="#a48">More...</a><em><br><br></em></font></dl></ul>
<h2>Public Attributes</h2>
<ul>
<li><a class="el" href="class_xpathexpression.html#s0">OpCodeMapType</a> <a class="el" href="class_xpathexpression.html#m0">m_opMap</a>
<dl class="el"><dd><font size=-1><em>An operations map is used instead of a proper parse tree.</em> <a href="#m0">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <a class="el" href="class_xpathexpression.html#m1">m_lastOpCodeIndex</a>
<dl class="el"><dd><font size=-1><em>The index of the last opcode that was appended or inserted.<br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s1">TokenQueueType</a> <a class="el" href="class_xpathexpression.html#m2">m_tokenQueue</a>
<dl class="el"><dd><font size=-1><em>The queue of used tokens.</em> <a href="#m2">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <a class="el" href="class_xpathexpression.html#m3">m_currentPosition</a>
<dl class="el"><dd><font size=-1><em>The current position in the token queue.<br><br></em></font></dl><li><a class="el" href="class_xpathexpression.html#s2">PatternMapType</a> <a class="el" href="class_xpathexpression.html#m4">m_patternMap</a>
<dl class="el"><dd><font size=-1><em>This holds a map to the m_tokenQueue that tells where the top-level elements are.</em> <a href="#m4">More...</a><em><br><br></em></font></dl><li><a class="el" href="class_xalandomstring.html">XalanDOMString</a> <a class="el" href="class_xpathexpression.html#m5">m_currentPattern</a>
<dl class="el"><dd><font size=-1><em>The current pattern string, for diagnostics purposes.<br><br></em></font></dl></ul>
<h2>Static Public Methods</h2>
<ul>
<li>bool <a class="el" href="class_xpathexpression.html#d0">isNodeTestOpCode</a> (<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> theOpCode)
<dl class="el"><dd><font size=-1><em>Whether the operation code is one of the node test types, for example, "ancestor::" or "child::".</em> <a href="#d0">More...</a><em><br><br></em></font></dl></ul>
<hr><h2>Member Typedef Documentation</h2>
<a name="s6" doxytag="XPathExpression::NodeTestSetType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::set&lt;<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a>&gt; XPathExpression::NodeTestSetType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s3" doxytag="XPathExpression::OpCodeLengthMapType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::map&lt;int, int&gt; XPathExpression::OpCodeLengthMapType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s5" doxytag="XPathExpression::OpCodeMapSizeType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef OpCodeMapType::size_type XPathExpression::OpCodeMapSizeType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s0" doxytag="XPathExpression::OpCodeMapType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::vector&lt;int&gt; XPathExpression::OpCodeMapType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s4" doxytag="XPathExpression::OpCodeMapValueType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef OpCodeMapType::value_type XPathExpression::OpCodeMapValueType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s7" doxytag="XPathExpression::OpCodeMapValueVectorType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::vector&lt;<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a>&gt; XPathExpression::OpCodeMapValueVectorType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s11" doxytag="XPathExpression::PatternMapSizeType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef PatternMapType::size_type XPathExpression::PatternMapSizeType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s2" doxytag="XPathExpression::PatternMapType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::vector&lt;int&gt; XPathExpression::PatternMapType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s10" doxytag="XPathExpression::PatternMapValueType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef PatternMapType::value_type XPathExpression::PatternMapValueType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s9" doxytag="XPathExpression::TokenQueueSizeType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef TokenQueueType::size_type XPathExpression::TokenQueueSizeType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s1" doxytag="XPathExpression::TokenQueueType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef std::deque&lt;<a class="el" href="class_xtoken.html">XToken</a>&gt; XPathExpression::TokenQueueType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="s8" doxytag="XPathExpression::TokenQueueValueType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef TokenQueueType::value_type XPathExpression::TokenQueueValueType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Enumeration Documentation</h2>
<a name="s75" doxytag="XPathExpression::eDummy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum XPathExpression::eDummy
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The length is always the opcode position + 1.
<p>
Length is always expressed as the opcode+length bytes, so it is always 2 or greater. This is the offset from the op code where the length is stored. It will always remain one. <dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="s73" doxytag="s__opCodeMapLengthIndex"></a><em>s__opCodeMapLengthIndex</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a name="s74" doxytag="XPathExpression::eOpCodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum XPathExpression::eOpCodes
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
List of operations codes.
<p>
Code for the descriptions of the operations codes: [UPPER CASE] indicates a literal value, [lower case] is a description of a value, ([length] always indicates the length of the operation, including the operations code and the length integer.) {UPPER CASE} indicates the given production, {description} is the description of a new production, (For instance, {boolean expression} means some expression  that should be resolved to a boolean.) * means that it occurs zero or more times, + means that it occurs one or more times, ? means that it is optional.
<p>
returns: indicates what the production should return. <dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="s12" doxytag="eENDOP"></a><em>eENDOP</em>
&nbsp;</td><td>
[ENDOP] Some operators may like to have a terminator.</td></tr>
<tr><td valign=top><a name="s13" doxytag="eEMPTY"></a><em>eEMPTY</em>
&nbsp;</td><td>
[EMPTY] Empty slot to indicate NULL.</td></tr>
<tr><td valign=top><a name="s14" doxytag="eELEMWILDCARD"></a><em>eELEMWILDCARD</em>
&nbsp;</td><td>
[ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.</td></tr>
<tr><td valign=top><a name="s15" doxytag="eOP_XPATH"></a><em>eOP_XPATH</em>
&nbsp;</td><td>
[OP_XPATH] [length] {expression}.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> <a class="el" href="class_xnumber.html">XNumber</a> <a class="el" href="class_xstring.html">XString</a> <a class="el" href="class_xboolean.html">XBoolean</a> XRTree <a class="el" href="class_xobject.html">XObject</a> </td></tr>
<tr><td valign=top><a name="s16" doxytag="eOP_OR"></a><em>eOP_OR</em>
&nbsp;</td><td>
[OP_OR] [length] {boolean expression} {boolean expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s17" doxytag="eOP_AND"></a><em>eOP_AND</em>
&nbsp;</td><td>
[OP_AND] [length] {boolean expression} {boolean expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s18" doxytag="eOP_NOTEQUALS"></a><em>eOP_NOTEQUALS</em>
&nbsp;</td><td>
[OP_NOTEQUALS] [length] {expression} {expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s19" doxytag="eOP_EQUALS"></a><em>eOP_EQUALS</em>
&nbsp;</td><td>
[OP_EQUALS] [length] {expression} {expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s20" doxytag="eOP_LTE"></a><em>eOP_LTE</em>
&nbsp;</td><td>
[OP_LTE] (less-than-or-equals) [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s21" doxytag="eOP_LT"></a><em>eOP_LT</em>
&nbsp;</td><td>
[OP_LT] (less-than) [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s22" doxytag="eOP_GTE"></a><em>eOP_GTE</em>
&nbsp;</td><td>
[OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s23" doxytag="eOP_GT"></a><em>eOP_GT</em>
&nbsp;</td><td>
[OP_GT] (greater-than) [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s24" doxytag="eOP_PLUS"></a><em>eOP_PLUS</em>
&nbsp;</td><td>
[OP_PLUS] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s25" doxytag="eOP_MINUS"></a><em>eOP_MINUS</em>
&nbsp;</td><td>
[OP_MINUS] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s26" doxytag="eOP_MULT"></a><em>eOP_MULT</em>
&nbsp;</td><td>
[OP_MULT] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s27" doxytag="eOP_DIV"></a><em>eOP_DIV</em>
&nbsp;</td><td>
[OP_DIV] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s28" doxytag="eOP_MOD"></a><em>eOP_MOD</em>
&nbsp;</td><td>
[OP_MOD] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s29" doxytag="eOP_QUO"></a><em>eOP_QUO</em>
&nbsp;</td><td>
[OP_QUO] [length] {number expression} {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s30" doxytag="eOP_NEG"></a><em>eOP_NEG</em>
&nbsp;</td><td>
[OP_NEG] [length] {number expression}.
<p>
returns:  <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s31" doxytag="eOP_STRING"></a><em>eOP_STRING</em>
&nbsp;</td><td>
[OP_STRING] (cast operation) [length] {expression}.
<p>
returns:  <a class="el" href="class_xstring.html">XString</a> </td></tr>
<tr><td valign=top><a name="s32" doxytag="eOP_BOOL"></a><em>eOP_BOOL</em>
&nbsp;</td><td>
[OP_BOOL] (cast operation) [length] {expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s33" doxytag="eOP_NUMBER"></a><em>eOP_NUMBER</em>
&nbsp;</td><td>
[OP_NUMBER] (cast operation) [length] {expression}.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s34" doxytag="eOP_UNION"></a><em>eOP_UNION</em>
&nbsp;</td><td>
[OP_UNION] [length] {PathExpr}+.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> </td></tr>
<tr><td valign=top><a name="s35" doxytag="eOP_LITERAL"></a><em>eOP_LITERAL</em>
&nbsp;</td><td>
[OP_LITERAL] [3] [index to token].
<p>
returns:  <a class="el" href="class_xstring.html">XString</a> </td></tr>
<tr><td valign=top><a name="s36" doxytag="eOP_VARIABLE"></a><em>eOP_VARIABLE</em>
&nbsp;</td><td>
[OP_VARIABLE] [3] [index to token].
<p>
returns:  <a class="el" href="class_xstring.html">XString</a> </td></tr>
<tr><td valign=top><a name="s37" doxytag="eOP_GROUP"></a><em>eOP_GROUP</em>
&nbsp;</td><td>
[OP_GROUP] [length] {expression}.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> <a class="el" href="class_xnumber.html">XNumber</a> <a class="el" href="class_xstring.html">XString</a> <a class="el" href="class_xboolean.html">XBoolean</a> XRTree <a class="el" href="class_xobject.html">XObject</a> </td></tr>
<tr><td valign=top><a name="s38" doxytag="eOP_NUMBERLIT"></a><em>eOP_NUMBERLIT</em>
&nbsp;</td><td>
[OP_NUMBERLIT] (Number literal.) [3] [index to token].
<p>
returns:  <a class="el" href="class_xstring.html">XString</a> </td></tr>
<tr><td valign=top><a name="s39" doxytag="eOP_ARGUMENT"></a><em>eOP_ARGUMENT</em>
&nbsp;</td><td>
[OP_ARGUMENT] (<a class="el" href="class_function.html">Function</a> argument.) [length] {expression}.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> <a class="el" href="class_xnumber.html">XNumber</a> <a class="el" href="class_xstring.html">XString</a> <a class="el" href="class_xboolean.html">XBoolean</a> XRTree <a class="el" href="class_xobject.html">XObject</a> </td></tr>
<tr><td valign=top><a name="s40" doxytag="eOP_EXTFUNCTION"></a><em>eOP_EXTFUNCTION</em>
&nbsp;</td><td>
[OP_EXTFUNCTION] (Extension function.) [length] [index to namespace token] [index to function name token] {OP_ARGUMENT}*.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> <a class="el" href="class_xnumber.html">XNumber</a> <a class="el" href="class_xstring.html">XString</a> <a class="el" href="class_xboolean.html">XBoolean</a> XRTree <a class="el" href="class_xobject.html">XObject</a> </td></tr>
<tr><td valign=top><a name="s41" doxytag="eOP_FUNCTION"></a><em>eOP_FUNCTION</em>
&nbsp;</td><td>
[OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT}* [ENDOP].
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> <a class="el" href="class_xnumber.html">XNumber</a> <a class="el" href="class_xstring.html">XString</a> <a class="el" href="class_xboolean.html">XBoolean</a> XRTree <a class="el" href="class_xobject.html">XObject</a> </td></tr>
<tr><td valign=top><a name="s42" doxytag="eOP_LOCATIONPATH"></a><em>eOP_LOCATIONPATH</em>
&nbsp;</td><td>
[OP_LOCATIONPATH] [length] {FROM_stepType} | {function}{predicate}* [ENDOP].
<p>
(Note that element and attribute namespaces and  names can be wildcarded '*'.)
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> </td></tr>
<tr><td valign=top><a name="s43" doxytag="eOP_PREDICATE"></a><em>eOP_PREDICATE</em>
&nbsp;</td><td>
[OP_PREDICATE] [length] {expression} [ENDOP] (For safety).
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> or <a class="el" href="class_xnumber.html">XNumber</a> </td></tr>
<tr><td valign=top><a name="s44" doxytag="eNODETYPE_COMMENT"></a><em>eNODETYPE_COMMENT</em>
&nbsp;</td><td>
[NODETYPE_COMMENT] No size or arguments.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s45" doxytag="eNODETYPE_TEXT"></a><em>eNODETYPE_TEXT</em>
&nbsp;</td><td>
[NODETYPE_TEXT] No size or arguments.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s46" doxytag="eNODETYPE_PI"></a><em>eNODETYPE_PI</em>
&nbsp;</td><td>
[NODETYPE_PI] [index to token].
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s47" doxytag="eNODETYPE_NODE"></a><em>eNODETYPE_NODE</em>
&nbsp;</td><td>
[NODETYPE_NODE] No size or arguments.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s48" doxytag="eNODENAME"></a><em>eNODENAME</em>
&nbsp;</td><td>
[NODENAME] [index to ns token or EMPTY] [index to name token].
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s49" doxytag="eNODETYPE_ROOT"></a><em>eNODETYPE_ROOT</em>
&nbsp;</td><td>
[NODETYPE_ROOT] No size or arguments.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s50" doxytag="eNODETYPE_ANYELEMENT"></a><em>eNODETYPE_ANYELEMENT</em>
&nbsp;</td><td>
[NODETYPE_ANY] No size or arguments.
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s51" doxytag="eFROM_ANCESTORS"></a><em>eFROM_ANCESTORS</em>
&nbsp;</td><td>
[FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}?
<p>
returns:  <a class="el" href="class_xboolean.html">XBoolean</a> </td></tr>
<tr><td valign=top><a name="s52" doxytag="eFROM_ANCESTORS_OR_SELF"></a><em>eFROM_ANCESTORS_OR_SELF</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s53" doxytag="eFROM_ATTRIBUTES"></a><em>eFROM_ATTRIBUTES</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s54" doxytag="eFROM_CHILDREN"></a><em>eFROM_CHILDREN</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s55" doxytag="eFROM_DESCENDANTS"></a><em>eFROM_DESCENDANTS</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s56" doxytag="eFROM_DESCENDANTS_OR_SELF"></a><em>eFROM_DESCENDANTS_OR_SELF</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s57" doxytag="eFROM_FOLLOWING"></a><em>eFROM_FOLLOWING</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s58" doxytag="eFROM_FOLLOWING_SIBLINGS"></a><em>eFROM_FOLLOWING_SIBLINGS</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s59" doxytag="eFROM_PARENT"></a><em>eFROM_PARENT</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s60" doxytag="eFROM_PRECEDING"></a><em>eFROM_PRECEDING</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s61" doxytag="eFROM_PRECEDING_SIBLINGS"></a><em>eFROM_PRECEDING_SIBLINGS</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s62" doxytag="eFROM_SELF"></a><em>eFROM_SELF</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s63" doxytag="eFROM_NAMESPACE"></a><em>eFROM_NAMESPACE</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s64" doxytag="eFROM_ROOT"></a><em>eFROM_ROOT</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s65" doxytag="eOP_MATCHPATTERN"></a><em>eOP_MATCHPATTERN</em>
&nbsp;</td><td>
[OP_UNION] [length] {PathExpr}+.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> </td></tr>
<tr><td valign=top><a name="s66" doxytag="eOP_LOCATIONPATHPATTERN"></a><em>eOP_LOCATIONPATHPATTERN</em>
&nbsp;</td><td>
[OP_UNION] [length] {PathExpr}+.
<p>
returns:  <a class="el" href="class_xnodeset.html">XNodeSet</a> </td></tr>
<tr><td valign=top><a name="s67" doxytag="eMATCH_ATTRIBUTE"></a><em>eMATCH_ATTRIBUTE</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s68" doxytag="eMATCH_ANY_ANCESTOR"></a><em>eMATCH_ANY_ANCESTOR</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s69" doxytag="eMATCH_IMMEDIATE_ANCESTOR"></a><em>eMATCH_IMMEDIATE_ANCESTOR</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s70" doxytag="eMATCH_ANY_ANCESTOR_WITH_PREDICATE"></a><em>eMATCH_ANY_ANCESTOR_WITH_PREDICATE</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s71" doxytag="eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL"></a><em>eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s72" doxytag="eOpCodeNextAvailable"></a><em>eOpCodeNextAvailable</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XPathExpression::XPathExpression"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XPathExpression::XPathExpression (
          </b></td>
          <td valign="bottom"><b>
)<code> [explicit]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="XPathExpression::~XPathExpression"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XPathExpression::~XPathExpression (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a46" doxytag="XPathExpression::adjustPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::adjustPattern (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> <em>theAdjustment</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adjust the value of a pattern at a specified index in the pattern map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in map </td></tr>
<tr><td valign=top><em>theAdjustment</em>
&nbsp;</td><td>
 value of adjustment to add </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="XPathExpression::appendOpCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::appendOpCode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> <em>theOpCode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="class_xpathexpression.html#s7">OpCodeMapValueVectorType</a> &amp; <em>theArgs</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add an operation code with supplied arguments to the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
<tr><td valign=top><em>theArgs</em>
&nbsp;</td><td>
 vector or arguments to supply </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="XPathExpression::appendOpCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::appendOpCode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> <em>theOpCode</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add an operation code to the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a35" doxytag="XPathExpression::dumpOpCodeMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpOpCodeMap (
          </b></td>
          <td valign="bottom"><b>
std::ostream &amp; <em>theStream</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theStartPosition</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the operation code map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theStream</em>
&nbsp;</td><td>
 output stream </td></tr>
<tr><td valign=top><em>theStartPosition</em>
&nbsp;</td><td>
 starting position in map </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a34" doxytag="XPathExpression::dumpOpCodeMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpOpCodeMap (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_printwriter.html">PrintWriter</a> &amp; <em>thePrintWriter</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theStartPosition</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the operation code map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePrintWriter</em>
&nbsp;</td><td>
 output device </td></tr>
<tr><td valign=top><em>theStartPosition</em>
&nbsp;</td><td>
 starting position in map </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a39" doxytag="XPathExpression::dumpRemainingTokenQueue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpRemainingTokenQueue (
          </b></td>
          <td valign="bottom"><b>
std::ostream &amp; <em>theStream</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the remaining tokens in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theStream</em>
&nbsp;</td><td>
 The output stream </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="XPathExpression::dumpRemainingTokenQueue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpRemainingTokenQueue (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_printwriter.html">PrintWriter</a> &amp; <em>thePrintWriter</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the remaining tokens in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePrintWriter</em>
&nbsp;</td><td>
 output device </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a37" doxytag="XPathExpression::dumpTokenQueue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpTokenQueue (
          </b></td>
          <td valign="bottom"><b>
std::ostream &amp; <em>theStream</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <em>theStartPosition</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePrintWriter</em>
&nbsp;</td><td>
 output device </td></tr>
<tr><td valign=top><em>theStartPosition</em>
&nbsp;</td><td>
 starting position in token queue </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a36" doxytag="XPathExpression::dumpTokenQueue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::dumpTokenQueue (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_printwriter.html">PrintWriter</a> &amp; <em>thePrintWriter</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <em>theStartPosition</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Diagnostic function to output the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePrintWriter</em>
&nbsp;</td><td>
 output device </td></tr>
<tr><td valign=top><em>theStartPosition</em>
&nbsp;</td><td>
 starting position in token queue </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a48" doxytag="XPathExpression::getCurrentPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; XPathExpression::getCurrentPattern (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the current pattern in the pattern map.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 string for current match pattern </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="XPathExpression::getNextOpCodePosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> XPathExpression::getNextOpCodePosition (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>opPos</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the position of the next operation code at a specified position in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>opPos</em>
&nbsp;</td><td>
 position in list </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 position of next operation code </dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="XPathExpression::getNextToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_xobject.html">XObject</a> * XPathExpression::getNextToken (
          </b></td>
          <td valign="bottom"><b>
)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the next token in the token queue.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 pointer to <a class="el" href="class_xobject.html">XObject</a> token </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="XPathExpression::getOpCodeLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> XPathExpression::getOpCodeLength (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>opPos</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the length of an operation code at a specified position in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>opPos</em>
&nbsp;</td><td>
 position in list </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 length of operation code </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="XPathExpression::getOpCodeMapValue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> XPathExpression::getOpCodeMapValue (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>opPos</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the value of an operation code at a specified position in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>opPos</em>
&nbsp;</td><td>
 position in list </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 value of operation code </dl>    </td>
  </tr>
</table>
<a name="a44" doxytag="XPathExpression::getPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> XPathExpression::getPattern (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s11">PatternMapSizeType</a> <em>thePatternPosition</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve a pattern in the pattern map at the specified position.
<p>
position in the token queue.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePatternPosition</em>
&nbsp;</td><td>
 position in pattern map </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 match pattern </dl>    </td>
  </tr>
</table>
<a name="a43" doxytag="XPathExpression::getPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> XPathExpression::getPattern (
          </b></td>
          <td valign="bottom"><b>
int <em>thePatternPosition</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve a pattern in the pattern map at the specified position.
<p>
position in the token queue.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePatternPosition</em>
&nbsp;</td><td>
 position in pattern map </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 match pattern </dl>    </td>
  </tr>
</table>
<a name="a26" doxytag="XPathExpression::getPreviousToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_xobject.html">XObject</a> * XPathExpression::getPreviousToken (
          </b></td>
          <td valign="bottom"><b>
)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the previous token in the token queue.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 pointer to <a class="el" href="class_xobject.html">XObject</a> token </dl>    </td>
  </tr>
</table>
<a name="a27" doxytag="XPathExpression::getRelativeToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_xobject.html">XObject</a> * XPathExpression::getRelativeToken (
          </b></td>
          <td valign="bottom"><b>
int <em>theOffset</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve a token at the specified offset relative to the current position in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOffset</em>
&nbsp;</td><td>
 offset from current position </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 pointer to <a class="el" href="class_xobject.html">XObject</a> token </dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="XPathExpression::getToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_xobject.html">XObject</a> * XPathExpression::getToken (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <em>thePosition</em>&nbsp;) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve a token at the specified position in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePosition</em>
&nbsp;</td><td>
 position in queue </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 pointer to <a class="el" href="class_xobject.html">XObject</a> token </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="XPathExpression::getTokenPosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> XPathExpression::getTokenPosition (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve the current position in the token queue.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 position in queue </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="XPathExpression::hasMoreTokens"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XPathExpression::hasMoreTokens (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Whether there are any more tokens in the token queue.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 true if there are more tokens </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="XPathExpression::insertOpCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> XPathExpression::insertOpCode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> <em>theOpCode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Insert an operation code at a specified index in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in list </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a31" doxytag="XPathExpression::insertToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::insertToken (
          </b></td>
          <td valign="bottom"><b>
double <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Insert a token onto the token queue at the current position.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 the string value to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a30" doxytag="XPathExpression::insertToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::insertToken (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Insert a token onto the token queue at the current position.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 the string value to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="d0" doxytag="XPathExpression::isNodeTestOpCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XPathExpression::isNodeTestOpCode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <em>theOpCode</em>&nbsp;)<code> [static]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Whether the operation code is one of the node test types, for example, "ancestor::" or "child::".
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 true if code represents a node test </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="XPathExpression::opCodeMapLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> XPathExpression::opCodeMapLength (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve length of the operations code map stored in the map.
<p>
The length of the entire map is stored after the first op code. That offset is determined by this const static member. Note that as expressions are defined recursively, this is really just the length of the first expression in the map, which is the top of the parse tree. Any subexpression will also have a length entry at the same offset from the beginning of the subexpression.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 length of operations code map </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="XPathExpression::opCodeMapSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> XPathExpression::opCodeMapSize (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve number of elements in the operations code map.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 size of operations code map </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="XPathExpression::patternMapSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s11">PatternMapSizeType</a> XPathExpression::patternMapSize (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve number of elements in the pattern map.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 size of pattern map </dl>    </td>
  </tr>
</table>
<a name="a41" doxytag="XPathExpression::pushArgumentOnOpCodeMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushArgumentOnOpCodeMap (
          </b></td>
          <td valign="bottom"><b>
double <em>theToken</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push a token onto the token queue and its index onto the operations code map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 number value of the token to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a40" doxytag="XPathExpression::pushArgumentOnOpCodeMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushArgumentOnOpCodeMap (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; <em>theToken</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push a token onto the token queue and its index onto the operations code map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 string value of the token to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a42" doxytag="XPathExpression::pushCurrentTokenOnOpCodeMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushCurrentTokenOnOpCodeMap (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push the current position in the token queue onto the operations code map.
<p>
    </td>
  </tr>
</table>
<a name="a45" doxytag="XPathExpression::pushPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushPattern (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s10">PatternMapValueType</a> <em>thePattern</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push a pattern onto the pattern map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePattern</em>
&nbsp;</td><td>
 match pattern to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a29" doxytag="XPathExpression::pushToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushToken (
          </b></td>
          <td valign="bottom"><b>
double <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push a token onto the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 the number value to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a28" doxytag="XPathExpression::pushToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::pushToken (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Push a token onto the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 the string value to push </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a33" doxytag="XPathExpression::replaceRelativeToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::replaceRelativeToken (
          </b></td>
          <td valign="bottom"><b>
int <em>theOffset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Replace a token in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOffset</em>
&nbsp;</td><td>
 the offset at which to replace the token. </td></tr>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 double value for the new token </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="XPathExpression::replaceRelativeToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::replaceRelativeToken (
          </b></td>
          <td valign="bottom"><b>
int <em>theOffset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; <em>theToken</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Replace a token in the token queue.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOffset</em>
&nbsp;</td><td>
 the offset at which to replace the token. </td></tr>
<tr><td valign=top><em>theToken</em>
&nbsp;</td><td>
 string value for the new token </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="XPathExpression::reset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::reset (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reset the expression.
<p>
    </td>
  </tr>
</table>
<a name="a21" doxytag="XPathExpression::resetTokenPosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::resetTokenPosition (
          </b></td>
          <td valign="bottom"><b>
)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the current position in the token queue to zero.
<p>
    </td>
  </tr>
</table>
<a name="a47" doxytag="XPathExpression::setCurrentPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::setCurrentPattern (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="class_xalandomstring.html">XalanDOMString</a> &amp; <em>thePattern</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Change the current pattern in the pattern map.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePattern</em>
&nbsp;</td><td>
 match pattern to make current </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="XPathExpression::setOpCodeArgs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::setOpCodeArgs (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s74">eOpCodes</a> <em>theOpCode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="class_xpathexpression.html#s7">OpCodeMapValueVectorType</a> &amp; <em>theArgs</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the arguments for an operation code at a specified index in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>opPos</em>
&nbsp;</td><td>
 position in list </td></tr>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in list </td></tr>
<tr><td valign=top><em>theArgs</em>
&nbsp;</td><td>
 vector or arguments to supply </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="XPathExpression::setTokenPosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::setTokenPosition (
          </b></td>
          <td valign="bottom"><b>
int <em>thePosition</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the current position in the token queue to a specified value.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePosition</em>
&nbsp;</td><td>
 value of position to set </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="XPathExpression::setTokenPosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::setTokenPosition (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> <em>thePosition</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the current position in the token queue to a specified value.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>thePosition</em>
&nbsp;</td><td>
 value of position to set </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="XPathExpression::shrink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::shrink (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Shrink internal tables.
<p>
    </td>
  </tr>
</table>
<a name="a6" doxytag="XPathExpression::tokenQueueSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> XPathExpression::tokenQueueSize (
          </b></td>
          <td valign="bottom"><b>
) const<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve number of elements in the token queue.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 size of token queue </dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="XPathExpression::updateOpCodeLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::updateOpCodeLength (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <em>theOpCode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Update the length of an operation code at a specified index in the list.
<p>
This presumes that the other opcodes have been appended to the expression, and that the specified op code's length needs to be set. The size includes the normal length of the opcode, plus the length of its subexpressions.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code at specified index </td></tr>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in list </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="XPathExpression::updateOpCodeLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::updateOpCodeLength (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>&nbsp;)<code> []</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Update the length of an operation code at a specified index in the list.
<p>
This presumes that the other opcodes have been appended to the expression, and that the specified op code's length needs to be set. The size includes the normal length of the opcode, plus the length of its subexpressions.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in list </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="XPathExpression::updateOpCodeLengthAfterNodeTest"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::updateOpCodeLengthAfterNodeTest (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theIndex</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Update the length of an operation code after a node test code.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
 index in list </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="XPathExpression::updateShiftedOpCodeLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XPathExpression::updateShiftedOpCodeLength (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_xpathexpression.html#s4">OpCodeMapValueType</a> <em>theOpCode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theOriginalIndex</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> <em>theNewIndex</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Update the length of an operation code that has moved to a new index in the list.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theOpCode</em>
&nbsp;</td><td>
 operation code </td></tr>
<tr><td valign=top><em>theOriginalIndex</em>
&nbsp;</td><td>
 original index in list </td></tr>
<tr><td valign=top><em>theNewIndex</em>
&nbsp;</td><td>
 new index in list </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="m5" doxytag="XPathExpression::m_currentPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xalandomstring.html">XalanDOMString</a> XPathExpression::m_currentPattern
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The current pattern string, for diagnostics purposes.
<p>
    </td>
  </tr>
</table>
<a name="m3" doxytag="XPathExpression::m_currentPosition"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s9">TokenQueueSizeType</a> XPathExpression::m_currentPosition
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The current position in the token queue.
<p>
    </td>
  </tr>
</table>
<a name="m1" doxytag="XPathExpression::m_lastOpCodeIndex"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s5">OpCodeMapSizeType</a> XPathExpression::m_lastOpCodeIndex
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The index of the last opcode that was appended or inserted.
<p>
    </td>
  </tr>
</table>
<a name="m0" doxytag="XPathExpression::m_opMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s0">OpCodeMapType</a> XPathExpression::m_opMap
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
An operations map is used instead of a proper parse tree.
<p>
It contains operations codes and indexes into the m_tokenQueue. We use an array instead of a full parse tree in order to cut down on the number of objects created.     </td>
  </tr>
</table>
<a name="m4" doxytag="XPathExpression::m_patternMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s2">PatternMapType</a> XPathExpression::m_patternMap
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This holds a map to the m_tokenQueue that tells where the top-level elements are.
<p>
It is used for pattern matching so the m_tokenQueue can be walked backwards. Each element that is a 'target', (right-most top level element name) has TARGETEXTRA added to it.     </td>
  </tr>
</table>
<a name="m2" doxytag="XPathExpression::m_tokenQueue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_xpathexpression.html#s1">TokenQueueType</a> XPathExpression::m_tokenQueue
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The queue of used tokens.
<p>
The current token is the token at the end of the m_tokenQueue. The idea is that the queue can be marked and a sequence of tokens can be reused.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XPathExpression.hpp-source.html">XPathExpression.hpp</a></ul>
<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
<A href="http://www.research.att.com/sw/tools/graphviz/">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="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
	<TR>
		<TD WIDTH="80%" VALIGN="TOP">
			<P ALIGN="CENTER"><B>Xalan-C++ XSL Transformer Version 1.1</B><BR>
			Copyright &copy; 2000, 2001 The Apache Software Foundation. All Rights Reserved.</i></p>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="100%">
			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0">
		</TD>
	</TR>
</TABLE>