| <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> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> |
| <hr><h1>XPathExecutionContext.hpp</h1><a href="XPathExecutionContext_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(XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680)</font> |
| <a name="l00017"></a><a class="code" href="XPathExecutionContext_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680</font> |
| 00018 <font class="preprocessor"></font> |
| 00019 |
| 00020 |
| 00021 <font class="comment">// Base include file. Must be first.</font> |
| 00022 <font class="preprocessor">#include <<a class="code" href="XPathDefinitions_8hpp.html">xalanc/XPath/XPathDefinitions.hpp</a>></font> |
| 00023 |
| 00024 |
| 00025 |
| 00026 <font class="preprocessor">#include <cassert></font> |
| 00027 |
| 00028 |
| 00029 |
| 00030 <font class="preprocessor">#include <<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>></font> |
| 00031 |
| 00032 |
| 00033 |
| 00034 <font class="preprocessor">#include <<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>></font> |
| 00035 |
| 00036 |
| 00037 |
| 00041 <font class="comment">// Base class header file...</font> |
| 00042 <font class="preprocessor">#include <<a class="code" href="ExecutionContext_8hpp.html">xalanc/PlatformSupport/ExecutionContext.hpp</a>></font> |
| 00043 |
| 00044 |
| 00045 |
| 00046 <font class="preprocessor">#include <<a class="code" href="MutableNodeRefList_8hpp.html">xalanc/XPath/MutableNodeRefList.hpp</a>></font> |
| 00047 |
| 00048 |
| 00049 |
| 00050 XALAN_CPP_NAMESPACE_BEGIN |
| 00051 |
| 00052 |
| 00053 |
| <a name="l00054"></a><a class="code" href="XPathExecutionContext_8hpp.html#a1">00054</a> <font class="keyword">class </font><a class="code" href="classXalanDecimalFormatSymbols.html">XalanDecimalFormatSymbols</a>; |
| 00055 <font class="keyword">class </font><a class="code" href="classPrefixResolver.html">PrefixResolver</a>; |
| 00056 <font class="keyword">class </font><a class="code" href="classXalanQName.html">XalanQName</a>; |
| 00057 <font class="keyword">class </font><a class="code" href="classXObject.html">XObject</a>; |
| 00058 <font class="keyword">class </font><a class="code" href="classXObjectPtr.html">XObjectPtr</a>; |
| 00059 <font class="keyword">class </font><a class="code" href="classXObjectFactory.html">XObjectFactory</a>; |
| 00060 <font class="keyword">class </font><a class="code" href="classXalanDocument.html">XalanDocument</a>; |
| 00061 <font class="keyword">class </font><a class="code" href="classXalanElement.html">XalanElement</a>; |
| 00062 <font class="keyword">class </font><a class="code" href="classXalanNode.html">XalanNode</a>; |
| 00063 <font class="keyword">class </font><a class="code" href="classXalanText.html">XalanText</a>; |
| 00064 |
| 00065 |
| 00066 |
| 00067 <font class="comment">//</font> |
| 00068 <font class="comment">// An abstract class which provides support for executing XPath functions</font> |
| 00069 <font class="comment">// and extension functions.</font> |
| 00070 <font class="comment">//</font> |
| 00071 |
| <a name="l00072"></a><a class="code" href="classXPathExecutionContext.html">00072</a> <font class="keyword">class </font>XALAN_XPATH_EXPORT <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a> : <font class="keyword">public</font> <a class="code" href="classExecutionContext.html">ExecutionContext</a> |
| 00073 { |
| 00074 <font class="keyword">public</font>: |
| 00075 |
| <a name="l00076"></a><a class="code" href="classXPathExecutionContext.html#s0">00076</a> <font class="keyword">typedef</font> XalanVector<XObjectPtr> XObjectArgVectorType; |
| 00077 |
| <a name="l00078"></a><a class="code" href="classXPathExecutionContext.html#s1">00078</a> <font class="keyword">typedef</font> NodeRefListBase::size_type size_type; |
| 00079 |
| 00080 <font class="keyword">explicit</font> |
| 00081 <a class="code" href="MutableNodeRefList_8hpp.html#a1">XPathExecutionContext</a>(MemoryManagerType& m_memoryManager, <a class="code" href="classXObjectFactory.html">XObjectFactory</a>* theXObjectFactory = 0); |
| 00082 |
| 00083 <font class="keyword">virtual</font> |
| 00084 <a class="code" href="classXPathExecutionContext.html#a1">~XPathExecutionContext</a>(); |
| 00085 |
| 00090 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00091 <a class="code" href="classXPathExecutionContext.html#a2">reset</a>() = 0; |
| 00092 |
| 00098 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>* |
| 00099 <a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() <font class="keyword">const</font> = 0; |
| 00100 |
| 00106 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00107 <a class="code" href="classXPathExecutionContext.html#a4">pushCurrentNode</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* theCurrentNode) = 0; |
| 00108 |
| 00112 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00113 <a class="code" href="classXPathExecutionContext.html#a5">popCurrentNode</a>() = 0; |
| 00114 |
| <a name="l00115"></a><a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html">00115</a> <font class="keyword">class </font><a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html">CurrentNodePushAndPop</a> |
| 00116 { |
| 00117 <font class="keyword">public</font>: |
| 00118 |
| <a name="l00119"></a><a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html#a0">00119</a> <a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html#a0">CurrentNodePushAndPop</a>( |
| 00120 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& theExecutionContext, |
| 00121 <a class="code" href="classXalanNode.html">XalanNode</a>* theNewNode) : |
| 00122 m_executionContext(theExecutionContext) |
| 00123 { |
| 00124 theExecutionContext.<a class="code" href="classXPathExecutionContext.html#a4">pushCurrentNode</a>(theNewNode); |
| 00125 } |
| 00126 |
| <a name="l00127"></a><a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html#a1">00127</a> <a class="code" href="classXPathExecutionContext_1_1CurrentNodePushAndPop.html#a1">~CurrentNodePushAndPop</a>()<font class="keyword"></font> |
| 00128 <font class="keyword"> </font>{ |
| 00129 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a5">popCurrentNode</a>(); |
| 00130 } |
| 00131 |
| 00132 <font class="keyword">private</font>: |
| 00133 |
| 00134 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& m_executionContext; |
| 00135 }; |
| 00136 |
| 00142 <a class="code" href="classXObjectFactory.html">XObjectFactory</a>& |
| <a name="l00143"></a><a class="code" href="classXPathExecutionContext.html#a6">00143</a> <a class="code" href="classXPathExecutionContext.html#a6">getXObjectFactory</a>()<font class="keyword"> const</font> |
| 00144 <font class="keyword"> </font>{ |
| 00145 assert(m_xobjectFactory != 0); |
| 00146 |
| 00147 <font class="keywordflow">return</font> *m_xobjectFactory; |
| 00148 } |
| 00149 |
| 00157 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00158 <a class="code" href="classXPathExecutionContext.html#a7">isNodeAfter</a>( |
| 00159 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node1, |
| 00160 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node2) <font class="keyword">const</font> = 0; |
| 00161 |
| 00167 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00168 <a class="code" href="classXPathExecutionContext.html#a8">pushContextNodeList</a>(<font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& theList) = 0; |
| 00169 |
| 00173 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00174 <a class="code" href="classXPathExecutionContext.html#a9">popContextNodeList</a>() = 0; |
| 00175 |
| <a name="l00176"></a><a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html">00176</a> <font class="keyword">class </font>ContextNodeListPushAndPop |
| 00177 { |
| 00178 <font class="keyword">public</font>: |
| 00179 |
| <a name="l00180"></a><a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html#a0">00180</a> <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html#a0">ContextNodeListPushAndPop</a>( |
| 00181 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& theExecutionContext, |
| 00182 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& theNodeList) : |
| 00183 m_executionContext(theExecutionContext) |
| 00184 { |
| 00185 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a8">pushContextNodeList</a>(theNodeList); |
| 00186 } |
| 00187 |
| <a name="l00188"></a><a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html#a1">00188</a> <a class="code" href="classXPathExecutionContext_1_1ContextNodeListPushAndPop.html#a1">~ContextNodeListPushAndPop</a>()<font class="keyword"></font> |
| 00189 <font class="keyword"> </font>{ |
| 00190 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a9">popContextNodeList</a>(); |
| 00191 } |
| 00192 |
| 00193 <font class="keyword">private</font>: |
| 00194 |
| 00195 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& m_executionContext; |
| 00196 }; |
| 00197 |
| 00203 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& |
| 00204 <a class="code" href="classXPathExecutionContext.html#a10">getContextNodeList</a>() <font class="keyword">const</font> = 0; |
| 00205 |
| 00206 <font class="comment">/*</font> |
| 00207 <font class="comment"> * Get the count of nodes in the current context node list.</font> |
| 00208 <font class="comment"> *</font> |
| 00209 <font class="comment"> * @return length of list</font> |
| 00210 <font class="comment"> */</font> |
| 00211 <font class="keyword">virtual</font> size_type |
| 00212 <a class="code" href="classXPathExecutionContext.html#a11">getContextNodeListLength</a>() <font class="keyword">const</font> = 0; |
| 00213 |
| 00214 <font class="comment">/*</font> |
| 00215 <font class="comment"> * Get the position of the node in the current context node list.</font> |
| 00216 <font class="comment"> * Note that this is 1-based indexing (XPath/XSLT-style), not 0-based.</font> |
| 00217 <font class="comment"> * Thus, 0 will be returned if the node was not found.</font> |
| 00218 <font class="comment"> *</font> |
| 00219 <font class="comment"> * @return position in list</font> |
| 00220 <font class="comment"> */</font> |
| 00221 <font class="keyword">virtual</font> size_type |
| 00222 <a class="code" href="classXPathExecutionContext.html#a12">getContextNodeListPosition</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& contextNode) <font class="keyword">const</font> = 0; |
| 00223 |
| 00231 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00232 <a class="code" href="classXPathExecutionContext.html#a13">elementAvailable</a>(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& theQName) <font class="keyword">const</font> = 0; |
| 00233 |
| 00243 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00244 <a class="code" href="classXPathExecutionContext.html#a13">elementAvailable</a>( |
| 00245 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 00246 <font class="keyword">const</font> LocatorType* locator) <font class="keyword">const</font> = 0; |
| 00247 |
| 00255 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00256 <a class="code" href="classXPathExecutionContext.html#a15">functionAvailable</a>(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& theQName) <font class="keyword">const</font> = 0; |
| 00257 |
| 00266 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00267 <a class="code" href="classXPathExecutionContext.html#a15">functionAvailable</a>( |
| 00268 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 00269 <font class="keyword">const</font> LocatorType* locator) <font class="keyword">const</font> = 0; |
| 00270 |
| 00281 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 00282 <a class="code" href="classXPathExecutionContext.html#a17">extFunction</a>( |
| 00283 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theNamespace, |
| 00284 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& functionName, |
| 00285 <a class="code" href="classXalanNode.html">XalanNode</a>* context, |
| 00286 <font class="keyword">const</font> XObjectArgVectorType& argVec, |
| 00287 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 00288 |
| 00296 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>* |
| 00297 <a class="code" href="classXPathExecutionContext.html#a18">parseXML</a>( |
| 00298 MemoryManagerType& theManager, |
| 00299 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& urlString, |
| 00300 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& base) <font class="keyword">const</font> = 0; |
| 00301 |
| 00307 <font class="keyword">virtual</font> <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| 00308 <a class="code" href="classXPathExecutionContext.html#a19">borrowMutableNodeRefList</a>() = 0; |
| 00309 |
| 00316 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00317 <a class="code" href="classXPathExecutionContext.html#a20">returnMutableNodeRefList</a>(<a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* theList) = 0; |
| 00318 |
| <a name="l00319"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">00319</a> <font class="keyword">class </font><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a> |
| 00320 { |
| 00321 <font class="keyword">public</font>: |
| 00322 |
| <a name="l00323"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a0">00323</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a0">BorrowReturnMutableNodeRefList</a>(<a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& executionContext) : |
| 00324 m_xpathExecutionContext(&executionContext), |
| 00325 m_mutableNodeRefList(executionContext.borrowMutableNodeRefList()) |
| 00326 { |
| 00327 assert(m_mutableNodeRefList != 0); |
| 00328 } |
| 00329 |
| 00330 <font class="comment">// N.B. Non-const copy constructor semantics (like std::auto_ptr)</font> |
| <a name="l00331"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a1">00331</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a0">BorrowReturnMutableNodeRefList</a>(<font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a>& theSource) : |
| 00332 m_xpathExecutionContext(theSource.m_xpathExecutionContext), |
| 00333 m_mutableNodeRefList(theSource.m_mutableNodeRefList) |
| 00334 { |
| 00335 assert(m_mutableNodeRefList != 0); |
| 00336 |
| 00337 ((<a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a>&)theSource).m_mutableNodeRefList = 0; |
| 00338 } |
| 00339 |
| <a name="l00340"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a2">00340</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a2">~BorrowReturnMutableNodeRefList</a>()<font class="keyword"></font> |
| 00341 <font class="keyword"> </font>{ |
| 00342 <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a6">release</a>(); |
| 00343 } |
| 00344 |
| 00345 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& |
| <a name="l00346"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a3">00346</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a3">operator*</a>()<font class="keyword"> const</font> |
| 00347 <font class="keyword"> </font>{ |
| 00348 assert(m_mutableNodeRefList != 0); |
| 00349 |
| 00350 <font class="keywordflow">return</font> *m_mutableNodeRefList; |
| 00351 } |
| 00352 |
| 00353 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| <a name="l00354"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a4">00354</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a4">get</a>()<font class="keyword"> const</font> |
| 00355 <font class="keyword"> </font>{ |
| 00356 <font class="keywordflow">return</font> m_mutableNodeRefList; |
| 00357 } |
| 00358 |
| 00359 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| <a name="l00360"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a5">00360</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a5">operator-></a>()<font class="keyword"> const</font> |
| 00361 <font class="keyword"> </font>{ |
| 00362 <font class="keywordflow">return</font> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a4">get</a>(); |
| 00363 } |
| 00364 |
| 00365 <font class="keywordtype">void</font> |
| <a name="l00366"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a6">00366</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a6">release</a>()<font class="keyword"></font> |
| 00367 <font class="keyword"> </font>{ |
| 00368 assert(m_xpathExecutionContext != 0); |
| 00369 |
| 00370 <font class="keywordflow">if</font> (m_mutableNodeRefList != 0) |
| 00371 { |
| 00372 m_xpathExecutionContext-><a class="code" href="classXPathExecutionContext.html#a20">returnMutableNodeRefList</a>(m_mutableNodeRefList); |
| 00373 |
| 00374 m_mutableNodeRefList = 0; |
| 00375 } |
| 00376 } |
| 00377 |
| 00378 <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a> |
| <a name="l00379"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a7">00379</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a7">clone</a>()<font class="keyword"> const</font> |
| 00380 <font class="keyword"> </font>{ |
| 00381 assert(m_xpathExecutionContext != 0); |
| 00382 |
| 00383 <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a> theResult(*m_xpathExecutionContext); |
| 00384 |
| 00385 *theResult = *m_mutableNodeRefList; |
| 00386 |
| 00387 <font class="keywordflow">return</font> theResult; |
| 00388 } |
| 00389 |
| 00390 <font class="comment">// N.B. Non-const assignment operator semantics.</font> |
| 00391 <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a>& |
| <a name="l00392"></a><a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a8">00392</a> <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a8">operator=</a>(<a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html">BorrowReturnMutableNodeRefList</a>& theRHS)<font class="keyword"></font> |
| 00393 <font class="keyword"> </font>{ |
| 00394 <a class="code" href="classXPathExecutionContext_1_1BorrowReturnMutableNodeRefList.html#a6">release</a>(); |
| 00395 |
| 00396 m_xpathExecutionContext = theRHS.m_xpathExecutionContext; |
| 00397 |
| 00398 m_mutableNodeRefList = theRHS.m_mutableNodeRefList; |
| 00399 |
| 00400 theRHS.m_mutableNodeRefList = 0; |
| 00401 |
| 00402 <font class="keywordflow">return</font> *<font class="keyword">this</font>; |
| 00403 } |
| 00404 |
| 00405 <font class="keyword">private</font>: |
| 00406 |
| 00407 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>* m_xpathExecutionContext; |
| 00408 |
| 00409 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* m_mutableNodeRefList; |
| 00410 }; |
| 00411 |
| 00417 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 00418 <a class="code" href="classXPathExecutionContext.html#a21">getCachedString</a>() = 0; |
| 00419 |
| 00427 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00428 <a class="code" href="classXPathExecutionContext.html#a22">releaseCachedString</a>(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theString) = 0; |
| 00429 |
| <a name="l00430"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">00430</a> <font class="keyword">class </font><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a> |
| 00431 { |
| 00432 <font class="keyword">public</font>: |
| 00433 |
| <a name="l00434"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a0">00434</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a0">GetAndReleaseCachedString</a>(<a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& theExecutionContext) : |
| 00435 m_executionContext(&theExecutionContext), |
| 00436 m_string(&theExecutionContext.getCachedString()) |
| 00437 { |
| 00438 } |
| 00439 |
| 00440 <font class="comment">// Note non-const copy semantics...</font> |
| <a name="l00441"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a1">00441</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a0">GetAndReleaseCachedString</a>(<a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a>& theSource) : |
| 00442 m_executionContext(theSource.m_executionContext), |
| 00443 m_string(theSource.m_string) |
| 00444 { |
| 00445 theSource.m_string = 0; |
| 00446 } |
| 00447 |
| <a name="l00448"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a2">00448</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a2">~GetAndReleaseCachedString</a>()<font class="keyword"></font> |
| 00449 <font class="keyword"> </font>{ |
| 00450 <font class="keywordflow">if</font> (m_string != 0) |
| 00451 { |
| 00452 m_executionContext-><a class="code" href="classXPathExecutionContext.html#a22">releaseCachedString</a>(*m_string); |
| 00453 } |
| 00454 } |
| 00455 |
| 00456 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| <a name="l00457"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a3">00457</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a3">get</a>()<font class="keyword"> const</font> |
| 00458 <font class="keyword"> </font>{ |
| 00459 assert(m_string != 0); |
| 00460 |
| 00461 <font class="keywordflow">return</font> *m_string; |
| 00462 } |
| 00463 |
| 00464 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& |
| <a name="l00465"></a><a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a4">00465</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html#a4">getExecutionContext</a>()<font class="keyword"> const</font> |
| 00466 <font class="keyword"> </font>{ |
| 00467 <font class="keywordflow">return</font> *m_executionContext; |
| 00468 } |
| 00469 |
| 00470 <font class="keyword">private</font>: |
| 00471 |
| 00472 <font class="comment">// Not implemented...</font> |
| 00473 <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a>& |
| 00474 operator=(<font class="keyword">const</font> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a>&); |
| 00475 |
| 00476 |
| 00477 <font class="comment">// Data members...</font> |
| 00478 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>* m_executionContext; |
| 00479 |
| 00480 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* m_string; |
| 00481 }; |
| 00482 |
| <a name="l00483"></a><a class="code" href="classXPathExecutionContext.html#s2">00483</a> <font class="keyword">typedef</font> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a> <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetCachedString</a>; |
| 00484 |
| 00490 <font class="keyword">virtual</font> <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| 00491 <a class="code" href="classXPathExecutionContext.html#a23">createMutableNodeRefList</a>(MemoryManagerType& theManager) <font class="keyword">const</font> = 0; |
| 00492 |
| 00503 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00504 <a class="code" href="classXPathExecutionContext.html#a24">getNodeSetByKey</a>( |
| 00505 <a class="code" href="classXalanDocument.html">XalanDocument</a>* doc, |
| 00506 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& qname, |
| 00507 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& ref, |
| 00508 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& nodelist) = 0; |
| 00509 |
| 00522 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00523 <a class="code" href="classXPathExecutionContext.html#a24">getNodeSetByKey</a>( |
| 00524 <a class="code" href="classXalanDocument.html">XalanDocument</a>* doc, |
| 00525 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& name, |
| 00526 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& ref, |
| 00527 <font class="keyword">const</font> LocatorType* locator, |
| 00528 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& nodelist) = 0; |
| 00529 |
| 00538 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 00539 <a class="code" href="classXPathExecutionContext.html#a26">getVariable</a>( |
| 00540 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00541 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 00542 |
| 00548 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* |
| 00549 <a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() <font class="keyword">const</font> = 0; |
| 00550 |
| 00556 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00557 <a class="code" href="classXPathExecutionContext.html#a28">setPrefixResolver</a>(<font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* thePrefixResolver) = 0; |
| 00558 |
| <a name="l00559"></a><a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">00559</a> <font class="keyword">class </font><a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html">PrefixResolverSetAndRestore</a> |
| 00560 { |
| 00561 <font class="keyword">public</font>: |
| 00562 |
| <a name="l00563"></a><a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a0">00563</a> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a0">PrefixResolverSetAndRestore</a>( |
| 00564 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& theExecutionContext, |
| 00565 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* theResolver) : |
| 00566 m_executionContext(theExecutionContext), |
| 00567 m_savedResolver(theExecutionContext.getPrefixResolver()) |
| 00568 { |
| 00569 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a28">setPrefixResolver</a>(theResolver); |
| 00570 } |
| 00571 |
| <a name="l00572"></a><a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a1">00572</a> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a0">PrefixResolverSetAndRestore</a>( |
| 00573 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& theExecutionContext, |
| 00574 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* theOldResolver, |
| 00575 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* theNewResolver) : |
| 00576 m_executionContext(theExecutionContext), |
| 00577 m_savedResolver(theOldResolver) |
| 00578 { |
| 00579 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a28">setPrefixResolver</a>(theNewResolver); |
| 00580 } |
| 00581 |
| <a name="l00582"></a><a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a2">00582</a> <a class="code" href="classXPathExecutionContext_1_1PrefixResolverSetAndRestore.html#a2">~PrefixResolverSetAndRestore</a>()<font class="keyword"></font> |
| 00583 <font class="keyword"> </font>{ |
| 00584 m_executionContext.<a class="code" href="classXPathExecutionContext.html#a28">setPrefixResolver</a>(m_savedResolver); |
| 00585 } |
| 00586 |
| 00587 <font class="keyword">private</font>: |
| 00588 |
| 00589 <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>& m_executionContext; |
| 00590 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* <font class="keyword">const</font> m_savedResolver; |
| 00591 }; |
| 00592 |
| 00599 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* |
| 00600 <a class="code" href="classXPathExecutionContext.html#a29">getNamespaceForPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& prefix) <font class="keyword">const</font> = 0; |
| 00601 |
| 00609 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 00610 <a class="code" href="classXPathExecutionContext.html#a30">findURIFromDoc</a>(<font class="keyword">const</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>* owner) <font class="keyword">const</font> = 0; |
| 00611 |
| 00622 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 00623 <a class="code" href="classXPathExecutionContext.html#a31">getUnparsedEntityURI</a>( |
| 00624 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 00625 <font class="keyword">const</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>& theDocument) <font class="keyword">const</font> = 0; |
| 00626 |
| 00637 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00638 <a class="code" href="classXPathExecutionContext.html#a32">shouldStripSourceNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanText.html">XalanText</a>& node) = 0; |
| 00639 |
| 00646 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>* |
| 00647 <a class="code" href="classXPathExecutionContext.html#a33">getSourceDocument</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theURI) <font class="keyword">const</font> = 0; |
| 00648 |
| 00655 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00656 <a class="code" href="classXPathExecutionContext.html#a34">setSourceDocument</a>( |
| 00657 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theURI, |
| 00658 <a class="code" href="classXalanDocument.html">XalanDocument</a>* theDocument) = 0; |
| 00659 |
| 00669 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classXPathExecutionContext.html#a35">formatNumber</a>( |
| 00670 <font class="keywordtype">double</font> number, |
| 00671 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& pattern, |
| 00672 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theResult, |
| 00673 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* context = 0, |
| 00674 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 00675 |
| 00687 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classXPathExecutionContext.html#a35">formatNumber</a>( |
| 00688 <font class="keywordtype">double</font> number, |
| 00689 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& pattern, |
| 00690 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& dfsName, |
| 00691 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theResult, |
| 00692 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* context = 0, |
| 00693 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 00694 |
| 00695 <font class="comment">// These interfaces are inherited from ExecutionContext...</font> |
| 00696 |
| 00697 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00698 <a class="code" href="classExecutionContext.html#a2">error</a>( |
| 00699 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00700 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0, |
| 00701 <font class="keyword">const</font> LocatorType* locator = 0) <font class="keyword">const</font> = 0; |
| 00702 |
| 00703 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00704 <a class="code" href="classExecutionContext.html#a3">warn</a>( |
| 00705 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00706 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0, |
| 00707 <font class="keyword">const</font> LocatorType* locator = 0) <font class="keyword">const</font> = 0; |
| 00708 |
| 00709 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00710 <a class="code" href="classExecutionContext.html#a4">message</a>( |
| 00711 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00712 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0, |
| 00713 <font class="keyword">const</font> LocatorType* locator = 0) <font class="keyword">const</font> = 0; |
| 00714 |
| 00715 <font class="keyword">protected</font>: |
| 00716 |
| <a name="l00717"></a><a class="code" href="classXPathExecutionContext.html#n0">00717</a> <a class="code" href="classXObjectFactory.html">XObjectFactory</a>* m_xobjectFactory; |
| 00718 }; |
| 00719 |
| 00720 |
| 00721 |
| 00722 XALAN_CPP_NAMESPACE_END |
| 00723 |
| 00724 |
| 00725 |
| 00726 <font class="preprocessor">#endif // XPATHEXECUTIONCONTEXT_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 © 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>
|