blob: f9d11bfc12a13c3be4b0ef4986bff187b7e3daad [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<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>XPath.hpp</h1><a href="XPath_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016 <font class="preprocessor">#if !defined(XPATH_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="XPath_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XPATH_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019
00020
00021 <font class="comment">// Base header file. Must be first.</font>
00022 <font class="preprocessor">#include &lt;<a class="code" href="XPathDefinitions_8hpp.html">xalanc/XPath/XPathDefinitions.hpp</a>&gt;</font>
00023
00024
00025
00026 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00027
00028
00029
00030 <font class="preprocessor">#include &lt;<a class="code" href="DoubleSupport_8hpp.html">xalanc/PlatformSupport/DoubleSupport.hpp</a>&gt;</font>
00031
00032
00033
00034 <font class="comment">// Base class header files...</font>
00035 <font class="preprocessor">#include &lt;<a class="code" href="XPathExecutionContext_8hpp.html">xalanc/XPath/XPathExecutionContext.hpp</a>&gt;</font>
00036
00037
00038
00039 <font class="preprocessor">#include &lt;<a class="code" href="MutableNodeRefList_8hpp.html">xalanc/XPath/MutableNodeRefList.hpp</a>&gt;</font>
00040 <font class="preprocessor">#include &lt;<a class="code" href="XPathExpression_8hpp.html">xalanc/XPath/XPathExpression.hpp</a>&gt;</font>
00041 <font class="preprocessor">#include &lt;<a class="code" href="Function_8hpp.html">xalanc/XPath/Function.hpp</a>&gt;</font>
00042 <font class="preprocessor">#include &lt;<a class="code" href="XPathFunctionTable_8hpp.html">xalanc/XPath/XPathFunctionTable.hpp</a>&gt;</font>
00043
00044
00045
00046 <a class="code" href="XSLTProcessor_8hpp.html#a1">XALAN_DECLARE_XERCES_CLASS</a>(Locator)
00047
00048
00049
00050 XALAN_CPP_NAMESPACE_BEGIN
00051
00052
00053
00054 <font class="keyword">class </font><a class="code" href="classPrefixResolver.html">PrefixResolver</a>;
00055 <font class="keyword">class </font><a class="code" href="classXObject.html">XObject</a>;
00056 <font class="keyword">class </font><a class="code" href="classXalanElement.html">XalanElement</a>;
00057 <font class="keyword">class </font><a class="code" href="classXalanNode.html">XalanNode</a>;
00058 <font class="keyword">class </font><a class="code" href="classXPathConstructionContext.html">XPathConstructionContext</a>;
00059
00060
00061
<a name="l00062"></a><a class="code" href="classXPath.html">00062</a> <font class="keyword">class </font>XALAN_XPATH_EXPORT <a class="code" href="classXPath.html">XPath</a>
00063 {
00064 <font class="keyword">public</font>:
00065
<a name="l00066"></a><a class="code" href="classXPath.html#s0">00066</a> <font class="keyword">typedef</font> XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType;
00067
<a name="l00068"></a><a class="code" href="classXPath.html#s1">00068</a> <font class="keyword">typedef</font> XPathExpression::OpCodeMapPositionType OpCodeMapPositionType;
<a name="l00069"></a><a class="code" href="classXPath.html#s2">00069</a> <font class="keyword">typedef</font> XPathExpression::OpCodeMapValueType OpCodeMapValueType;
<a name="l00070"></a><a class="code" href="classXPath.html#s3">00070</a> <font class="keyword">typedef</font> XPathExpression::TokenQueuePositionType TokenQueuePositionType;
<a name="l00071"></a><a class="code" href="classXPath.html#s4">00071</a> <font class="keyword">typedef</font> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">XPathExecutionContext::GetAndReleaseCachedString</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetCachedString</a>;
<a name="l00072"></a><a class="code" href="classXPath.html#s5">00072</a> <font class="keyword">typedef</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">XPathExecutionContext::PrefixResolverSetAndRestore</a> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a>;
<a name="l00073"></a><a class="code" href="classXPath.html#s6">00073</a> <font class="keyword">typedef</font> <a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html">XPathExecutionContext::CurrentNodePushAndPop</a> <a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html">CurrentNodePushAndPop</a>;
00074
00075
<a name="l00076"></a><a class="code" href="classXPath.html#p0">00076</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_ANY[];
<a name="l00077"></a><a class="code" href="classXPath.html#p1">00077</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_ROOT[];
<a name="l00078"></a><a class="code" href="classXPath.html#p2">00078</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_TEXT[];
<a name="l00079"></a><a class="code" href="classXPath.html#p3">00079</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_COMMENT[];
<a name="l00080"></a><a class="code" href="classXPath.html#p4">00080</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_PI[];
<a name="l00081"></a><a class="code" href="classXPath.html#p5">00081</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_OTHER[];
<a name="l00082"></a><a class="code" href="classXPath.html#p6">00082</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar PSEUDONAME_NODE[];
00083
<a name="l00084"></a><a class="code" href="classXPath.html#s15">00084</a> <font class="keyword">enum</font> eMatchScore
00085 {
00086 eMatchScoreNone,
00087 eMatchScoreNodeTest,
00088 eMatchScoreNSWild,
00089 eMatchScoreQName,
00090 eMatchScoreOther
00091 };
00092
<a name="l00093"></a><a class="code" href="classXPath_1_1TargetData.html">00093</a> <font class="keyword">class </font>TargetData
00094 {
00095 <font class="keyword">public</font>:
00096
<a name="l00097"></a><a class="code" href="classXPath_1_1TargetData.html#s4">00097</a> <font class="keyword">enum</font> eTargetType { eAttribute, eElement, eAny, eOther };
00098
<a name="l00099"></a><a class="code" href="classXPath_1_1TargetData.html#a0">00099</a> <a class="code" href="classXPath_1_1TargetData.html#a0">TargetData</a>() :
00100 m_string(0),
00101 m_priority(eMatchScoreNone),
00102 m_targetType(eOther)
00103 {
00104 }
00105
<a name="l00106"></a><a class="code" href="classXPath_1_1TargetData.html#a1">00106</a> <a class="code" href="classXPath_1_1TargetData.html#a0">TargetData</a>(
00107 <font class="keyword">const</font> XalanDOMChar* theString,
00108 eMatchScore thePriority,
00109 eTargetType theTargetType) :
00110 m_string(theString),
00111 m_priority(thePriority),
00112 m_targetType(theTargetType)
00113 {
00114 }
00115
00116 <font class="keyword">const</font> XalanDOMChar*
<a name="l00117"></a><a class="code" href="classXPath_1_1TargetData.html#a2">00117</a> <a class="code" href="classXPath_1_1TargetData.html#a2">getString</a>()<font class="keyword"> const</font>
00118 <font class="keyword"> </font>{
00119 <font class="keywordflow">return</font> m_string;
00120 }
00121
00122 eMatchScore
<a name="l00123"></a><a class="code" href="classXPath_1_1TargetData.html#a3">00123</a> <a class="code" href="classXPath_1_1TargetData.html#a3">getDefaultPriority</a>()<font class="keyword"> const</font>
00124 <font class="keyword"> </font>{
00125 <font class="keywordflow">return</font> m_priority;
00126 }
00127
00128 eTargetType
<a name="l00129"></a><a class="code" href="classXPath_1_1TargetData.html#a4">00129</a> <a class="code" href="classXPath_1_1TargetData.html#a4">getTargetType</a>()<font class="keyword"> const</font>
00130 <font class="keyword"> </font>{
00131 <font class="keywordflow">return</font> m_targetType;
00132 }
00133
00134 <font class="keyword">private</font>:
00135
00136 <font class="keyword">const</font> XalanDOMChar* m_string;
00137
00138 eMatchScore m_priority;
00139
00140 eTargetType m_targetType;
00141 };
00142
<a name="l00143"></a><a class="code" href="classXPath.html#s7">00143</a> <font class="keyword">typedef</font> XalanVector&lt;TargetData&gt; TargetDataVectorType;
00144
00148 <font class="keyword">static</font> <font class="keywordtype">void</font>
00149 <a class="code" href="classXPath.html#d0">initialize</a>(MemoryManagerType&amp; theManager);
00150
00154 <font class="keyword">static</font> <font class="keywordtype">void</font>
00155 <a class="code" href="classXPath.html#d1">terminate</a>();
00156
00162 <font class="keyword">explicit</font>
00163 <a class="code" href="classXPath.html#a0">XPath</a>(MemoryManagerType&amp; theManager, <font class="keyword">const</font> LocatorType* theLocator = 0);
00164
00165 <font class="keyword">static</font> <a class="code" href="classXPath.html">XPath</a>*
00166 <a class="code" href="classXPath.html#d2">create</a>(MemoryManagerType&amp; theManager, <font class="keyword">const</font> LocatorType* theLocator = 0);
00167
00168 MemoryManagerType&amp;
<a name="l00169"></a><a class="code" href="classXPath.html#a1">00169</a> <a class="code" href="classXPath.html#a1">getMemoryManager</a>()<font class="keyword"></font>
00170 <font class="keyword"> </font>{
00171 <font class="keywordflow">return</font> m_expression.getMemoryManager();
00172 }
00173 <a class="code" href="classXPath.html#a2">~XPath</a>();
00174
00178 <font class="keywordtype">void</font>
<a name="l00179"></a><a class="code" href="classXPath.html#a3">00179</a> <a class="code" href="classXPath.html#a3">shrink</a>()<font class="keyword"></font>
00180 <font class="keyword"> </font>{
00181 m_expression.shrink();
00182 }
00183
00192 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
00193 <a class="code" href="classXPath.html#a4">execute</a>(
00194 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00195 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00196 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
00197
00206 <font class="keywordtype">void</font>
00207 <a class="code" href="classXPath.html#a4">execute</a>(
00208 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00209 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00210 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00211 <font class="keywordtype">bool</font>&amp; result) <font class="keyword">const</font>;
00212
00221 <font class="keywordtype">void</font>
00222 <a class="code" href="classXPath.html#a4">execute</a>(
00223 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00224 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00225 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00226 <font class="keywordtype">double</font>&amp; result) <font class="keyword">const</font>;
00227
00237 <font class="keywordtype">void</font>
00238 <a class="code" href="classXPath.html#a4">execute</a>(
00239 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00240 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00241 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00242 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; result) <font class="keyword">const</font>;
00243
00244 <font class="keyword">typedef</font> void (FormatterListener::*MemberFunctionPtr)(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font>, <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>);
00245
00255 <font class="keywordtype">void</font>
00256 <a class="code" href="classXPath.html#a4">execute</a>(
00257 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00258 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00259 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00260 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
00261 MemberFunctionPtr function) <font class="keyword">const</font>;
00262
00282 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
00283 <a class="code" href="classXPath.html#a4">execute</a>(
00284 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00285 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00286 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00287 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; result) <font class="keyword">const</font>;
00288
00298 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00299"></a><a class="code" href="classXPath.html#a10">00299</a> <a class="code" href="classXPath.html#a4">execute</a>(
00300 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00301 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00302 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00303 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
00304 <font class="keyword"> </font>{
00305 <font class="comment">// Push and pop the context node list...</font>
00306 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00307 executionContext,
00308 contextNodeList);
00309
00310 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext);
00311 }
00312
00322 <font class="keywordtype">void</font>
<a name="l00323"></a><a class="code" href="classXPath.html#a11">00323</a> <a class="code" href="classXPath.html#a4">execute</a>(
00324 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00325 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00326 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00327 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00328 <font class="keywordtype">bool</font>&amp; result)<font class="keyword"> const</font>
00329 <font class="keyword"> </font>{
00330 <font class="comment">// Push and pop the context node list...</font>
00331 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00332 executionContext,
00333 contextNodeList);
00334
00335 <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext, result);
00336 }
00337
00347 <font class="keywordtype">void</font>
<a name="l00348"></a><a class="code" href="classXPath.html#a12">00348</a> <a class="code" href="classXPath.html#a4">execute</a>(
00349 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00350 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00351 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00352 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00353 <font class="keywordtype">double</font>&amp; result)<font class="keyword"> const</font>
00354 <font class="keyword"> </font>{
00355 <font class="comment">// Push and pop the context node list...</font>
00356 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00357 executionContext,
00358 contextNodeList);
00359
00360 <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext, result);
00361 }
00362
00373 <font class="keywordtype">void</font>
<a name="l00374"></a><a class="code" href="classXPath.html#a13">00374</a> <a class="code" href="classXPath.html#a4">execute</a>(
00375 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00376 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00377 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00378 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00379 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; result)<font class="keyword"> const</font>
00380 <font class="keyword"> </font>{
00381 <font class="comment">// Push and pop the context node list...</font>
00382 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00383 executionContext,
00384 contextNodeList);
00385
00386 <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext, result);
00387 }
00388
00399 <font class="keywordtype">void</font>
<a name="l00400"></a><a class="code" href="classXPath.html#a14">00400</a> <a class="code" href="classXPath.html#a4">execute</a>(
00401 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00402 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00403 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00404 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00405 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
00406 MemberFunctionPtr function)<font class="keyword"> const</font>
00407 <font class="keyword"> </font>{
00408 <font class="comment">// Push and pop the context node list...</font>
00409 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00410 executionContext,
00411 contextNodeList);
00412
00413 <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext, formatterListener, function);
00414 }
00415
00436 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00437"></a><a class="code" href="classXPath.html#a15">00437</a> <a class="code" href="classXPath.html#a4">execute</a>(
00438 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00439 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00440 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; contextNodeList,
00441 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00442 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; result)<font class="keyword"> const</font>
00443 <font class="keyword"> </font>{
00444 <font class="comment">// Push and pop the context node list...</font>
00445 <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">XPathExecutionContext::ContextNodeListPushAndPop</a> thePushAndPop(
00446 executionContext,
00447 contextNodeList);
00448
00449 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#a4">execute</a>(context, prefixResolver, executionContext, result);
00450 }
00451
00461 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00462"></a><a class="code" href="classXPath.html#a16">00462</a> <a class="code" href="classXPath.html#a4">execute</a>(<a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
00463 <font class="keyword"> </font>{
00464 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00465 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00466
00467 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(
00468 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00469 getInitialOpCodePosition(),
00470 executionContext);
00471 }
00472
00482 <font class="keywordtype">void</font>
<a name="l00483"></a><a class="code" href="classXPath.html#a17">00483</a> <a class="code" href="classXPath.html#a4">execute</a>(
00484 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00485 <font class="keywordtype">bool</font>&amp; result)<font class="keyword"> const</font>
00486 <font class="keyword"> </font>{
00487 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00488 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00489
00490 <a class="code" href="classXPath.html#b6">executeMore</a>(
00491 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00492 getInitialOpCodePosition(),
00493 executionContext,
00494 result);
00495 }
00496
00506 <font class="keywordtype">void</font>
<a name="l00507"></a><a class="code" href="classXPath.html#a18">00507</a> <a class="code" href="classXPath.html#a4">execute</a>(
00508 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00509 <font class="keywordtype">double</font>&amp; result)<font class="keyword"> const</font>
00510 <font class="keyword"> </font>{
00511 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00512 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00513
00514 <a class="code" href="classXPath.html#b6">executeMore</a>(
00515 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00516 getInitialOpCodePosition(),
00517 executionContext,
00518 result);
00519 }
00520
00531 <font class="keywordtype">void</font>
<a name="l00532"></a><a class="code" href="classXPath.html#a19">00532</a> <a class="code" href="classXPath.html#a4">execute</a>(
00533 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00534 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; result)<font class="keyword"> const</font>
00535 <font class="keyword"> </font>{
00536 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00537 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00538
00539 <a class="code" href="classXPath.html#b6">executeMore</a>(
00540 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00541 getInitialOpCodePosition(),
00542 executionContext,
00543 result);
00544 }
00545
00556 <font class="keywordtype">void</font>
<a name="l00557"></a><a class="code" href="classXPath.html#a20">00557</a> <a class="code" href="classXPath.html#a4">execute</a>(
00558 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00559 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
00560 MemberFunctionPtr function)<font class="keyword"> const</font>
00561 <font class="keyword"> </font>{
00562 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00563 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00564
00565 <a class="code" href="classXPath.html#b6">executeMore</a>(
00566 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00567 getInitialOpCodePosition(),
00568 executionContext,
00569 formatterListener,
00570 function);
00571 }
00572
00593 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00594"></a><a class="code" href="classXPath.html#a21">00594</a> <a class="code" href="classXPath.html#a4">execute</a>(
00595 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00596 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; result)<font class="keyword"> const</font>
00597 <font class="keyword"> </font>{
00598 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00599 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() != 0);
00600
00601 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(
00602 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00603 getInitialOpCodePosition(),
00604 executionContext,
00605 result);
00606 }
00607
00618 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00619"></a><a class="code" href="classXPath.html#a22">00619</a> <a class="code" href="classXPath.html#a4">execute</a>(
00620 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00621 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
00622 <font class="keyword"> </font>{
00623 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00624
00625 <font class="comment">// Push and pop the PrefixResolver...</font>
00626 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00627 executionContext,
00628 &amp;prefixResolver);
00629
00630 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(
00631 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00632 getInitialOpCodePosition(),
00633 executionContext);
00634 }
00635
00646 <font class="keywordtype">void</font>
<a name="l00647"></a><a class="code" href="classXPath.html#a23">00647</a> <a class="code" href="classXPath.html#a4">execute</a>(
00648 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00649 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00650 <font class="keywordtype">bool</font>&amp; result)<font class="keyword"> const</font>
00651 <font class="keyword"> </font>{
00652 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00653
00654 <font class="comment">// Push and pop the PrefixResolver...</font>
00655 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00656 executionContext,
00657 &amp;prefixResolver);
00658
00659 <a class="code" href="classXPath.html#b6">executeMore</a>(
00660 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00661 getInitialOpCodePosition(),
00662 executionContext,
00663 result);
00664 }
00665
00676 <font class="keywordtype">void</font>
<a name="l00677"></a><a class="code" href="classXPath.html#a24">00677</a> <a class="code" href="classXPath.html#a4">execute</a>(
00678 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00679 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00680 <font class="keywordtype">double</font>&amp; result)<font class="keyword"> const</font>
00681 <font class="keyword"> </font>{
00682 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00683
00684 <font class="comment">// Push and pop the PrefixResolver...</font>
00685 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00686 executionContext,
00687 &amp;prefixResolver);
00688
00689 <a class="code" href="classXPath.html#b6">executeMore</a>(
00690 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00691 getInitialOpCodePosition(),
00692 executionContext,
00693 result);
00694 }
00695
00707 <font class="keywordtype">void</font>
<a name="l00708"></a><a class="code" href="classXPath.html#a25">00708</a> <a class="code" href="classXPath.html#a4">execute</a>(
00709 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00710 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00711 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; result)<font class="keyword"> const</font>
00712 <font class="keyword"> </font>{
00713 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00714
00715 <font class="comment">// Push and pop the PrefixResolver...</font>
00716 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00717 executionContext,
00718 &amp;prefixResolver);
00719
00720 <a class="code" href="classXPath.html#b6">executeMore</a>(
00721 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00722 getInitialOpCodePosition(),
00723 executionContext,
00724 result);
00725 }
00726
00735 <font class="keywordtype">void</font>
<a name="l00736"></a><a class="code" href="classXPath.html#a26">00736</a> <a class="code" href="classXPath.html#a4">execute</a>(
00737 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00738 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00739 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
00740 MemberFunctionPtr function)<font class="keyword"> const</font>
00741 <font class="keyword"> </font>{
00742 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00743
00744 <font class="comment">// Push and pop the PrefixResolver...</font>
00745 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00746 executionContext,
00747 &amp;prefixResolver);
00748
00749 <a class="code" href="classXPath.html#b6">executeMore</a>(
00750 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00751 getInitialOpCodePosition(),
00752 executionContext,
00753 formatterListener,
00754 function);
00755 }
00756
00778 <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00779"></a><a class="code" href="classXPath.html#a27">00779</a> <a class="code" href="classXPath.html#a4">execute</a>(
00780 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; prefixResolver,
00781 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
00782 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; result)<font class="keyword"> const</font>
00783 <font class="keyword"> </font>{
00784 assert(executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() != 0);
00785
00786 <font class="comment">// Push and pop the PrefixResolver...</font>
00787 <font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> theResolverSetAndRestore(
00788 executionContext,
00789 &amp;prefixResolver);
00790
00791 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(
00792 executionContext.<a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>(),
00793 getInitialOpCodePosition(),
00794 executionContext,
00795 result);
00796 }
00797
00803 XPathExpression&amp;
<a name="l00804"></a><a class="code" href="classXPath.html#a28">00804</a> <a class="code" href="classXPath.html#a28">getExpression</a>()<font class="keyword"></font>
00805 <font class="keyword"> </font>{
00806 <font class="keywordflow">return</font> m_expression;
00807 }
00808
00814 <font class="keyword">const</font> XPathExpression&amp;
<a name="l00815"></a><a class="code" href="classXPath.html#a29">00815</a> <a class="code" href="classXPath.html#a28">getExpression</a>()<font class="keyword"> const</font>
00816 <font class="keyword"> </font>{
00817 <font class="keywordflow">return</font> m_expression;
00818 }
00819
00820 <font class="keyword">static</font> <font class="keywordtype">double</font>
<a name="l00821"></a><a class="code" href="classXPath.html#d3">00821</a> <a class="code" href="classXPath.html#d3">getMatchScoreValue</a>(eMatchScore score)<font class="keyword"></font>
00822 <font class="keyword"> </font>{
00823 <font class="keywordflow">switch</font>(score)
00824 {
00825 <font class="keywordflow">case</font> eMatchScoreNone:
00826 <font class="keywordflow">return</font> DoubleSupport::getNegativeInfinity();
00827 <font class="keywordflow">break</font>;
00828
00829 <font class="keywordflow">case</font> eMatchScoreNodeTest:
00830 <font class="keywordflow">return</font> -0.5;
00831 <font class="keywordflow">break</font>;
00832
00833 <font class="keywordflow">case</font> eMatchScoreNSWild:
00834 <font class="keywordflow">return</font> -0.25;
00835 <font class="keywordflow">break</font>;
00836
00837 <font class="keywordflow">case</font> eMatchScoreOther:
00838 <font class="keywordflow">return</font> 0.5;
00839 <font class="keywordflow">break</font>;
00840
00841 <font class="keywordflow">case</font> eMatchScoreQName:
00842 <font class="keywordflow">return</font> 0.0;
00843 <font class="keywordflow">break</font>;
00844 };
00845
00846 assert(<font class="keyword">false</font>);
00847 <font class="keywordflow">return</font> 0.0;
00848 }
00849
00857 eMatchScore
00858 <a class="code" href="classXPath.html#a30">getMatchScore</a>(
00859 <a class="code" href="classXalanNode.html">XalanNode</a>* node,
00860 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
00861
00870 eMatchScore
00871 <a class="code" href="classXPath.html#a30">getMatchScore</a>(
00872 <a class="code" href="classXalanNode.html">XalanNode</a>* node,
00873 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; resolver,
00874 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
00875
00884 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l00885"></a><a class="code" href="classXPath.html#a32">00885</a> <a class="code" href="classXPath.html#a32">predicate</a>(
00886 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
00887 OpCodeMapPositionType opPos,
00888 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
00889 <font class="keyword"> </font>{
00890 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext);
00891 }
00892
00898 <font class="keywordtype">void</font>
00899 <a class="code" href="classXPath.html#a33">getTargetData</a>(TargetDataVectorType&amp; targetData) <font class="keyword">const</font>;
00900
00907 <font class="keyword">static</font> <font class="keywordtype">void</font>
<a name="l00908"></a><a class="code" href="classXPath.html#d4">00908</a> <a class="code" href="classXPath.html#d4">installFunction</a>(
00909 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; funcName,
00910 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; func)<font class="keyword"></font>
00911 <font class="keyword"> </font>{
00912 s_functions.<a class="code" href="classXPathFunctionTable.html#a9">InstallFunction</a>(funcName,
00913 func);
00914 }
00915
00922 <font class="keyword">static</font> <font class="keywordtype">void</font>
<a name="l00923"></a><a class="code" href="classXPath.html#d5">00923</a> <a class="code" href="classXPath.html#d4">installFunction</a>(
00924 <font class="keyword">const</font> XalanDOMChar* funcName,
00925 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; func)<font class="keyword"></font>
00926 <font class="keyword"> </font>{
00927 s_functions.<a class="code" href="classXPathFunctionTable.html#a9">InstallFunction</a>(funcName,
00928 func);
00929 }
00930
00937 <font class="keyword">static</font> <font class="keywordtype">bool</font>
<a name="l00938"></a><a class="code" href="classXPath.html#d6">00938</a> <a class="code" href="classXPath.html#d6">uninstallFunction</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; funcName)<font class="keyword"></font>
00939 <font class="keyword"> </font>{
00940 <font class="keywordflow">return</font> s_functions.<a class="code" href="classXPathFunctionTable.html#a10">UninstallFunction</a>(funcName);
00941 }
00942
00949 <font class="keyword">static</font> <font class="keywordtype">bool</font>
<a name="l00950"></a><a class="code" href="classXPath.html#d7">00950</a> <a class="code" href="classXPath.html#d6">uninstallFunction</a>(<font class="keyword">const</font> XalanDOMChar* funcName)<font class="keyword"></font>
00951 <font class="keyword"> </font>{
00952 <font class="keywordflow">return</font> s_functions.<a class="code" href="classXPathFunctionTable.html#a10">UninstallFunction</a>(funcName);
00953 }
00954
00961 <font class="keyword">static</font> <font class="keywordtype">bool</font>
<a name="l00962"></a><a class="code" href="classXPath.html#d8">00962</a> <a class="code" href="classXPath.html#d8">isInstalledFunction</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionName)<font class="keyword"></font>
00963 <font class="keyword"> </font>{
00964 <font class="keywordflow">return</font> s_functions.<a class="code" href="classXPathFunctionTable.html#a13">isInstalledFunction</a>(theFunctionName);
00965 }
00966
<a name="l00967"></a><a class="code" href="classXPath.html#s9">00967</a> <font class="keyword">typedef</font> <a class="code" href="classXPathFunctionTable.html">XPathFunctionTable</a> <a class="code" href="classXPathFunctionTable.html">FunctionTableType</a>;
00968
00974 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXPathFunctionTable.html">FunctionTableType</a>&amp;
<a name="l00975"></a><a class="code" href="classXPath.html#d9">00975</a> <a class="code" href="classXPath.html#d9">getFunctionTable</a>()<font class="keyword"></font>
00976 <font class="keyword"> </font>{
00977 <font class="keywordflow">return</font> s_functions;
00978 }
00979
00980 <font class="preprocessor">#if defined(XALAN_NO_MEMBER_TEMPLATES)</font>
00981 <font class="preprocessor"></font> <font class="keyword">typedef</font> XPathFunctionTable::InstalledFunctionNameVectorType
00982 InstalledFunctionNameVectorType;
00983
00989 <font class="keyword">static</font> <font class="keywordtype">void</font>
00990 <a class="code" href="classXPath.html#d10">getInstalledFunctionNames</a>(InstalledFunctionNameVectorType&amp; theVector)<font class="keyword"></font>
00991 <font class="keyword"> </font>{
00992 s_functions.<a class="code" href="classXPathFunctionTable.html#a14">getInstalledFunctionNames</a>(theVector);
00993 }
00994 <font class="preprocessor">#else</font>
00995 <font class="preprocessor"></font>
01000 template&lt;class OutputIteratorType&gt;
01001 <font class="keyword">static</font> <font class="keywordtype">void</font>
<a name="l01002"></a><a class="code" href="classXPath.html#d10">01002</a> <a class="code" href="classXPath.html#d10">getInstalledFunctionNames</a>(OutputIteratorType theIterator)<font class="keyword"></font>
01003 <font class="keyword"> </font>{
01004 s_functions.<a class="code" href="classXPathFunctionTable.html#a14">getInstalledFunctionNames</a>(theIterator);
01005 }
01006 <font class="preprocessor">#endif</font>
01007 <font class="preprocessor"></font>
01008 <font class="keyword">static</font> <font class="keywordtype">void</font>
<a name="l01009"></a><a class="code" href="classXPath.html#d11">01009</a> <a class="code" href="classXPath.html#d11">destroyTable</a>()<font class="keyword"></font>
01010 <font class="keyword"> </font>{
01011 s_functions.<a class="code" href="classXPathFunctionTable.html#a4">DestroyTable</a>();
01012 }
01013
01014 <font class="keywordtype">bool</font>
<a name="l01015"></a><a class="code" href="classXPath.html#a34">01015</a> <a class="code" href="classXPath.html#a34">getInStylesheet</a>()<font class="keyword"> const</font>
01016 <font class="keyword"> </font>{
01017 <font class="keywordflow">return</font> m_inStylesheet;
01018 }
01019
01020 <font class="keywordtype">void</font>
<a name="l01021"></a><a class="code" href="classXPath.html#a35">01021</a> <a class="code" href="classXPath.html#a35">setInStylesheet</a>(<font class="keywordtype">bool</font> fValue)<font class="keyword"></font>
01022 <font class="keyword"> </font>{
01023 m_inStylesheet = fValue;
01024 }
01025
01026 <font class="keyword">const</font> LocatorType*
<a name="l01027"></a><a class="code" href="classXPath.html#a36">01027</a> <a class="code" href="classXPath.html#a36">getLocator</a>()<font class="keyword"> const</font>
01028 <font class="keyword"> </font>{
01029 <font class="keywordflow">return</font> m_locator;
01030 }
01031
01032 <font class="keywordtype">void</font>
<a name="l01033"></a><a class="code" href="classXPath.html#a37">01033</a> <a class="code" href="classXPath.html#a37">setLocator</a>(<font class="keyword">const</font> LocatorType* theLocator)<font class="keyword"></font>
01034 <font class="keyword"> </font>{
01035 m_locator = theLocator;
01036 }
01037
<a name="l01038"></a><a class="code" href="classXPath_1_1NodeTester.html">01038</a> <font class="keyword">class </font>NodeTester
01039 {
01040 <font class="keyword">public</font>:
01041
01042 <a class="code" href="classXPath_1_1NodeTester.html#a0">NodeTester</a>();
01043
01044 <a class="code" href="classXPath_1_1NodeTester.html#a0">NodeTester</a>(<font class="keyword">const</font> NodeTester&amp; theSource);
01045
01046 <a class="code" href="classXPath_1_1NodeTester.html#a0">NodeTester</a>(
01047 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>&amp; xpath,
01048 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01049 OpCodeMapPositionType opPos,
01050 OpCodeMapValueType argLen,
01051 OpCodeMapValueType stepType);
01052
01053 <a class="code" href="classXPath_1_1NodeTester.html#a0">NodeTester</a>(
01054 <a class="code" href="classXPathConstructionContext.html">XPathConstructionContext</a>&amp; theContext,
01055 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNameTest,
01056 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; thePrefixResolver,
01057 <font class="keyword">const</font> LocatorType* theLocator = 0,
01058 eMatchScore* theMatchScore = 0);
01059
01060 <a class="code" href="classXPath_1_1NodeTester.html#a0">NodeTester</a>(
01061 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespaceURI,
01062 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theLocalName,
01063 eMatchScore* theMatchScore = 0);
01064
01065 eMatchScore
<a name="l01066"></a><a class="code" href="classXPath_1_1NodeTester.html#a5">01066</a> <a class="code" href="classXPath_1_1NodeTester.html#a5">operator()</a>(
01067 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01068 XalanNode::NodeType nodeType)<font class="keyword"> const</font>
01069 <font class="keyword"> </font>{
01070 assert(context.<a class="code" href="classXalanNode.html#a4">getNodeType</a>() == nodeType);
01071
01072 <font class="keywordflow">return</font> (this-&gt;*m_testFunction)(context, nodeType);
01073 }
01074
01075 eMatchScore
<a name="l01076"></a><a class="code" href="classXPath_1_1NodeTester.html#a6">01076</a> <a class="code" href="classXPath_1_1NodeTester.html#a5">operator()</a>(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context)<font class="keyword"> const</font>
01077 <font class="keyword"> </font>{
01078 <font class="keywordflow">return</font> (this-&gt;*m_testFunction2)(context);
01079 }
01080
01081 NodeTester&amp;
<a name="l01082"></a><a class="code" href="classXPath_1_1NodeTester.html#a7">01082</a> <a class="code" href="classXPath_1_1NodeTester.html#a7">operator=</a>(<font class="keyword">const</font> NodeTester&amp; theRHS)<font class="keyword"></font>
01083 <font class="keyword"> </font>{
01084 m_executionContext = theRHS.m_executionContext;
01085 m_targetNamespace = theRHS.m_targetNamespace;
01086 m_targetLocalName = theRHS.m_targetLocalName;
01087 m_testFunction = theRHS.m_testFunction;
01088 m_testFunction2 = theRHS.m_testFunction2;
01089
01090 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
01091 }
01092
01093 <font class="keyword">protected</font>:
01094
01095 eMatchScore
01096 <a class="code" href="classXPath_1_1NodeTester.html#b0">initialize</a>(
01097 <a class="code" href="classXPathConstructionContext.html">XPathConstructionContext</a>&amp; theConstructionContext,
01098 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNameTest,
01099 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; thePrefixResolver,
01100 <font class="keyword">const</font> LocatorType* theLocator);
01101
01102 eMatchScore
01103 <a class="code" href="classXPath_1_1NodeTester.html#b0">initialize</a>(
01104 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespaceURI,
01105 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theLocalName);
01106
01107 <font class="keyword">private</font>:
01108
01109
01110 <font class="keyword">typedef</font> <a class="code" href="classXPath.html#s15">eMatchScore</a> (NodeTester::*TestFunctionPtr)(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp;, XalanNode::NodeType) <font class="keyword">const</font>;
01111 <font class="keyword">typedef</font> <a class="code" href="classXPath.html#s15">eMatchScore</a> (NodeTester::*TestFunctionPtr2)(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp;) <font class="keyword">const</font>;
01112
01113
01114 eMatchScore
01115 testComment(
01116 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01117 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01118
01119 eMatchScore
01120 testText(
01121 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01122 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01123
01124 eMatchScore
01125 testPI(
01126 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01127 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01128
01129 eMatchScore
01130 testPIName(
01131 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01132 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01133
01134 eMatchScore
01135 testNode(
01136 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01137 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01138
01139 eMatchScore
01140 testRoot(
01141 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01142 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01143
01144 eMatchScore
01145 testAttributeNCName(
01146 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01147 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01148
01149 eMatchScore
01150 testAttributeQName(
01151 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01152 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01153
01154 eMatchScore
01155 testAttributeNamespaceOnly(
01156 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01157 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01158
01159 eMatchScore
01160 testAttributeTotallyWild(
01161 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01162 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01163
01164 eMatchScore
01165 testElementNCName(
01166 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01167 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01168
01169 eMatchScore
01170 testElementQName(
01171 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01172 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01173
01174 eMatchScore
01175 testElementNamespaceOnly(
01176 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01177 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01178
01179 eMatchScore
01180 testElementTotallyWild(
01181 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01182 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01183
01184 eMatchScore
01185 testElementNCName2(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context) <font class="keyword">const</font>;
01186
01187 eMatchScore
01188 testElementQName2(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context) <font class="keyword">const</font>;
01189
01190 eMatchScore
01191 testElementNamespaceOnly2(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context) <font class="keyword">const</font>;
01192
01193 eMatchScore
01194 testElementTotallyWild2(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context) <font class="keyword">const</font>;
01195
01196 eMatchScore
01197 testNamespaceNCName(
01198 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01199 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01200
01201 eMatchScore
01202 testNamespaceTotallyWild(
01203 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01204 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01205
01206 eMatchScore
01207 testDefault(
01208 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
01209 XalanNode::NodeType nodeType) <font class="keyword">const</font>;
01210
01211 eMatchScore
01212 testDefault2(<font class="keyword">const</font> <a class="code" href="classXalanElement.html">XalanElement</a>&amp; context) <font class="keyword">const</font>;
01213
01214 <font class="keywordtype">bool</font>
01215 matchLocalName(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context) <font class="keyword">const</font>;
01216
01217 <font class="keywordtype">bool</font>
01218 matchNamespaceURI(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context) <font class="keyword">const</font>;
01219
01220 <font class="keywordtype">bool</font>
01221 matchLocalNameAndNamespaceURI(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context) <font class="keyword">const</font>;
01222
01223 <font class="keywordtype">bool</font>
01224 matchNamespace(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context) <font class="keyword">const</font>;
01225
01226 <font class="keywordtype">bool</font>
01227 shouldStripSourceNode(<font class="keyword">const</font> <a class="code" href="classXalanText.html">XalanText</a>&amp; context) <font class="keyword">const</font>;
01228
01229 <font class="comment">// Data members...</font>
01230 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>* m_executionContext;
01231
01232 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* m_targetNamespace;
01233
01234 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* m_targetLocalName;
01235
01236 TestFunctionPtr m_testFunction;
01237
01238 TestFunctionPtr2 m_testFunction2;
01239 };
01240
<a name="l01241"></a><a class="code" href="classXPath.html#l0">01241</a> <font class="keyword">friend</font> <font class="keyword">class </font>NodeTester;
01242
01243 <font class="keyword">protected</font>:
01244
01253 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01254 <a class="code" href="classXPath.html#b0">locationPath</a>(
01255 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01256 OpCodeMapPositionType opPos,
01257 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01258
01267 <font class="keywordtype">void</font>
01268 <a class="code" href="classXPath.html#b0">locationPath</a>(
01269 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01270 OpCodeMapPositionType opPos,
01271 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01272 <font class="keywordtype">bool</font>&amp; theResult) <font class="keyword">const</font>;
01273
01282 <font class="keywordtype">void</font>
01283 <a class="code" href="classXPath.html#b0">locationPath</a>(
01284 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01285 OpCodeMapPositionType opPos,
01286 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01287 <font class="keywordtype">double</font>&amp; theResult) <font class="keyword">const</font>;
01288
01297 <font class="keywordtype">void</font>
01298 <a class="code" href="classXPath.html#b0">locationPath</a>(
01299 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01300 OpCodeMapPositionType opPos,
01301 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01302 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult) <font class="keyword">const</font>;
01303
01313 <font class="keywordtype">void</font>
01314 <a class="code" href="classXPath.html#b0">locationPath</a>(
01315 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01316 OpCodeMapPositionType opPos,
01317 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01318 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01319 MemberFunctionPtr function) <font class="keyword">const</font>;
01320
01329 <font class="keywordtype">void</font>
<a name="l01330"></a><a class="code" href="classXPath.html#b5">01330</a> <a class="code" href="classXPath.html#b0">locationPath</a>(
01331 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01332 OpCodeMapPositionType opPos,
01333 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01334 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; theResult)<font class="keyword"> const</font>
01335 <font class="keyword"> </font>{
01336 <a class="code" href="classXPath.html#b78">step</a>(executionContext, context, opPos + 2, theResult);
01337 }
01338
01347 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01348 <a class="code" href="classXPath.html#b6">executeMore</a>(
01349 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01350 OpCodeMapPositionType opPos,
01351 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01352
01361 <font class="keywordtype">void</font>
01362 <a class="code" href="classXPath.html#b6">executeMore</a>(
01363 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01364 OpCodeMapPositionType opPos,
01365 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01366 <font class="keywordtype">bool</font>&amp; theResult) <font class="keyword">const</font>;
01367
01376 <font class="keywordtype">void</font>
01377 <a class="code" href="classXPath.html#b6">executeMore</a>(
01378 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01379 OpCodeMapPositionType opPos,
01380 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01381 <font class="keywordtype">double</font>&amp; theResult) <font class="keyword">const</font>;
01382
01392 <font class="keywordtype">void</font>
01393 <a class="code" href="classXPath.html#b6">executeMore</a>(
01394 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01395 OpCodeMapPositionType opPos,
01396 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01397 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult) <font class="keyword">const</font>;
01398
01408 <font class="keywordtype">void</font>
01409 <a class="code" href="classXPath.html#b6">executeMore</a>(
01410 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01411 OpCodeMapPositionType opPos,
01412 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01413 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01414 MemberFunctionPtr function) <font class="keyword">const</font>;
01415
01425 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01426 <a class="code" href="classXPath.html#b6">executeMore</a>(
01427 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01428 OpCodeMapPositionType opPos,
01429 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01430 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; theResult) <font class="keyword">const</font>;
01431
01438 <font class="keywordtype">void</font>
01439 <a class="code" href="classXPath.html#b12">doGetMatchScore</a>(
01440 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01441 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01442 eMatchScore&amp; score) <font class="keyword">const</font>;
01443
01451 <font class="keywordtype">bool</font>
01452 <a class="code" href="classXPath.html#b13">Or</a>(
01453 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01454 OpCodeMapPositionType opPos,
01455 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01456
01464 <font class="keywordtype">bool</font>
01465 <a class="code" href="classXPath.html#b14">And</a>(
01466 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01467 OpCodeMapPositionType opPos,
01468 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01469
01477 <font class="keywordtype">bool</font>
01478 <a class="code" href="classXPath.html#b15">notequals</a>(
01479 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01480 OpCodeMapPositionType opPos,
01481 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01482
01490 <font class="keywordtype">bool</font>
01491 <a class="code" href="classXPath.html#b16">equals</a>(
01492 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01493 OpCodeMapPositionType opPos,
01494 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01495
01503 <font class="keywordtype">bool</font>
01504 <a class="code" href="classXPath.html#b17">lte</a>(
01505 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01506 OpCodeMapPositionType opPos,
01507 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01508
01516 <font class="keywordtype">bool</font>
01517 <a class="code" href="classXPath.html#b18">lt</a>(
01518 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01519 OpCodeMapPositionType opPos,
01520 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01521
01529 <font class="keywordtype">bool</font>
01530 <a class="code" href="classXPath.html#b19">gte</a>(
01531 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01532 OpCodeMapPositionType opPos,
01533 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01534
01542 <font class="keywordtype">bool</font>
01543 <a class="code" href="classXPath.html#b20">gt</a>(
01544 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01545 OpCodeMapPositionType opPos,
01546 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01547
01555 <font class="keywordtype">double</font>
01556 <a class="code" href="classXPath.html#b21">plus</a>(
01557 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01558 OpCodeMapPositionType opPos,
01559 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01560
01569 <font class="keywordtype">void</font>
01570 <a class="code" href="classXPath.html#b21">plus</a>(
01571 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01572 OpCodeMapPositionType opPos,
01573 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01574 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01575 MemberFunctionPtr function) <font class="keyword">const</font>;
01576
01584 <font class="keywordtype">double</font>
01585 <a class="code" href="classXPath.html#b23">minus</a>(
01586 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01587 OpCodeMapPositionType opPos,
01588 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01589
01598 <font class="keywordtype">void</font>
01599 <a class="code" href="classXPath.html#b23">minus</a>(
01600 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01601 OpCodeMapPositionType opPos,
01602 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01603 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01604 MemberFunctionPtr function) <font class="keyword">const</font>;
01605
01613 <font class="keywordtype">double</font>
01614 <a class="code" href="classXPath.html#b25">mult</a>(
01615 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01616 OpCodeMapPositionType opPos,
01617 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01618
01627 <font class="keywordtype">void</font>
01628 <a class="code" href="classXPath.html#b25">mult</a>(
01629 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01630 OpCodeMapPositionType opPos,
01631 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01632 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01633 MemberFunctionPtr function) <font class="keyword">const</font>;
01634
01642 <font class="keywordtype">double</font>
01643 <a class="code" href="classXPath.html#b27">div</a>(
01644 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01645 OpCodeMapPositionType opPos,
01646 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01647
01656 <font class="keywordtype">void</font>
01657 <a class="code" href="classXPath.html#b27">div</a>(
01658 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01659 OpCodeMapPositionType opPos,
01660 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01661 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01662 MemberFunctionPtr function) <font class="keyword">const</font>;
01663
01671 <font class="keywordtype">double</font>
01672 <a class="code" href="classXPath.html#b29">mod</a>(
01673 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01674 OpCodeMapPositionType opPos,
01675 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01676
01685 <font class="keywordtype">void</font>
01686 <a class="code" href="classXPath.html#b29">mod</a>(
01687 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01688 OpCodeMapPositionType opPos,
01689 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01690 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01691 MemberFunctionPtr function) <font class="keyword">const</font>;
01692
01700 <font class="keywordtype">double</font>
01701 <a class="code" href="classXPath.html#b31">neg</a>(
01702 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01703 OpCodeMapPositionType opPos,
01704 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01705
01714 <font class="keywordtype">void</font>
01715 <a class="code" href="classXPath.html#b31">neg</a>(
01716 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01717 OpCodeMapPositionType opPos,
01718 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01719 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01720 MemberFunctionPtr function) <font class="keyword">const</font>;
01721
01729 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01730 <a class="code" href="classXPath.html#b33">Union</a>(
01731 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01732 OpCodeMapPositionType opPos,
01733 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01734
01743 <font class="keywordtype">void</font>
01744 <a class="code" href="classXPath.html#b33">Union</a>(
01745 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01746 OpCodeMapPositionType opPos,
01747 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01748 <font class="keywordtype">bool</font>&amp; result) <font class="keyword">const</font>;
01749
01758 <font class="keywordtype">void</font>
01759 <a class="code" href="classXPath.html#b33">Union</a>(
01760 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01761 OpCodeMapPositionType opPos,
01762 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01763 <font class="keywordtype">double</font>&amp; result) <font class="keyword">const</font>;
01764
01773 <font class="keywordtype">void</font>
01774 <a class="code" href="classXPath.html#b33">Union</a>(
01775 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01776 OpCodeMapPositionType opPos,
01777 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01778 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; result) <font class="keyword">const</font>;
01779
01789 <font class="keywordtype">void</font>
01790 <a class="code" href="classXPath.html#b33">Union</a>(
01791 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01792 OpCodeMapPositionType opPos,
01793 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01794 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01795 MemberFunctionPtr function) <font class="keyword">const</font>;
01796
01804 <font class="keywordtype">void</font>
01805 <a class="code" href="classXPath.html#b33">Union</a>(
01806 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01807 OpCodeMapPositionType opPos,
01808 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01809 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; result) <font class="keyword">const</font>;
01810
01817 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01818 <a class="code" href="classXPath.html#b39">literal</a>(
01819 OpCodeMapPositionType opPos,
01820 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01821
01828 <font class="keywordtype">void</font>
01829 <a class="code" href="classXPath.html#b39">literal</a>(
01830 OpCodeMapPositionType opPos,
01831 <font class="keywordtype">bool</font>&amp; theResult) <font class="keyword">const</font>;
01832
01839 <font class="keywordtype">void</font>
01840 <a class="code" href="classXPath.html#b39">literal</a>(
01841 OpCodeMapPositionType opPos,
01842 <font class="keywordtype">double</font>&amp; theResult) <font class="keyword">const</font>;
01843
01851 <font class="keywordtype">void</font>
01852 <a class="code" href="classXPath.html#b39">literal</a>(
01853 OpCodeMapPositionType opPos,
01854 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult) <font class="keyword">const</font>;
01855
01862 <font class="keywordtype">void</font>
01863 <a class="code" href="classXPath.html#b39">literal</a>(
01864 OpCodeMapPositionType opPos,
01865 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01866 MemberFunctionPtr function) <font class="keyword">const</font>;
01867
01874 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01875 <a class="code" href="classXPath.html#b44">variable</a>(
01876 OpCodeMapPositionType opPos,
01877 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
01878
01886 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l01887"></a><a class="code" href="classXPath.html#b45">01887</a> <a class="code" href="classXPath.html#b45">group</a>(
01888 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01889 OpCodeMapPositionType opPos,
01890 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
01891 <font class="keyword"> </font>{
01892 <font class="keywordflow">return</font> <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext);
01893 }
01894
01902 <font class="keywordtype">void</font>
<a name="l01903"></a><a class="code" href="classXPath.html#b46">01903</a> <a class="code" href="classXPath.html#b45">group</a>(
01904 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01905 OpCodeMapPositionType opPos,
01906 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01907 <font class="keywordtype">bool</font>&amp; theResult)<font class="keyword"> const</font>
01908 <font class="keyword"> </font>{
01909 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, theResult);
01910 }
01911
01919 <font class="keywordtype">void</font>
<a name="l01920"></a><a class="code" href="classXPath.html#b47">01920</a> <a class="code" href="classXPath.html#b45">group</a>(
01921 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01922 OpCodeMapPositionType opPos,
01923 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01924 <font class="keywordtype">double</font>&amp; theResult)<font class="keyword"> const</font>
01925 <font class="keyword"> </font>{
01926 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, theResult);
01927 }
01928
01936 <font class="keywordtype">void</font>
<a name="l01937"></a><a class="code" href="classXPath.html#b48">01937</a> <a class="code" href="classXPath.html#b45">group</a>(
01938 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01939 OpCodeMapPositionType opPos,
01940 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01941 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult)<font class="keyword"> const</font>
01942 <font class="keyword"> </font>{
01943 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, theResult);
01944 }
01945
01955 <font class="keywordtype">void</font>
<a name="l01956"></a><a class="code" href="classXPath.html#b49">01956</a> <a class="code" href="classXPath.html#b45">group</a>(
01957 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01958 OpCodeMapPositionType opPos,
01959 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01960 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
01961 MemberFunctionPtr function)<font class="keyword"> const</font>
01962 <font class="keyword"> </font>{
01963 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, formatterListener, function);
01964 }
01965
01973 <font class="keywordtype">void</font>
<a name="l01974"></a><a class="code" href="classXPath.html#b50">01974</a> <a class="code" href="classXPath.html#b45">group</a>(
01975 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01976 OpCodeMapPositionType opPos,
01977 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
01978 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; theResult)<font class="keyword"> const</font>
01979 <font class="keyword"> </font>{
01980 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, theResult);
01981 }
01982
01988 <font class="keywordtype">double</font>
01989 <a class="code" href="classXPath.html#b51">numberlit</a>(OpCodeMapPositionType opPos) <font class="keyword">const</font>;
01990
01996 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
01997 <a class="code" href="classXPath.html#b51">numberlit</a>(
01998 OpCodeMapPositionType opPos,
01999 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02000
02007 <font class="keywordtype">void</font>
02008 <a class="code" href="classXPath.html#b51">numberlit</a>(
02009 OpCodeMapPositionType opPos,
02010 <font class="keywordtype">bool</font>&amp; theResult) <font class="keyword">const</font>;
02011
02019 <font class="keywordtype">void</font>
02020 <a class="code" href="classXPath.html#b51">numberlit</a>(
02021 OpCodeMapPositionType opPos,
02022 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult) <font class="keyword">const</font>;
02023
02031 <font class="keywordtype">void</font>
02032 <a class="code" href="classXPath.html#b51">numberlit</a>(
02033 OpCodeMapPositionType opPos,
02034 <a class="code" href="classFormatterListener.html">FormatterListener</a>&amp; formatterListener,
02035 MemberFunctionPtr function) <font class="keyword">const</font>;
02036
02044 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
02045 <a class="code" href="classXPath.html#b56">runExtFunction</a>(
02046 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02047 OpCodeMapPositionType opPos,
02048 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02049
02059 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l02060"></a><a class="code" href="classXPath.html#b57">02060</a> <a class="code" href="classXPath.html#b57">extfunction</a>(
02061 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02062 OpCodeMapPositionType <font class="comment">/* opPos */</font>,
02063 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespace,
02064 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName,
02065 <font class="keyword">const</font> Function::XObjectArgVectorType&amp; argVec,
02066 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02067 <font class="keyword"> </font>{
02068 <font class="keywordflow">return</font> executionContext.<a class="code" href="classXPathExecutionContext.html#a17">extFunction</a>(theNamespace,
02069 functionName,
02070 context,
02071 argVec,
02072 m_locator);
02073 }
02074
02082 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
02083 <a class="code" href="classXPath.html#b58">runFunction</a>(
02084 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02085 OpCodeMapPositionType opPos,
02086 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02087
02096 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
<a name="l02097"></a><a class="code" href="classXPath.html#b59">02097</a> <a class="code" href="classXPath.html#b59">function</a>(
02098 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02099 OpCodeMapValueType funcID,
02100 <font class="keyword">const</font> Function::XObjectArgVectorType&amp; argVec,
02101 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02102 <font class="keyword"> </font>{
02103 <font class="keywordflow">return</font> s_functions[funcID].execute(executionContext, context, argVec, m_locator);
02104 }
02105
02113 <font class="keywordtype">double</font>
<a name="l02114"></a><a class="code" href="classXPath.html#b60">02114</a> <a class="code" href="classXPath.html#b60">functionPosition</a>(
02115 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02116 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02117 <font class="keyword"> </font>{
02118 assert(context != 0);
02119
02120 <font class="keywordflow">return</font> executionContext.<a class="code" href="classXPathExecutionContext.html#a12">getContextNodeListPosition</a>(*context);
02121 }
02122
02129 <font class="keywordtype">double</font>
<a name="l02130"></a><a class="code" href="classXPath.html#b61">02130</a> <a class="code" href="classXPath.html#b61">functionLast</a>(<a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02131 <font class="keyword"> </font>{
02132 <font class="keywordflow">return</font> executionContext.<a class="code" href="classXPathExecutionContext.html#a11">getContextNodeListLength</a>();
02133 }
02134
02143 <font class="keywordtype">double</font>
02144 <a class="code" href="classXPath.html#b62">functionCount</a>(
02145 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02146 OpCodeMapPositionType opPos,
02147 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02148
02157 <font class="keywordtype">bool</font>
<a name="l02158"></a><a class="code" href="classXPath.html#b63">02158</a> <a class="code" href="classXPath.html#b63">functionNot</a>(
02159 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02160 OpCodeMapPositionType opPos,
02161 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02162 <font class="keyword"> </font>{
02163 assert(context != 0);
02164
02165 <font class="keywordflow">return</font> !<a class="code" href="classXPath.html#b64">functionBoolean</a>(context, opPos, executionContext);
02166 }
02167
02176 <font class="keywordtype">bool</font>
<a name="l02177"></a><a class="code" href="classXPath.html#b64">02177</a> <a class="code" href="classXPath.html#b64">functionBoolean</a>(
02178 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02179 OpCodeMapPositionType opPos,
02180 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02181 <font class="keyword"> </font>{
02182 assert(context != 0);
02183
02184 <font class="keywordtype">bool</font> result;
02185
02186 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, result);
02187
02188 <font class="keywordflow">return</font> result;
02189 }
02190
02197 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l02198"></a><a class="code" href="classXPath.html#b65">02198</a> <a class="code" href="classXPath.html#b65">functionName</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* context)<font class="keyword"> const</font>
02199 <font class="keyword"> </font>{
02200 assert(context != 0);
02201
02202 <font class="keywordflow">return</font> <a class="code" href="classDOMServices.html#d18">DOMServices::getNameOfNode</a>(*context);
02203 }
02204
02213 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
02214 <a class="code" href="classXPath.html#b65">functionName</a>(
02215 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02216 OpCodeMapPositionType opPos,
02217 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02218
02225 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
02226 <a class="code" href="classXPath.html#b67">functionLocalName</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* context) <font class="keyword">const</font>;
02227
02236 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
02237 <a class="code" href="classXPath.html#b67">functionLocalName</a>(
02238 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02239 OpCodeMapPositionType opPos,
02240 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02241
02249 <font class="keywordtype">double</font>
<a name="l02250"></a><a class="code" href="classXPath.html#b69">02250</a> <a class="code" href="classXPath.html#b69">functionNumber</a>(
02251 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02252 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02253 <font class="keyword"> </font>{
02254 assert(context != 0);
02255
02256 <font class="keywordflow">return</font> <a class="code" href="classXObject.html#d13">XObject::number</a>(executionContext, *context);
02257 }
02258
02267 <font class="keywordtype">double</font>
<a name="l02268"></a><a class="code" href="classXPath.html#b70">02268</a> <a class="code" href="classXPath.html#b69">functionNumber</a>(
02269 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02270 OpCodeMapPositionType opPos,
02271 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02272 <font class="keyword"> </font>{
02273 <font class="keywordtype">double</font> result;
02274
02275 <a class="code" href="classXPath.html#b6">executeMore</a>(context, opPos + 2, executionContext, result);
02276
02277 <font class="keywordflow">return</font> result;
02278 }
02279
02288 <font class="keywordtype">double</font>
<a name="l02289"></a><a class="code" href="classXPath.html#b71">02289</a> <a class="code" href="classXPath.html#b71">functionFloor</a>(
02290 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02291 OpCodeMapPositionType opPos,
02292 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02293 <font class="keyword"> </font>{
02294 <font class="keywordflow">return</font> DoubleSupport::floor(<a class="code" href="classXPath.html#b69">functionNumber</a>(context, opPos, executionContext));
02295 }
02296
02305 <font class="keywordtype">double</font>
<a name="l02306"></a><a class="code" href="classXPath.html#b72">02306</a> <a class="code" href="classXPath.html#b72">functionCeiling</a>(
02307 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02308 OpCodeMapPositionType opPos,
02309 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02310 <font class="keyword"> </font>{
02311 <font class="keywordflow">return</font> DoubleSupport::ceiling(<a class="code" href="classXPath.html#b69">functionNumber</a>(context, opPos, executionContext));
02312 }
02313
02322 <font class="keywordtype">double</font>
<a name="l02323"></a><a class="code" href="classXPath.html#b73">02323</a> <a class="code" href="classXPath.html#b73">functionRound</a>(
02324 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02325 OpCodeMapPositionType opPos,
02326 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext)<font class="keyword"> const</font>
02327 <font class="keyword"> </font>{
02328 <font class="keywordflow">return</font> DoubleSupport::round(<a class="code" href="classXPath.html#b69">functionNumber</a>(context, opPos, executionContext));
02329 }
02330
02337 <font class="keywordtype">double</font>
02338 <a class="code" href="classXPath.html#b74">functionStringLength</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* context) <font class="keyword">const</font>;
02339
02348 <font class="keywordtype">double</font>
02349 <a class="code" href="classXPath.html#b74">functionStringLength</a>(
02350 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02351 OpCodeMapPositionType opPos,
02352 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02353
02362 <font class="keywordtype">double</font>
02363 <a class="code" href="classXPath.html#b76">functionSum</a>(
02364 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02365 OpCodeMapPositionType opPos,
02366 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02367
02375 <font class="keywordtype">double</font>
02376 <a class="code" href="classXPath.html#b77">getNumericOperand</a>(
02377 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02378 OpCodeMapPositionType opPos,
02379 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02380
02381 <font class="keyword">private</font>:
02382
02383 <font class="comment">// These are not implemented...</font>
02384 <a class="code" href="classXPath.html#a0">XPath</a>(<font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>&amp;);
02385
02386 <a class="code" href="classXPath.html">XPath</a>&amp;
02387 operator=(<font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>&amp;);
02388
02389 <font class="keywordtype">bool</font>
02390 <a class="code" href="ElemAttributeSet_8hpp.html#a1">operator==</a>(<font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>&amp;) <font class="keyword">const</font>;
02391
02392 <font class="comment">// Default vector allocation sizes.</font>
02393 <font class="keyword">enum</font>
02394 {
02395 eDefaultTargetDataSize = 5
02396 };
02397
02398 OpCodeMapPositionType
02399 getInitialOpCodePosition()<font class="keyword"> const</font>
02400 <font class="keyword"> </font>{
02401 <font class="preprocessor">#if defined(XALAN_XPATH_EXPRESSION_USE_ITERATORS)</font>
02402 <font class="preprocessor"></font> assert(m_expression.getOpCodeMapValue(0) == XPathExpression::eOP_XPATH);
02403 <font class="preprocessor">#else</font>
02404 <font class="preprocessor"></font> assert(m_expression.getOpCodeMapValue(
02405 m_expression.getInitialOpCodePosition()) == XPathExpression::eOP_XPATH);
02406 <font class="preprocessor">#endif</font>
02407 <font class="preprocessor"></font> <font class="keywordflow">return</font> m_expression.getInitialOpCodePosition() + 2;
02408 }
02409
02410 eMatchScore
02411 locationPathPattern(
02412 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02413 <a class="code" href="classXalanNode.html">XalanNode</a>&amp; context,
02414 OpCodeMapPositionType opPos) <font class="keyword">const</font>;
02415
02416 <font class="keyword">protected</font>:
02417
02418 <font class="keywordtype">void</font>
02419 <a class="code" href="classXPath.html#b78">step</a>(
02420 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02421 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02422 OpCodeMapPositionType opPos,
02423 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; queryResults) <font class="keyword">const</font>;
02424
02435 <a class="code" href="classXalanNode.html">XalanNode</a>*
02436 <a class="code" href="classXPath.html#b79">stepPattern</a>(
02437 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02438 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02439 OpCodeMapPositionType opPos,
02440 eMatchScore&amp; scoreHolder) <font class="keyword">const</font>;
02441
02442 OpCodeMapPositionType
02443 <a class="code" href="classXPath.html#b80">findNodeSet</a>(
02444 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02445 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02446 OpCodeMapPositionType opPos,
02447 OpCodeMapValueType stepType,
02448 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02449
02450 OpCodeMapPositionType
02451 <a class="code" href="classXPath.html#b81">findRoot</a>(
02452 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02453 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02454 OpCodeMapPositionType opPos,
02455 OpCodeMapValueType stepType,
02456 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02457
02458 OpCodeMapPositionType
02459 <a class="code" href="classXPath.html#b82">findParent</a>(
02460 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02461 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02462 OpCodeMapPositionType opPos,
02463 OpCodeMapValueType stepType,
02464 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02465
02466 OpCodeMapPositionType
02467 <a class="code" href="classXPath.html#b83">findSelf</a>(
02468 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02469 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02470 OpCodeMapPositionType opPos,
02471 OpCodeMapValueType stepType,
02472 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02473
02474 OpCodeMapPositionType
02475 <a class="code" href="classXPath.html#b84">findAncestors</a>(
02476 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02477 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02478 OpCodeMapPositionType opPos,
02479 OpCodeMapValueType stepType,
02480 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02481
02482 OpCodeMapPositionType
02483 <a class="code" href="classXPath.html#b85">findAncestorsOrSelf</a>(
02484 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02485 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02486 OpCodeMapPositionType opPos,
02487 OpCodeMapValueType stepType,
02488 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02489
02490 OpCodeMapPositionType
02491 <a class="code" href="classXPath.html#b86">findAttributes</a>(
02492 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02493 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02494 OpCodeMapPositionType opPos,
02495 OpCodeMapValueType stepType,
02496 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02497
02498 OpCodeMapPositionType
02499 <a class="code" href="classXPath.html#b87">findChildren</a>(
02500 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02501 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02502 OpCodeMapPositionType opPos,
02503 OpCodeMapValueType stepType,
02504 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02505
02506 OpCodeMapPositionType
02507 <a class="code" href="classXPath.html#b88">findDescendants</a>(
02508 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02509 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02510 OpCodeMapPositionType opPos,
02511 OpCodeMapValueType stepType,
02512 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02513
02514 OpCodeMapPositionType
02515 <a class="code" href="classXPath.html#b89">findFollowing</a>(
02516 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02517 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02518 OpCodeMapPositionType opPos,
02519 OpCodeMapValueType stepType,
02520 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02521
02522 OpCodeMapPositionType
02523 <a class="code" href="classXPath.html#b90">findFollowingSiblings</a>(
02524 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02525 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02526 OpCodeMapPositionType opPos,
02527 OpCodeMapValueType stepType,
02528 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02529
02530 OpCodeMapPositionType
02531 <a class="code" href="classXPath.html#b91">findPreceeding</a>(
02532 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02533 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02534 OpCodeMapPositionType opPos,
02535 OpCodeMapValueType stepType,
02536 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02537
02538 OpCodeMapPositionType
02539 <a class="code" href="classXPath.html#b92">findPreceedingSiblings</a>(
02540 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02541 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02542 OpCodeMapPositionType opPos,
02543 OpCodeMapValueType stepType,
02544 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02545
02546 OpCodeMapPositionType
02547 <a class="code" href="classXPath.html#b93">findNamespace</a>(
02548 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02549 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02550 OpCodeMapPositionType opPos,
02551 OpCodeMapValueType stepType,
02552 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02553
02554 OpCodeMapPositionType
02555 <a class="code" href="classXPath.html#b94">findNodesOnUnknownAxis</a>(
02556 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02557 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02558 OpCodeMapPositionType opPos,
02559 OpCodeMapValueType stepType,
02560 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02561
02562 <font class="preprocessor">#if !defined(NDEBUG)</font>
02563 <font class="preprocessor"></font> eMatchScore
02564 <a class="code" href="classXPath.html#b95">nodeTest</a>(
02565 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02566 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02567 XalanNode::NodeType nodeType,
02568 OpCodeMapPositionType opPos,
02569 OpCodeMapValueType argLen,
02570 OpCodeMapValueType stepType) <font class="keyword">const</font>;
02571 <font class="preprocessor">#endif</font>
02572 <font class="preprocessor"></font>
02573 OpCodeMapPositionType
02574 <a class="code" href="classXPath.html#b96">predicates</a>(
02575 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02576 OpCodeMapPositionType opPos,
02577 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; subQueryResults) <font class="keyword">const</font>;
02578
02579 eMatchScore
02580 <a class="code" href="classXPath.html#b97">handleFoundIndex</a>(
02581 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02582 <a class="code" href="classXalanNode.html">XalanNode</a>* localContext,
02583 OpCodeMapPositionType startOpPos) <font class="keyword">const</font>;
02584
02585 eMatchScore
02586 <a class="code" href="classXPath.html#b98">handleFoundIndexPositional</a>(
02587 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02588 <a class="code" href="classXalanNode.html">XalanNode</a>* localContext,
02589 OpCodeMapPositionType startOpPos) <font class="keyword">const</font>;
02590
02591 <font class="keyword">private</font>:
02592
02593 <font class="keywordtype">void</font>
02594 unknownOpCodeError(
02595 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02596 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext,
02597 OpCodeMapPositionType opPos) <font class="keyword">const</font>;
02598
02599 <font class="keywordtype">void</font>
02600 notNodeSetError(
02601 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
02602 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp; executionContext) <font class="keyword">const</font>;
02603
02604 <font class="comment">// Data members...</font>
02605
02611 XPathExpression m_expression;
02612
02616 <font class="keyword">const</font> LocatorType* m_locator;
02617
02623 <font class="keywordtype">bool</font> m_inStylesheet;
02624
02630 <font class="keyword">static</font> <a class="code" href="classXPathFunctionTable.html">FunctionTableType</a> s_functions;
02631
02632 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> s_emptyString;
02633 };
02634
02635
02636
02637 XALAN_CPP_NAMESPACE_END
02638
02639
02640
02641 <font class="preprocessor">#endif // XPATH_HEADER_GUARD_1357924680</font>
</font></pre></div><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="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 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" ALT="Apache Logo">
</TD>
</TR>
</TABLE>