| <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>StylesheetExecutionContext.hpp</h1><a href="StylesheetExecutionContext_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(STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680)</font> |
| <a name="l00017"></a><a class="code" href="StylesheetExecutionContext_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define STYLESHEETEXECUTIONCONTEXT_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="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.hpp</a>></font> |
| 00023 |
| 00024 |
| 00025 |
| 00026 <font class="preprocessor">#include <cstddef></font> |
| 00027 <font class="preprocessor">#include <cstdio></font> |
| 00028 <font class="preprocessor">#include <memory></font> |
| 00029 |
| 00030 |
| 00031 |
| 00032 <font class="comment">// Base class header file...</font> |
| 00033 <font class="preprocessor">#include <<a class="code" href="XPathExecutionContext_8hpp.html">xalanc/XPath/XPathExecutionContext.hpp</a>></font> |
| 00034 |
| 00035 |
| 00036 |
| 00037 |
| 00038 <font class="preprocessor">#include <<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>></font> |
| 00039 |
| 00040 |
| 00041 |
| 00042 <font class="comment">// Base class header file...</font> |
| 00043 <font class="preprocessor">#include <<a class="code" href="ExecutionContext_8hpp.html">xalanc/PlatformSupport/ExecutionContext.hpp</a>></font> |
| 00044 |
| 00045 |
| 00046 |
| 00047 <font class="preprocessor">#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)</font> |
| 00048 <font class="preprocessor"></font><font class="preprocessor">#include <<a class="code" href="XalanNumberFormat_8hpp.html">xalanc/PlatformSupport/XalanNumberFormat.hpp</a>></font> |
| 00049 <font class="preprocessor">#endif</font> |
| 00050 <font class="preprocessor"></font> |
| 00051 |
| 00052 |
| 00053 <font class="preprocessor">#include <<a class="code" href="XalanMemMgrAutoPtr_8hpp.html">xalanc/Include/XalanMemMgrAutoPtr.hpp</a>></font> |
| 00054 |
| 00055 |
| 00056 |
| 00057 |
| 00058 <font class="preprocessor">#include <<a class="code" href="AttributeListImpl_8hpp.html">xalanc/PlatformSupport/AttributeListImpl.hpp</a>></font> |
| 00059 <font class="preprocessor">#include <<a class="code" href="XalanCollationServices_8hpp.html">xalanc/PlatformSupport/XalanCollationServices.hpp</a>></font> |
| 00060 |
| 00061 |
| 00062 |
| 00063 <font class="preprocessor">#include <<a class="code" href="TopLevelArg_8hpp.html">xalanc/XSLT/TopLevelArg.hpp</a>></font> |
| 00064 |
| 00065 |
| 00066 |
| 00067 XALAN_CPP_NAMESPACE_BEGIN |
| 00068 |
| 00069 |
| 00070 |
| <a name="l00071"></a><a class="code" href="StylesheetExecutionContext_8hpp.html#a1">00071</a> <font class="keyword">class </font>CountersTable; |
| 00072 <font class="keyword">class </font><a class="code" href="classElemTemplate.html">ElemTemplate</a>; |
| 00073 <font class="keyword">class </font><a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>; |
| 00074 <font class="keyword">class </font><a class="code" href="classElemVariable.html">ElemVariable</a>; |
| 00075 <font class="keyword">class </font><a class="code" href="classFormatterListener.html">FormatterListener</a>; |
| 00076 <font class="keyword">class </font><a class="code" href="classFormatterToText.html">FormatterToText</a>; |
| 00077 <font class="keyword">class </font><a class="code" href="classGenerateEvent.html">GenerateEvent</a>; |
| 00078 <font class="keyword">class </font><a class="code" href="classPrefixResolver.html">PrefixResolver</a>; |
| 00079 <font class="keyword">class </font><a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>; |
| 00080 <font class="keyword">class </font>NodeSorter; |
| 00081 <font class="keyword">class </font><a class="code" href="classPrintWriter.html">PrintWriter</a>; |
| 00082 <font class="keyword">class </font><a class="code" href="classXalanQName.html">XalanQName</a>; |
| 00083 <font class="keyword">class </font><a class="code" href="classSelectionEvent.html">SelectionEvent</a>; |
| 00084 <font class="keyword">class </font>Stylesheet; |
| 00085 <font class="keyword">class </font>StylesheetRoot; |
| 00086 <font class="keyword">class </font><a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>; |
| 00087 <font class="keyword">class </font><a class="code" href="classTracerEvent.html">TracerEvent</a>; |
| 00088 <font class="keyword">class </font><a class="code" href="classWriter.html">Writer</a>; |
| 00089 <font class="keyword">class </font><a class="code" href="classXalanDocument.html">XalanDocument</a>; |
| 00090 <font class="keyword">class </font><a class="code" href="classXalanDocumentFragment.html">XalanDocumentFragment</a>; |
| 00091 <font class="keyword">class </font><a class="code" href="classXalanElement.html">XalanElement</a>; |
| 00092 <font class="keyword">class </font><a class="code" href="classXalanNode.html">XalanNode</a>; |
| 00093 <font class="keyword">class </font><a class="code" href="classXalanNumberFormat.html">XalanNumberFormat</a>; |
| 00094 <font class="keyword">class </font><a class="code" href="classXPath.html">XPath</a>; |
| 00095 <font class="keyword">class </font><a class="code" href="classXObject.html">XObject</a>; |
| 00096 <font class="keyword">class </font><a class="code" href="classXObjectPtr.html">XObjectPtr</a>; |
| 00097 <font class="keyword">class </font><a class="code" href="classXResultTreeFrag.html">XResultTreeFrag</a>; |
| 00098 |
| 00099 |
| 00100 |
| 00101 <font class="comment">//</font> |
| 00102 <font class="comment">// An abstract class which provides support for executing stylesheets.</font> |
| 00103 <font class="comment">//</font> |
| <a name="l00104"></a><a class="code" href="classStylesheetExecutionContext.html">00104</a> <font class="keyword">class </font>XALAN_XSLT_EXPORT <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> : <font class="keyword">public</font> <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a> |
| 00105 { |
| 00106 <font class="keyword">public</font>: |
| 00107 |
| 00108 <font class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</font> |
| 00109 <font class="preprocessor"></font> <font class="keyword">typedef</font> std::size_t tl_size_type; |
| 00110 <font class="preprocessor">#else</font> |
| <a name="l00111"></a><a class="code" href="classStylesheetExecutionContext.html#s0">00111</a> <font class="preprocessor"></font> <font class="keyword">typedef</font> size_t tl_size_type; |
| 00112 <font class="preprocessor">#endif</font> |
| 00113 <font class="preprocessor"></font> |
| 00114 <font class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</font> |
| 00115 <font class="preprocessor"></font> <font class="keyword">typedef</font> ostream StreamType; |
| 00116 <font class="preprocessor">#else</font> |
| <a name="l00117"></a><a class="code" href="classStylesheetExecutionContext.html#s1">00117</a> <font class="preprocessor"></font> <font class="keyword">typedef</font> std::ostream StreamType; |
| 00118 <font class="preprocessor">#endif</font> |
| 00119 <font class="preprocessor"></font> |
| 00120 <font class="keyword">explicit</font> |
| 00121 <a class="code" href="classStylesheetExecutionContext.html#a0">StylesheetExecutionContext</a>(MemoryManagerType& m_memoryManager, <a class="code" href="classXObjectFactory.html">XObjectFactory</a>* theXObjectFactory = 0); |
| 00122 |
| 00123 <font class="keyword">virtual</font> |
| 00124 <a class="code" href="classStylesheetExecutionContext.html#a1">~StylesheetExecutionContext</a>(); |
| 00125 |
| 00126 <font class="comment">// These interfaces are new...</font> |
| 00127 |
| 00135 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00136 <a class="code" href="classXPathExecutionContext.html#a37">error</a>( |
| 00137 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00138 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& styleNode, |
| 00139 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0) <font class="keyword">const</font> = 0; |
| 00140 |
| 00148 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00149 <a class="code" href="classXPathExecutionContext.html#a38">warn</a>( |
| 00150 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00151 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& styleNode, |
| 00152 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0) <font class="keyword">const</font> = 0; |
| 00153 |
| 00161 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00162 <a class="code" href="classXPathExecutionContext.html#a39">message</a>( |
| 00163 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 00164 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& styleNode, |
| 00165 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0) <font class="keyword">const</font> = 0; |
| 00166 |
| 00167 |
| 00173 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00174 <a class="code" href="classStylesheetExecutionContext.html#a5">getQuietConflictWarnings</a>() <font class="keyword">const</font> = 0; |
| 00175 |
| 00182 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00183 <a class="code" href="classStylesheetExecutionContext.html#a6">getCopyTextNodesOnly</a>() <font class="keyword">const</font> = 0; |
| 00184 |
| 00191 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00192 <a class="code" href="classStylesheetExecutionContext.html#a7">pushCopyTextNodesOnly</a>(<font class="keywordtype">bool</font> copyTextNodesOnly) = 0; |
| 00193 |
| 00198 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00199 <a class="code" href="classStylesheetExecutionContext.html#a8">popCopyTextNodesOnly</a>() = 0; |
| 00200 |
| 00201 <font class="comment">/*</font> |
| 00202 <font class="comment"> * A class to manage setting and restoring the flag</font> |
| 00203 <font class="comment"> * for restricting copying only text nodes to the</font> |
| 00204 <font class="comment"> * result tree</font> |
| 00205 <font class="comment"> */</font> |
| <a name="l00206"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html">00206</a> <font class="keyword">class </font>SetAndRestoreCopyTextNodesOnly |
| 00207 { |
| 00208 <font class="keyword">public</font>: |
| 00209 |
| <a name="l00210"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html#a0">00210</a> <a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html#a0">SetAndRestoreCopyTextNodesOnly</a>( |
| 00211 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00212 <font class="keywordtype">bool</font> fValue) : |
| 00213 m_executionContext(executionContext) |
| 00214 { |
| 00215 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a7">pushCopyTextNodesOnly</a>(fValue); |
| 00216 } |
| 00217 |
| <a name="l00218"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html#a1">00218</a> <a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html#a1">~SetAndRestoreCopyTextNodesOnly</a>()<font class="keyword"></font> |
| 00219 <font class="keyword"> </font>{ |
| 00220 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a8">popCopyTextNodesOnly</a>(); |
| 00221 } |
| 00222 |
| 00223 <font class="keyword">private</font>: |
| 00224 |
| 00225 <font class="comment">// Not implemented...</font> |
| 00226 <a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCopyTextNodesOnly.html#a0">SetAndRestoreCopyTextNodesOnly</a>(<font class="keyword">const</font> SetAndRestoreCopyTextNodesOnly&); |
| 00227 |
| 00228 SetAndRestoreCopyTextNodesOnly& |
| 00229 operator=(<font class="keyword">const</font> SetAndRestoreCopyTextNodesOnly&); |
| 00230 |
| 00231 <font class="comment">// Data members...</font> |
| 00232 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00233 |
| 00234 }; |
| 00235 |
| 00236 <font class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00237 <font class="preprocessor"></font> |
| 00241 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00242 <a class="code" href="classStylesheetExecutionContext.html#a9">pushProcessCurrentAttribute</a>(<font class="keywordtype">bool</font> processAttribute) = 0; |
| 00243 |
| 00247 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00248 <a class="code" href="classStylesheetExecutionContext.html#a10">popProcessCurrentAttribute</a>() = 0; |
| 00249 |
| 00255 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00256 <a class="code" href="classStylesheetExecutionContext.html#a11">pushSkipElementAttributes</a>(<font class="keywordtype">bool</font> skipAttributes) = 0; |
| 00257 |
| 00262 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00263 <a class="code" href="classStylesheetExecutionContext.html#a12">getSkipElementAttributes</a>() <font class="keyword">const</font> = 0; |
| 00264 |
| 00268 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00269 <a class="code" href="classStylesheetExecutionContext.html#a13">popSkipElementAttributes</a>() = 0; |
| 00270 |
| 00276 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00277 <a class="code" href="classStylesheetExecutionContext.html#a14">pushExecuteIf</a>(<font class="keywordtype">bool</font> executeIf) = 0; |
| 00278 |
| 00284 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00285 <a class="code" href="classStylesheetExecutionContext.html#a15">popExecuteIf</a>() = 0; |
| 00286 <font class="preprocessor">#endif</font> |
| 00287 <font class="preprocessor"></font> |
| 00295 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>* |
| 00296 <a class="code" href="classStylesheetExecutionContext.html#a16">getRootDocument</a>() <font class="keyword">const</font> = 0; |
| 00297 |
| 00305 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00306 <a class="code" href="classStylesheetExecutionContext.html#a17">setRootDocument</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* theDocument) = 0; |
| 00307 |
| 00313 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00314 <a class="code" href="classStylesheetExecutionContext.html#a18">setStylesheetRoot</a>(<font class="keyword">const</font> StylesheetRoot* theStylesheet) = 0; |
| 00315 |
| 00321 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>* |
| 00322 <a class="code" href="classStylesheetExecutionContext.html#a19">getCurrentMode</a>() <font class="keyword">const</font> = 0; |
| 00323 |
| 00329 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00330 <a class="code" href="classStylesheetExecutionContext.html#a20">pushCurrentMode</a>(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>* theMode) = 0; |
| 00331 |
| 00332 |
| 00336 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00337 <a class="code" href="classStylesheetExecutionContext.html#a21">popCurrentMode</a>() =0; |
| 00338 |
| 00344 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* |
| 00345 <a class="code" href="classStylesheetExecutionContext.html#a22">getCurrentTemplate</a>() <font class="keyword">const</font> = 0; |
| 00346 |
| 00352 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00353 <a class="code" href="classStylesheetExecutionContext.html#a23">pushCurrentTemplate</a>(<font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* theTemplate) = 0; |
| 00354 |
| 00355 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00356 <a class="code" href="classStylesheetExecutionContext.html#a24">popCurrentTemplate</a>() = 0; |
| 00357 |
| 00358 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00359 <font class="preprocessor"></font> <font class="comment">/*</font> |
| 00360 <font class="comment"> * A class to manage pushing and popping the current</font> |
| 00361 <font class="comment"> * template instance.</font> |
| 00362 <font class="comment"> */</font> |
| 00363 <font class="keyword">class </font>PushAndPopCurrentTemplate |
| 00364 { |
| 00365 <font class="keyword">public</font>: |
| 00366 |
| 00367 PushAndPopCurrentTemplate( |
| 00368 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00369 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* theTemplate) : |
| 00370 m_executionContext(executionContext) |
| 00371 { |
| 00372 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a23">pushCurrentTemplate</a>(theTemplate); |
| 00373 } |
| 00374 |
| 00375 ~PushAndPopCurrentTemplate()<font class="keyword"></font> |
| 00376 <font class="keyword"> </font>{ |
| 00377 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a24">popCurrentTemplate</a>(); |
| 00378 } |
| 00379 |
| 00380 <font class="keyword">private</font>: |
| 00381 |
| 00382 <font class="comment">// Data members...</font> |
| 00383 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00384 }; |
| 00385 <font class="preprocessor">#endif</font> |
| 00386 <font class="preprocessor"></font> |
| 00390 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00391 <a class="code" href="classStylesheetExecutionContext.html#a25">isElementPending</a>() <font class="keyword">const</font> = 0; |
| 00392 |
| 00400 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00401 <a class="code" href="classStylesheetExecutionContext.html#a26">replacePendingAttribute</a>( |
| 00402 <font class="keyword">const</font> XalanDOMChar* theName, |
| 00403 <font class="keyword">const</font> XalanDOMChar* theNewType, |
| 00404 <font class="keyword">const</font> XalanDOMChar* theNewValue) = 0; |
| 00405 |
| 00411 <font class="keyword">virtual</font> <a class="code" href="classFormatterListener.html">FormatterListener</a>* |
| 00412 <a class="code" href="classStylesheetExecutionContext.html#a27">getFormatterListener</a>() <font class="keyword">const</font> = 0; |
| 00413 |
| 00419 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00420 <a class="code" href="classStylesheetExecutionContext.html#a28">setFormatterListener</a>(<a class="code" href="classFormatterListener.html">FormatterListener</a>* flistener) = 0; |
| 00421 |
| 00422 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00423 <a class="code" href="classStylesheetExecutionContext.html#a29">pushOutputContext</a>(<a class="code" href="classFormatterListener.html">FormatterListener</a>* flistener = 0) = 0; |
| 00424 |
| 00425 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00426 <a class="code" href="classStylesheetExecutionContext.html#a30">popOutputContext</a>() = 0; |
| 00427 |
| <a name="l00428"></a><a class="code" href="classStylesheetExecutionContext_1_1OutputContextPushPop.html">00428</a> <font class="keyword">class </font>OutputContextPushPop |
| 00429 { |
| 00430 <font class="keyword">public</font>: |
| 00431 |
| <a name="l00438"></a><a class="code" href="classStylesheetExecutionContext_1_1OutputContextPushPop.html#a0">00438</a> <a class="code" href="classStylesheetExecutionContext_1_1OutputContextPushPop.html#a0">OutputContextPushPop</a>( |
| 00439 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& theExecutionContext, |
| 00440 <a class="code" href="classFormatterListener.html">FormatterListener</a>* theNewListener = 0) : |
| 00441 m_executionContext(theExecutionContext) |
| 00442 { |
| 00443 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a29">pushOutputContext</a>(theNewListener); |
| 00444 } |
| 00445 |
| <a name="l00446"></a><a class="code" href="classStylesheetExecutionContext_1_1OutputContextPushPop.html#a1">00446</a> <a class="code" href="classStylesheetExecutionContext_1_1OutputContextPushPop.html#a1">~OutputContextPushPop</a>()<font class="keyword"></font> |
| 00447 <font class="keyword"> </font>{ |
| 00448 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a30">popOutputContext</a>(); |
| 00449 } |
| 00450 |
| 00451 <font class="keyword">private</font>: |
| 00452 |
| 00453 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00454 }; |
| 00455 |
| 00462 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00463 <a class="code" href="classStylesheetExecutionContext.html#a31">addResultAttribute</a>( |
| 00464 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& aname, |
| 00465 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& value) = 0; |
| 00466 |
| 00473 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00474 <a class="code" href="classStylesheetExecutionContext.html#a31">addResultAttribute</a>( |
| 00475 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& aname, |
| 00476 <font class="keyword">const</font> XalanDOMChar* value) = 0; |
| 00477 |
| 00483 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00484 <a class="code" href="classStylesheetExecutionContext.html#a33">copyNamespaceAttributes</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& src) = 0; |
| 00485 |
| 00493 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* |
| 00494 <a class="code" href="classStylesheetExecutionContext.html#a34">getResultPrefixForNamespace</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theNamespace) <font class="keyword">const</font> = 0; |
| 00495 |
| 00503 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* |
| 00504 <a class="code" href="classStylesheetExecutionContext.html#a35">getResultNamespaceForPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& thePrefix) <font class="keyword">const</font> = 0; |
| 00505 |
| 00514 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 00515 <a class="code" href="classStylesheetExecutionContext.html#a36">isPendingResultPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& thePrefix) = 0; |
| 00516 |
| 00517 |
| 00523 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00524 <a class="code" href="classStylesheetExecutionContext.html#a37">getUniqueNamespaceValue</a>(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theValue) <font class="keyword">const</font> = 0; |
| 00525 |
| 00531 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 00532 <a class="code" href="classStylesheetExecutionContext.html#a38">getIndent</a>() <font class="keyword">const</font> = 0; |
| 00533 |
| 00539 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00540 <a class="code" href="classStylesheetExecutionContext.html#a39">setIndent</a>(<font class="keywordtype">int</font> indentAmount) = 0; |
| 00541 |
| 00550 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* |
| 00551 <a class="code" href="classStylesheetExecutionContext.html#a40">createMatchPattern</a>( |
| 00552 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& str, |
| 00553 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>& resolver) = 0; |
| 00554 |
| 00560 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00561 <a class="code" href="classStylesheetExecutionContext.html#a41">returnXPath</a>(<font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* xpath) = 0; |
| 00562 |
| 00563 <font class="comment">// A helper class to automatically return an XPath instance.</font> |
| <a name="l00564"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html">00564</a> <font class="keyword">class </font><a class="code" href="classXPathGuard.html">XPathGuard</a> |
| 00565 { |
| 00566 <font class="keyword">public</font>: |
| 00567 |
| <a name="l00568"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a0">00568</a> <a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a0">XPathGuard</a>( |
| 00569 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& context, |
| 00570 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* xpath = 0) : |
| 00571 m_context(context), |
| 00572 m_xpath(xpath) |
| 00573 { |
| 00574 } |
| 00575 |
| <a name="l00576"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a1">00576</a> <a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a1">~XPathGuard</a>()<font class="keyword"></font> |
| 00577 <font class="keyword"> </font>{ |
| 00578 <font class="keywordflow">if</font> (m_xpath != 0) |
| 00579 { |
| 00580 m_context.<a class="code" href="classStylesheetExecutionContext.html#a41">returnXPath</a>(m_xpath); |
| 00581 } |
| 00582 } |
| 00583 |
| 00584 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* |
| <a name="l00585"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a2">00585</a> <a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a2">get</a>()<font class="keyword"> const</font> |
| 00586 <font class="keyword"> </font>{ |
| 00587 <font class="keywordflow">return</font> m_xpath; |
| 00588 } |
| 00589 |
| 00590 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* |
| <a name="l00591"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a3">00591</a> <a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a3">release</a>()<font class="keyword"></font> |
| 00592 <font class="keyword"> </font>{ |
| 00593 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* <font class="keyword">const</font> temp = m_xpath; |
| 00594 |
| 00595 m_xpath = 0; |
| 00596 |
| 00597 <font class="keywordflow">return</font> temp; |
| 00598 } |
| 00599 |
| 00600 <font class="keywordtype">void</font> |
| <a name="l00601"></a><a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a4">00601</a> <a class="code" href="classStylesheetExecutionContext_1_1XPathGuard.html#a4">reset</a>(<font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* xpath)<font class="keyword"></font> |
| 00602 <font class="keyword"> </font>{ |
| 00603 <font class="keywordflow">if</font> (m_xpath != 0) |
| 00604 { |
| 00605 m_context.<a class="code" href="classStylesheetExecutionContext.html#a41">returnXPath</a>(m_xpath); |
| 00606 } |
| 00607 |
| 00608 m_xpath = xpath; |
| 00609 } |
| 00610 |
| 00611 <font class="keyword">private</font>: |
| 00612 |
| 00613 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_context; |
| 00614 |
| 00615 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* m_xpath; |
| 00616 }; |
| 00617 |
| <a name="l00618"></a><a class="code" href="classStylesheetExecutionContext.html#s2">00618</a> <font class="keyword">typedef</font> XalanVector<TopLevelArg> ParamVectorType; |
| 00619 |
| 00626 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00627 <a class="code" href="classStylesheetExecutionContext.html#a42">pushTopLevelVariables</a>(<font class="keyword">const</font> ParamVectorType& topLevelParams) = 0; |
| 00628 |
| 00638 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 00639 <a class="code" href="classStylesheetExecutionContext.html#a43">createVariable</a>( |
| 00640 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>& xpath, |
| 00641 <a class="code" href="classXalanNode.html">XalanNode</a>* contextNode, |
| 00642 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>& resolver) = 0; |
| 00643 |
| 00644 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00645 <font class="preprocessor"></font> |
| 00653 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 00654 <a class="code" href="classStylesheetExecutionContext.html#a43">createVariable</a>( |
| 00655 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& templateChild, |
| 00656 <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode) = 0; |
| 00657 <font class="preprocessor">#endif</font> |
| 00658 <font class="preprocessor"></font> |
| 00671 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00672 <a class="code" href="classStylesheetExecutionContext.html#a44">pushVariable</a>( |
| 00673 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00674 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element, |
| 00675 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& str, |
| 00676 <a class="code" href="classXalanNode.html">XalanNode</a>* contextNode, |
| 00677 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>& resolver) = 0; |
| 00678 |
| 00690 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00691 <a class="code" href="classStylesheetExecutionContext.html#a44">pushVariable</a>( |
| 00692 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00693 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element, |
| 00694 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>& xpath, |
| 00695 <a class="code" href="classXalanNode.html">XalanNode</a>* contextNode, |
| 00696 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>& resolver) = 0; |
| 00697 |
| 00698 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00699 <font class="preprocessor"></font> |
| 00708 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00709 <a class="code" href="classStylesheetExecutionContext.html#a44">pushVariable</a>( |
| 00710 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00711 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element, |
| 00712 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& templateChild, |
| 00713 <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode) = 0; |
| 00714 <font class="preprocessor">#endif</font> |
| 00715 <font class="preprocessor"></font> |
| 00724 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00725 <a class="code" href="classStylesheetExecutionContext.html#a44">pushVariable</a>( |
| 00726 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00727 <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> val, |
| 00728 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element) = 0; |
| 00729 |
| 00738 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00739 <a class="code" href="classStylesheetExecutionContext.html#a44">pushVariable</a>( |
| 00740 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 00741 <font class="keyword">const</font> <a class="code" href="classElemVariable.html">ElemVariable</a>* var, |
| 00742 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element) = 0; |
| 00743 |
| 00748 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00749 <a class="code" href="classStylesheetExecutionContext.html#a48">pushContextMarker</a>() = 0; |
| 00750 |
| 00754 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00755 <a class="code" href="classStylesheetExecutionContext.html#a49">popContextMarker</a>() = 0; |
| 00756 |
| 00757 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00758 <font class="preprocessor"></font> <font class="comment">/*</font> |
| 00759 <font class="comment"> * A class to manage pushing and popping an element's stack</font> |
| 00760 <font class="comment"> * frame context.</font> |
| 00761 <font class="comment"> */</font> |
| 00762 <font class="keyword">class </font>PushAndPopContextMarker |
| 00763 { |
| 00764 <font class="keyword">public</font>: |
| 00765 |
| 00766 PushAndPopContextMarker(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext) : |
| 00767 m_executionContext(executionContext)<font class="keyword"></font> |
| 00768 <font class="keyword"> </font>{ |
| 00769 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a48">pushContextMarker</a>(); |
| 00770 } |
| 00771 |
| 00772 PushAndPopContextMarker( |
| 00773 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00774 <font class="keywordtype">int</font>& currentStackFrameIndex) : |
| 00775 m_executionContext(executionContext)<font class="keyword"></font> |
| 00776 <font class="keyword"> </font>{ |
| 00777 currentStackFrameIndex = executionContext.<a class="code" href="classStylesheetExecutionContext.html#a59">getCurrentStackFrameIndex</a>(); |
| 00778 |
| 00779 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a48">pushContextMarker</a>(); |
| 00780 } |
| 00781 |
| 00782 ~PushAndPopContextMarker()<font class="keyword"></font> |
| 00783 <font class="keyword"> </font>{ |
| 00784 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a49">popContextMarker</a>(); |
| 00785 } |
| 00786 |
| 00787 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& |
| 00788 getExecutionContext()<font class="keyword"> const</font> |
| 00789 <font class="keyword"> </font>{ |
| 00790 <font class="keywordflow">return</font> m_executionContext; |
| 00791 } |
| 00792 |
| 00793 <font class="keyword">private</font>: |
| 00794 |
| 00795 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00796 }; |
| 00797 <font class="preprocessor">#endif</font> |
| 00798 <font class="preprocessor"></font> |
| 00802 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00803 <a class="code" href="classStylesheetExecutionContext.html#a50">resolveTopLevelParams</a>() = 0; |
| 00804 |
| 00808 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00809 <a class="code" href="classStylesheetExecutionContext.html#a51">clearTopLevelParams</a>() = 0; |
| 00810 |
| 00811 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00812 <font class="preprocessor"></font> <font class="keyword">class </font>ResolveAndClearTopLevelParams |
| 00813 { |
| 00814 <font class="keyword">public</font>: |
| 00815 |
| 00816 ResolveAndClearTopLevelParams(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext) : |
| 00817 m_executionContext(executionContext) |
| 00818 { |
| 00819 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a50">resolveTopLevelParams</a>(); |
| 00820 } |
| 00821 |
| 00822 ~ResolveAndClearTopLevelParams()<font class="keyword"></font> |
| 00823 <font class="keyword"> </font>{ |
| 00824 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a51">clearTopLevelParams</a>(); |
| 00825 } |
| 00826 |
| 00827 <font class="keyword">private</font>: |
| 00828 |
| 00829 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00830 }; |
| 00831 |
| 00838 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00839 pushParams(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& xslCallTemplateElement) = 0; |
| 00840 |
| 00841 <font class="preprocessor">#else</font> |
| 00842 <font class="preprocessor"></font> |
| 00846 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classStylesheetExecutionContext.html#a52">beginParams</a>() = 0; |
| 00847 |
| 00851 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classStylesheetExecutionContext.html#a53">endParams</a>() = 0; |
| 00852 |
| 00858 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classStylesheetExecutionContext.html#a54">pushParam</a>(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& qName,<font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>& theValue) = 0; |
| 00859 <font class="preprocessor">#endif</font> |
| 00860 <font class="preprocessor"></font> |
| 00871 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 00872 <a class="code" href="classStylesheetExecutionContext.html#a55">getParamVariable</a>(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& theName) = 0; |
| 00873 |
| 00879 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00880 <a class="code" href="classStylesheetExecutionContext.html#a56">pushElementFrame</a>(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* elem) = 0; |
| 00881 |
| 00887 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00888 <a class="code" href="classStylesheetExecutionContext.html#a57">popElementFrame</a>() = 0; |
| 00889 |
| 00890 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00891 <font class="preprocessor"></font> <font class="comment">/*</font> |
| 00892 <font class="comment"> * A class to manage pushing and popping an element's stack</font> |
| 00893 <font class="comment"> * frame context.</font> |
| 00894 <font class="comment"> */</font> |
| 00895 <font class="keyword">class </font>PushAndPopElementFrame |
| 00896 { |
| 00897 <font class="keyword">public</font>: |
| 00898 |
| 00899 PushAndPopElementFrame( |
| 00900 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00901 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element) : |
| 00902 m_executionContext(executionContext) |
| 00903 { |
| 00904 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a56">pushElementFrame</a>(element); |
| 00905 } |
| 00906 |
| 00907 ~PushAndPopElementFrame()<font class="keyword"></font> |
| 00908 <font class="keyword"> </font>{ |
| 00909 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a57">popElementFrame</a>(); |
| 00910 } |
| 00911 |
| 00912 <font class="keyword">private</font>: |
| 00913 |
| 00914 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00915 }; |
| 00916 <font class="preprocessor">#endif</font> |
| 00917 <font class="preprocessor"></font> |
| 00923 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 00924 <a class="code" href="classStylesheetExecutionContext.html#a58">getGlobalStackFrameIndex</a>() <font class="keyword">const</font> = 0; |
| 00925 |
| 00932 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 00933 <a class="code" href="classStylesheetExecutionContext.html#a59">getCurrentStackFrameIndex</a>() <font class="keyword">const</font> = 0; |
| 00934 |
| 00941 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00942 <a class="code" href="classStylesheetExecutionContext.html#a60">pushCurrentStackFrameIndex</a>(<font class="keywordtype">int</font> currentStackFrameIndex = -1) = 0; |
| 00943 |
| 00947 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 00948 <a class="code" href="classStylesheetExecutionContext.html#a61">popCurrentStackFrameIndex</a>() = 0; |
| 00949 |
| 00950 <font class="comment">/*</font> |
| 00951 <font class="comment"> * A class to manage the state of the variable stacks frame index.</font> |
| 00952 <font class="comment"> */</font> |
| <a name="l00953"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCurrentStackFrameIndex.html">00953</a> <font class="keyword">class </font>SetAndRestoreCurrentStackFrameIndex |
| 00954 { |
| 00955 <font class="keyword">public</font>: |
| 00956 |
| <a name="l00957"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCurrentStackFrameIndex.html#a0">00957</a> <a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCurrentStackFrameIndex.html#a0">SetAndRestoreCurrentStackFrameIndex</a>( |
| 00958 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00959 <font class="keywordtype">int</font> newIndex) : |
| 00960 m_executionContext(executionContext), |
| 00961 m_savedIndex(executionContext.getCurrentStackFrameIndex()) |
| 00962 { |
| 00963 executionContext.<a class="code" href="classStylesheetExecutionContext.html#a60">pushCurrentStackFrameIndex</a>(newIndex); |
| 00964 } |
| 00965 |
| <a name="l00966"></a><a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCurrentStackFrameIndex.html#a1">00966</a> <a class="code" href="classStylesheetExecutionContext_1_1SetAndRestoreCurrentStackFrameIndex.html#a1">~SetAndRestoreCurrentStackFrameIndex</a>()<font class="keyword"></font> |
| 00967 <font class="keyword"> </font>{ |
| 00968 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a61">popCurrentStackFrameIndex</a>(); |
| 00969 } |
| 00970 |
| 00971 <font class="keyword">private</font>: |
| 00972 |
| 00973 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 00974 |
| 00975 <font class="keyword">const</font> <font class="keywordtype">int</font> m_savedIndex; |
| 00976 }; |
| 00977 |
| 00978 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 00979 <font class="preprocessor"></font> <font class="comment">/*</font> |
| 00980 <font class="comment"> * A class to manage stack state during execution.</font> |
| 00981 <font class="comment"> */</font> |
| 00982 <font class="keyword">class </font>ParamsPushPop : <font class="keyword">public</font> PushAndPopContextMarker |
| 00983 { |
| 00984 <font class="keyword">public</font>: |
| 00985 |
| 00986 ParamsPushPop( |
| 00987 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00988 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& xslCallTemplateElement) : |
| 00989 PushAndPopContextMarker(executionContext) |
| 00990 { |
| 00991 doPush(xslCallTemplateElement); |
| 00992 } |
| 00993 |
| 00994 ParamsPushPop( |
| 00995 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 00996 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& xslCallTemplateElement, |
| 00997 <font class="keywordtype">int</font>& savedStackFrameIndex) : |
| 00998 PushAndPopContextMarker(executionContext, savedStackFrameIndex) |
| 00999 { |
| 01000 doPush( |
| 01001 xslCallTemplateElement, |
| 01002 savedStackFrameIndex); |
| 01003 } |
| 01004 |
| 01005 ~ParamsPushPop()<font class="keyword"></font> |
| 01006 <font class="keyword"> </font>{ |
| 01007 } |
| 01008 |
| 01009 <font class="keyword">private</font>: |
| 01010 |
| 01011 <font class="keywordtype">void</font> |
| 01012 doPush( |
| 01013 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& xslCallTemplateElement, |
| 01014 <font class="keywordtype">int</font> stackFrameIndex); |
| 01015 |
| 01016 <font class="keywordtype">void</font> |
| 01017 doPush(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& xslCallTemplateElement); |
| 01018 }; |
| 01019 <font class="preprocessor">#endif</font> |
| 01020 <font class="preprocessor"></font> |
| 01030 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01031 <a class="code" href="classStylesheetExecutionContext.html#a62">startDocument</a>() = 0; |
| 01032 |
| 01044 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01045 <a class="code" href="classStylesheetExecutionContext.html#a63">endDocument</a>() = 0; |
| 01046 |
| 01052 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01053 <a class="code" href="classStylesheetExecutionContext.html#a64">startElement</a>(<font class="keyword">const</font> XalanDOMChar* name) = 0; |
| 01054 |
| 01060 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01061 <a class="code" href="classStylesheetExecutionContext.html#a65">endElement</a>(<font class="keyword">const</font> XalanDOMChar* name) = 0; |
| 01062 |
| 01070 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01071 <a class="code" href="classStylesheetExecutionContext.html#a66">characters</a>( |
| 01072 <font class="keyword">const</font> XalanDOMChar* ch, |
| 01073 XalanDOMString::size_type start, |
| 01074 XalanDOMString::size_type length) = 0; |
| 01075 |
| 01085 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01086 <a class="code" href="classStylesheetExecutionContext.html#a67">charactersRaw</a>( |
| 01087 <font class="keyword">const</font> XalanDOMChar* ch, |
| 01088 XalanDOMString::size_type start, |
| 01089 XalanDOMString::size_type length) = 0; |
| 01090 |
| 01096 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01097 <a class="code" href="classStylesheetExecutionContext.html#a68">comment</a>(<font class="keyword">const</font> XalanDOMChar* data) = 0; |
| 01098 |
| 01105 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01106 <a class="code" href="classStylesheetExecutionContext.html#a69">processingInstruction</a>( |
| 01107 <font class="keyword">const</font> XalanDOMChar* target, |
| 01108 <font class="keyword">const</font> XalanDOMChar* data) = 0; |
| 01109 |
| 01113 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01114 <a class="code" href="classStylesheetExecutionContext.html#a70">flushPending</a>() = 0; |
| 01115 |
| 01122 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01123 <a class="code" href="classStylesheetExecutionContext.html#a71">cloneToResultTree</a>( |
| 01124 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node, |
| 01125 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 01126 |
| 01136 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01137 <a class="code" href="classStylesheetExecutionContext.html#a71">cloneToResultTree</a>( |
| 01138 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node, |
| 01139 XalanNode::NodeType nodeType, |
| 01140 <font class="keywordtype">bool</font> overrideStrip, |
| 01141 <font class="keywordtype">bool</font> shouldCloneAttributes, |
| 01142 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 01143 |
| 01144 <font class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) </font> |
| 01145 <font class="preprocessor"></font> |
| 01149 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01150 <a class="code" href="classStylesheetExecutionContext.html#a73">beginCreateXResultTreeFrag</a>( |
| 01151 <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode) = 0; |
| 01152 |
| 01157 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 01158 <a class="code" href="classStylesheetExecutionContext.html#a74">endCreateXResultTreeFrag</a>() = 0; |
| 01159 |
| 01165 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01166 <a class="code" href="classStylesheetExecutionContext.html#a75">beginFormatToText</a>( |
| 01167 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theResult) = 0; |
| 01168 |
| 01173 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01174 <a class="code" href="classStylesheetExecutionContext.html#a76">endFormatToText</a>() = 0; |
| 01175 <font class="preprocessor">#else</font> |
| 01176 <font class="preprocessor"></font> |
| 01183 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 01184 createXResultTreeFrag( |
| 01185 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& templateChild, |
| 01186 <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode) = 0; |
| 01187 <font class="preprocessor">#endif</font> |
| 01188 <font class="preprocessor"></font> |
| 01196 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01197 <a class="code" href="classStylesheetExecutionContext.html#a77">outputToResultTree</a>( |
| 01198 <font class="keyword">const</font> <a class="code" href="classXObject.html">XObject</a>& xobj, |
| 01199 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 01200 |
| 01208 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01209 <a class="code" href="classStylesheetExecutionContext.html#a78">outputResultTreeFragment</a>( |
| 01210 <font class="keyword">const</font> <a class="code" href="classXObject.html">XObject</a>& theTree, |
| 01211 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 01212 |
| 01218 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01219 <a class="code" href="classStylesheetExecutionContext.html#a79">getXSLNameSpaceURL</a>() <font class="keyword">const</font> = 0; |
| 01220 |
| 01226 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01227 <a class="code" href="classStylesheetExecutionContext.html#a80">getXalanXSLNameSpaceURL</a>() <font class="keyword">const</font> = 0; |
| 01228 |
| 01234 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01235 <a class="code" href="classStylesheetExecutionContext.html#a81">findOnElementRecursionStack</a>(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* theElement) <font class="keyword">const</font> = 0; |
| 01236 |
| 01242 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01243 <a class="code" href="classStylesheetExecutionContext.html#a82">pushOnElementRecursionStack</a>(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* theElement) = 0; |
| 01244 |
| 01250 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* |
| 01251 <a class="code" href="classStylesheetExecutionContext.html#a83">popElementRecursionStack</a>() = 0; |
| 01252 |
| <a name="l01256"></a><a class="code" href="classStylesheetExecutionContext_1_1ElementRecursionStackPusher.html">01256</a> <font class="keyword">class </font>ElementRecursionStackPusher |
| 01257 { |
| 01258 <font class="keyword">public</font>: |
| 01259 |
| <a name="l01266"></a><a class="code" href="classStylesheetExecutionContext_1_1ElementRecursionStackPusher.html#a0">01266</a> <a class="code" href="classStylesheetExecutionContext_1_1ElementRecursionStackPusher.html#a0">ElementRecursionStackPusher</a>( |
| 01267 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 01268 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* element) : |
| 01269 m_executionContext(executionContext) |
| 01270 { |
| 01271 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a82">pushOnElementRecursionStack</a>(element); |
| 01272 } |
| 01273 |
| <a name="l01274"></a><a class="code" href="classStylesheetExecutionContext_1_1ElementRecursionStackPusher.html#a1">01274</a> <a class="code" href="classStylesheetExecutionContext_1_1ElementRecursionStackPusher.html#a1">~ElementRecursionStackPusher</a>()<font class="keyword"></font> |
| 01275 <font class="keyword"> </font>{ |
| 01276 m_executionContext.<a class="code" href="classStylesheetExecutionContext.html#a83">popElementRecursionStack</a>(); |
| 01277 } |
| 01278 |
| 01279 <font class="keyword">private</font>: |
| 01280 |
| 01281 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 01282 }; |
| 01283 |
| 01284 |
| 01294 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01295 <a class="code" href="classStylesheetExecutionContext.html#a84">returnXResultTreeFrag</a>(<a class="code" href="classXResultTreeFrag.html">XResultTreeFrag</a>* theXResultTreeFrag) = 0; |
| 01296 |
| 01297 |
| <a name="l01298"></a><a class="code" href="classStylesheetExecutionContext.html#s12">01298</a> <font class="keyword">enum</font> eDummy |
| 01299 { |
| 01300 eDefaultXMLIndentAmount = 0, |
| 01301 eDefaultHTMLIndentAmount = 0 |
| 01302 }; |
| 01303 |
| <a name="l01307"></a><a class="code" href="classStylesheetExecutionContext.html#s13">01307</a> <font class="keyword">enum</font> eEscapeURLs |
| 01308 { |
| 01309 eEscapeURLsDefault, <font class="comment">// Use the value in the stylesheet</font> |
| 01310 eEscapeURLsNo, <font class="comment">// Don't escape URLs</font> |
| 01311 eEscapeURLsYes <font class="comment">// Escape URLs</font> |
| 01312 }; |
| 01313 |
| 01321 <font class="keyword">virtual</font> eEscapeURLs |
| 01322 <a class="code" href="classStylesheetExecutionContext.html#a85">getEscapeURLs</a>() <font class="keyword">const</font> = 0; |
| 01323 |
| 01331 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01332 <a class="code" href="classStylesheetExecutionContext.html#a86">setEscapeURLs</a>(eEscapeURLs value) = 0; |
| 01333 |
| 01334 |
| <a name="l01338"></a><a class="code" href="classStylesheetExecutionContext.html#s14">01338</a> <font class="keyword">enum</font> eOmitMETATag |
| 01339 { |
| 01340 eOmitMETATagDefault, <font class="comment">// Use the value in the stylesheet</font> |
| 01341 eOmitMETATagNo, <font class="comment">// Don't omit the META tag</font> |
| 01342 eOmitMETATagYes <font class="comment">// Omit the META tag</font> |
| 01343 }; |
| 01344 |
| 01352 <font class="keyword">virtual</font> eOmitMETATag |
| 01353 <a class="code" href="classStylesheetExecutionContext.html#a87">getOmitMETATag</a>() <font class="keyword">const</font> = 0; |
| 01354 |
| 01362 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01363 <a class="code" href="classStylesheetExecutionContext.html#a88">setOmitMETATag</a>(eOmitMETATag value) = 0; |
| 01364 |
| 01385 |
| 01386 <font class="keyword">virtual</font> <a class="code" href="classFormatterListener.html">FormatterListener</a>* |
| 01387 <a class="code" href="classStylesheetExecutionContext.html#a89">createFormatterToXML</a>( |
| 01388 <a class="code" href="classWriter.html">Writer</a>& writer, |
| 01389 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& version = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01390 <font class="keywordtype">bool</font> doIndent = <font class="keyword">false</font>, |
| 01391 <font class="keywordtype">int</font> indent = eDefaultXMLIndentAmount, |
| 01392 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& encoding = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01393 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& mediaType = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01394 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& doctypeSystem = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01395 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& doctypePublic = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01396 <font class="keywordtype">bool</font> xmlDecl = <font class="keyword">true</font>, |
| 01397 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& standalone = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr())) = 0; |
| 01398 |
| 01416 <font class="keyword">virtual</font> <a class="code" href="classFormatterListener.html">FormatterListener</a>* |
| 01417 <a class="code" href="classStylesheetExecutionContext.html#a90">createFormatterToHTML</a>( |
| 01418 <a class="code" href="classWriter.html">Writer</a>& writer, |
| 01419 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& encoding = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01420 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& mediaType = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01421 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& doctypeSystem = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01422 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& doctypePublic = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), |
| 01423 <font class="keywordtype">bool</font> doIndent = <font class="keyword">true</font>, |
| 01424 <font class="keywordtype">int</font> indent = eDefaultHTMLIndentAmount, |
| 01425 <font class="keywordtype">bool</font> escapeURLs = <font class="keyword">true</font>, |
| 01426 <font class="keywordtype">bool</font> omitMetaTag = <font class="keyword">false</font>) = 0; |
| 01427 |
| 01434 <font class="keyword">virtual</font> <a class="code" href="classFormatterListener.html">FormatterListener</a>* |
| 01435 <a class="code" href="classStylesheetExecutionContext.html#a91">createFormatterToText</a>( |
| 01436 <a class="code" href="classWriter.html">Writer</a>& writer, |
| 01437 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& encoding) = 0; |
| 01438 |
| 01439 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 01440 <font class="preprocessor"></font> <font class="keyword">class </font>BorrowReturnFormatterToText |
| 01441 { |
| 01442 <font class="keyword">public</font>: |
| 01443 |
| 01444 BorrowReturnFormatterToText( |
| 01445 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext, |
| 01446 <a class="code" href="classWriter.html">Writer</a>& writer, |
| 01447 <font class="keywordtype">bool</font> normalizeLinefeed = <font class="keyword">true</font>, |
| 01448 <font class="keywordtype">bool</font> handleIgnorableWhitespace = <font class="keyword">true</font>); |
| 01449 |
| 01450 ~BorrowReturnFormatterToText()<font class="keyword"></font> |
| 01451 <font class="keyword"> </font>{ |
| 01452 assert(m_formatter != 0); |
| 01453 |
| 01454 m_executionContext.returnFormatterToText(m_formatter); |
| 01455 } |
| 01456 |
| 01457 <a class="code" href="classFormatterToText.html">FormatterToText</a>& |
| 01458 operator*()<font class="keyword"> const</font> |
| 01459 <font class="keyword"> </font>{ |
| 01460 assert(m_formatter != 0); |
| 01461 |
| 01462 <font class="keywordflow">return</font> *m_formatter; |
| 01463 } |
| 01464 |
| 01465 <a class="code" href="classFormatterToText.html">FormatterToText</a>* |
| 01466 get()<font class="keyword"> const</font> |
| 01467 <font class="keyword"> </font>{ |
| 01468 assert(m_formatter != 0); |
| 01469 |
| 01470 <font class="keywordflow">return</font> m_formatter; |
| 01471 } |
| 01472 |
| 01473 <a class="code" href="classFormatterToText.html">FormatterToText</a>* |
| 01474 operator->()<font class="keyword"> const</font> |
| 01475 <font class="keyword"> </font>{ |
| 01476 <font class="keywordflow">return</font> get(); |
| 01477 } |
| 01478 |
| 01479 <font class="keyword">private</font>: |
| 01480 |
| 01481 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 01482 |
| 01483 <a class="code" href="classFormatterToText.html">FormatterToText</a>* m_formatter; |
| 01484 }; |
| 01485 |
| 01486 |
| 01487 <font class="keyword">friend</font> <font class="keyword">class </font>BorrowReturnFormatterToText; |
| 01488 <font class="preprocessor">#endif</font> |
| 01489 <font class="preprocessor"></font> |
| 01490 <font class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 01491 <font class="preprocessor"></font> |
| 01494 <font class="keyword">virtual</font> NodeSorter* |
| 01495 <a class="code" href="classStylesheetExecutionContext.html#a92">getNodeSorter</a>() = 0; |
| 01496 |
| 01497 <font class="preprocessor">#else</font> |
| 01498 <font class="preprocessor"></font> |
| 01503 <font class="keyword">virtual</font> NodeSorter* |
| 01504 borrowNodeSorter() = 0; |
| 01505 |
| 01512 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01513 returnNodeSorter(NodeSorter* theSorter) = 0; |
| 01514 |
| 01515 <font class="keyword">class </font>BorrowReturnNodeSorter |
| 01516 { |
| 01517 <font class="keyword">public</font>: |
| 01518 |
| 01519 BorrowReturnNodeSorter(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& executionContext) : |
| 01520 m_executionContext(executionContext), |
| 01521 m_sorter(executionContext.borrowNodeSorter()) |
| 01522 { |
| 01523 assert(m_sorter != 0); |
| 01524 } |
| 01525 |
| 01526 ~BorrowReturnNodeSorter()<font class="keyword"></font> |
| 01527 <font class="keyword"> </font>{ |
| 01528 assert(m_sorter != 0); |
| 01529 |
| 01530 m_executionContext.returnNodeSorter(m_sorter); |
| 01531 } |
| 01532 |
| 01533 NodeSorter& |
| 01534 operator*()<font class="keyword"> const</font> |
| 01535 <font class="keyword"> </font>{ |
| 01536 assert(m_sorter != 0); |
| 01537 |
| 01538 <font class="keywordflow">return</font> *m_sorter; |
| 01539 } |
| 01540 |
| 01541 NodeSorter* |
| 01542 get()<font class="keyword"> const</font> |
| 01543 <font class="keyword"> </font>{ |
| 01544 assert(m_sorter != 0); |
| 01545 |
| 01546 <font class="keywordflow">return</font> m_sorter; |
| 01547 } |
| 01548 |
| 01549 NodeSorter* |
| 01550 operator->()<font class="keyword"> const</font> |
| 01551 <font class="keyword"> </font>{ |
| 01552 <font class="keywordflow">return</font> get(); |
| 01553 } |
| 01554 |
| 01555 <font class="keyword">private</font>: |
| 01556 |
| 01557 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>& m_executionContext; |
| 01558 |
| 01559 NodeSorter* m_sorter; |
| 01560 }; |
| 01561 <font class="preprocessor">#endif</font> |
| 01562 <font class="preprocessor"></font> |
| <a name="l01563"></a><a class="code" href="classStylesheetExecutionContext.html#s3">01563</a> <font class="keyword">typedef</font> XalanMemMgrAutoPtr<XalanNumberFormat,true> XalanNumberFormatAutoPtr; |
| 01564 |
| 01571 <font class="keyword">virtual</font> XalanNumberFormatAutoPtr |
| 01572 <a class="code" href="classStylesheetExecutionContext.html#a93">createXalanNumberFormat</a>() = 0; |
| 01573 |
| 01574 <font class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 01575 <font class="preprocessor"></font> <font class="comment">/*</font> |
| 01576 <font class="comment"> * A class to manage the attribute sets that have been executed</font> |
| 01577 <font class="comment"> * by an element</font> |
| 01578 <font class="comment"> */</font> |
| <a name="l01579"></a><a class="code" href="structStylesheetExecutionContext_1_1UseAttributeSetIndexes.html">01579</a> <font class="keyword">struct </font>UseAttributeSetIndexes |
| 01580 { |
| <a name="l01581"></a><a class="code" href="structStylesheetExecutionContext_1_1UseAttributeSetIndexes.html#a0">01581</a> <a class="code" href="structStylesheetExecutionContext_1_1UseAttributeSetIndexes.html#a0">UseAttributeSetIndexes</a>() : |
| 01582 attributeSetNameIndex(0), |
| 01583 matchingAttributeSetIndex(0) {} |
| 01584 |
| <a name="l01585"></a><a class="code" href="structStylesheetExecutionContext_1_1UseAttributeSetIndexes.html#m0">01585</a> size_type attributeSetNameIndex; |
| <a name="l01586"></a><a class="code" href="structStylesheetExecutionContext_1_1UseAttributeSetIndexes.html#m1">01586</a> size_type matchingAttributeSetIndex; |
| 01587 |
| 01588 |
| 01589 }; |
| 01590 |
| 01591 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01592 <a class="code" href="classStylesheetExecutionContext.html#a94">createUseAttributeSetIndexesOnStack</a>() = 0; |
| 01593 |
| 01594 <font class="keyword">virtual</font> UseAttributeSetIndexes& |
| 01595 <a class="code" href="classStylesheetExecutionContext.html#a95">getUseAttributeSetIndexes</a>() = 0; |
| 01596 |
| 01597 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01598 <a class="code" href="classStylesheetExecutionContext.html#a96">popUseAttributeSetIndexesFromStack</a>() = 0; |
| 01599 |
| 01606 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01607 <a class="code" href="classStylesheetExecutionContext.html#a97">pushInvoker</a>(<font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a> * invoker) = 0; |
| 01608 |
| 01612 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01613 <a class="code" href="classStylesheetExecutionContext.html#a98">popInvoker</a>() = 0; |
| 01614 |
| 01619 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>* |
| 01620 <a class="code" href="classStylesheetExecutionContext.html#a99">getInvoker</a>() <font class="keyword">const</font> = 0; |
| 01621 <font class="preprocessor">#endif</font> |
| 01622 <font class="preprocessor"></font> |
| 01628 <font class="keyword">virtual</font> tl_size_type |
| 01629 <a class="code" href="classStylesheetExecutionContext.html#a100">getTraceListeners</a>() <font class="keyword">const</font> = 0; |
| 01630 |
| 01636 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01637 <a class="code" href="classStylesheetExecutionContext.html#a101">fireGenerateEvent</a>(<font class="keyword">const</font> <a class="code" href="classGenerateEvent.html">GenerateEvent</a>& ge) = 0; |
| 01638 |
| 01644 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01645 <a class="code" href="classStylesheetExecutionContext.html#a102">fireTraceEvent</a>(<font class="keyword">const</font> <a class="code" href="classTracerEvent.html">TracerEvent</a>& te) = 0; |
| 01646 |
| 01652 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01653 <a class="code" href="classStylesheetExecutionContext.html#a103">fireSelectEvent</a>(<font class="keyword">const</font> <a class="code" href="classSelectionEvent.html">SelectionEvent</a>& se) = 0; |
| 01654 |
| 01660 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01661 <a class="code" href="classStylesheetExecutionContext.html#a104">getTraceSelects</a>() <font class="keyword">const</font> = 0; |
| 01662 |
| 01670 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01671 <a class="code" href="classStylesheetExecutionContext.html#a105">traceSelect</a>( |
| 01672 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>& theStylesheetElement, |
| 01673 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& nl, |
| 01674 <font class="keyword">const</font> <a class="code" href="classXPath.html">XPath</a>* xpath) = 0; |
| 01675 |
| 01685 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 01686 <a class="code" href="DOMStringHelper_8hpp.html#a59">collationCompare</a>( |
| 01687 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theLHS, |
| 01688 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theRHS, |
| 01689 XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) = 0; |
| 01690 |
| 01701 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 01702 <a class="code" href="DOMStringHelper_8hpp.html#a59">collationCompare</a>( |
| 01703 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theLHS, |
| 01704 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theRHS, |
| 01705 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theLocale, |
| 01706 XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) = 0; |
| 01707 |
| 01717 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 01718 <a class="code" href="DOMStringHelper_8hpp.html#a59">collationCompare</a>( |
| 01719 <font class="keyword">const</font> XalanDOMChar* theLHS, |
| 01720 <font class="keyword">const</font> XalanDOMChar* theRHS, |
| 01721 XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) = 0; |
| 01722 |
| 01733 <font class="keyword">virtual</font> <font class="keywordtype">int</font> |
| 01734 <a class="code" href="DOMStringHelper_8hpp.html#a59">collationCompare</a>( |
| 01735 <font class="keyword">const</font> XalanDOMChar* theLHS, |
| 01736 <font class="keyword">const</font> XalanDOMChar* theRHS, |
| 01737 <font class="keyword">const</font> XalanDOMChar* theLocale, |
| 01738 XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) = 0; |
| 01739 |
| 01746 <font class="keyword">virtual</font> <a class="code" href="classPrintWriter.html">PrintWriter</a>* |
| 01747 <a class="code" href="classStylesheetExecutionContext.html#a110">createPrintWriter</a>(<a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>* theTextOutputStream) = 0; |
| 01748 |
| 01757 <font class="keyword">virtual</font> <a class="code" href="classPrintWriter.html">PrintWriter</a>* |
| 01758 <a class="code" href="classStylesheetExecutionContext.html#a110">createPrintWriter</a>( |
| 01759 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theFileName, |
| 01760 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theEncoding) = 0; |
| 01761 |
| 01768 <font class="keyword">virtual</font> <a class="code" href="classPrintWriter.html">PrintWriter</a>* |
| 01769 <a class="code" href="classStylesheetExecutionContext.html#a110">createPrintWriter</a>(StreamType& theStream) = 0; |
| 01770 |
| 01777 <font class="keyword">virtual</font> <a class="code" href="classPrintWriter.html">PrintWriter</a>* |
| 01778 <a class="code" href="classStylesheetExecutionContext.html#a110">createPrintWriter</a>(FILE* theStream) = 0; |
| 01779 |
| 01786 <font class="keyword">virtual</font> CountersTable& |
| 01787 <a class="code" href="classStylesheetExecutionContext.html#a114">getCountersTable</a>() = 0; |
| 01788 |
| 01794 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01795 <a class="code" href="classStylesheetExecutionContext.html#a66">characters</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node) = 0; |
| 01796 |
| 01802 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01803 <a class="code" href="classStylesheetExecutionContext.html#a66">characters</a>(<font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>& xobject) = 0; |
| 01804 |
| 01811 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01812 <a class="code" href="classStylesheetExecutionContext.html#a67">charactersRaw</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node) = 0; |
| 01813 |
| 01819 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01820 <a class="code" href="classStylesheetExecutionContext.html#a67">charactersRaw</a>(<font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>& xobject) = 0; |
| 01821 |
| 01822 |
| 01823 <font class="comment">// These interfaces are inherited from XPathExecutionContext...</font> |
| 01824 |
| 01825 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01826 <a class="code" href="classXPathExecutionContext.html#a2">reset</a>() = 0; |
| 01827 |
| 01828 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>* |
| 01829 <a class="code" href="classXPathExecutionContext.html#a3">getCurrentNode</a>() <font class="keyword">const</font> = 0; |
| 01830 |
| 01831 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01832 <a class="code" href="classXPathExecutionContext.html#a4">pushCurrentNode</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* theCurrentNode) = 0; |
| 01833 |
| 01834 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01835 <a class="code" href="classXPathExecutionContext.html#a5">popCurrentNode</a>() = 0; |
| 01836 |
| 01837 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01838 <a class="code" href="classXPathExecutionContext.html#a7">isNodeAfter</a>( |
| 01839 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node1, |
| 01840 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>& node2) <font class="keyword">const</font> = 0; |
| 01841 |
| 01842 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01843 <a class="code" href="classXPathExecutionContext.html#a8">pushContextNodeList</a>(<font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& theList) = 0; |
| 01844 |
| 01845 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01846 <a class="code" href="classXPathExecutionContext.html#a9">popContextNodeList</a>() = 0; |
| 01847 |
| 01848 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>& |
| 01849 <a class="code" href="classXPathExecutionContext.html#a10">getContextNodeList</a>() <font class="keyword">const</font> = 0; |
| 01850 |
| 01851 <font class="keyword">virtual</font> size_type |
| 01852 <a class="code" href="classXPathExecutionContext.html#a11">getContextNodeListLength</a>() <font class="keyword">const</font> = 0; |
| 01853 |
| 01854 <font class="keyword">virtual</font> size_type |
| 01855 <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; |
| 01856 |
| 01864 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01865 <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; |
| 01866 |
| 01876 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01877 <a class="code" href="classXPathExecutionContext.html#a13">elementAvailable</a>( |
| 01878 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 01879 <font class="keyword">const</font> LocatorType* locator) <font class="keyword">const</font> = 0; |
| 01880 |
| 01888 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01889 <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; |
| 01890 |
| 01899 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01900 <a class="code" href="classXPathExecutionContext.html#a15">functionAvailable</a>( |
| 01901 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 01902 <font class="keyword">const</font> LocatorType* locator) <font class="keyword">const</font> = 0; |
| 01903 |
| 01904 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 01905 <a class="code" href="classXPathExecutionContext.html#a17">extFunction</a>( |
| 01906 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theNamespace, |
| 01907 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& functionName, |
| 01908 <a class="code" href="classXalanNode.html">XalanNode</a>* context, |
| 01909 <font class="keyword">const</font> XObjectArgVectorType& argVec, |
| 01910 <font class="keyword">const</font> LocatorType* locator) = 0; |
| 01911 |
| 01912 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>* |
| 01913 <a class="code" href="classXPathExecutionContext.html#a18">parseXML</a>( |
| 01914 MemoryManagerType& theManager, |
| 01915 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& urlString, |
| 01916 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& base) <font class="keyword">const</font> = 0; |
| 01917 |
| 01918 <font class="keyword">virtual</font> <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| 01919 <a class="code" href="classXPathExecutionContext.html#a19">borrowMutableNodeRefList</a>() = 0; |
| 01920 |
| 01921 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01922 <a class="code" href="classXPathExecutionContext.html#a20">returnMutableNodeRefList</a>(<a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* theList) = 0; |
| 01923 |
| 01924 <font class="keyword">virtual</font> <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>* |
| 01925 <a class="code" href="classXPathExecutionContext.html#a23">createMutableNodeRefList</a>(MemoryManagerType& theManager) <font class="keyword">const</font> = 0; |
| 01926 |
| 01927 <font class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 01928 <font class="preprocessor"></font> |
| 01929 <font class="keyword">virtual</font> <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& |
| 01930 <a class="code" href="classStylesheetExecutionContext.html#a138">createAndPushMutableNodeRefList</a>() = 0; |
| 01931 |
| 01932 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01933 <a class="code" href="classStylesheetExecutionContext.html#a139">releaseAndPopMutableNodeRefList</a>() = 0; |
| 01934 |
| 01935 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01936 <a class="code" href="classStylesheetExecutionContext.html#a140">pushXObjectPtr</a>(<font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>& xobjectPtr) = 0; |
| 01937 |
| 01938 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01939 <a class="code" href="classStylesheetExecutionContext.html#a141">popXObjectPtr</a>() = 0; |
| 01940 |
| 01941 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01942 <a class="code" href="classStylesheetExecutionContext.html#a142">createAndPushNodesToTransformList</a>(<font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>* nodeList) = 0; |
| 01943 |
| 01944 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>* |
| 01945 <a class="code" href="classStylesheetExecutionContext.html#a143">getNextNodeToTransform</a>() = 0; |
| 01946 |
| 01947 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01948 <a class="code" href="classStylesheetExecutionContext.html#a144">popNodesToTransformList</a>() = 0; |
| 01949 |
| 01954 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01955 <a class="code" href="classStylesheetExecutionContext.html#a145">getAndPushCachedString</a>() = 0; |
| 01956 |
| 01961 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01962 <a class="code" href="classStylesheetExecutionContext.html#a146">getLastCachedString</a>() = 0; |
| 01963 |
| 01971 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01972 <a class="code" href="classStylesheetExecutionContext.html#a147">getAndPopCachedString</a>() = 0; |
| 01973 <font class="preprocessor">#endif</font> |
| 01974 <font class="preprocessor"></font> |
| 01975 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 01976 <a class="code" href="classXPathExecutionContext.html#a21">getCachedString</a>() = 0; |
| 01977 |
| 01978 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 01979 <a class="code" href="classXPathExecutionContext.html#a22">releaseCachedString</a>(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theString) = 0; |
| 01980 |
| 01981 |
| 01982 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01983 <a class="code" href="classXPathExecutionContext.html#a24">getNodeSetByKey</a>( |
| 01984 <a class="code" href="classXalanDocument.html">XalanDocument</a>* doc, |
| 01985 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& qname, |
| 01986 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& ref, |
| 01987 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& nodelist) = 0; |
| 01988 |
| 01989 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 01990 <a class="code" href="classXPathExecutionContext.html#a24">getNodeSetByKey</a>( |
| 01991 <a class="code" href="classXalanDocument.html">XalanDocument</a>* doc, |
| 01992 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& name, |
| 01993 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& ref, |
| 01994 <font class="keyword">const</font> LocatorType* locator, |
| 01995 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>& nodelist) = 0; |
| 01996 |
| 01997 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a> |
| 01998 <a class="code" href="classXPathExecutionContext.html#a26">getVariable</a>( |
| 01999 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>& name, |
| 02000 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 02001 |
| 02002 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* |
| 02003 <a class="code" href="classXPathExecutionContext.html#a27">getPrefixResolver</a>() <font class="keyword">const</font> = 0; |
| 02004 |
| 02005 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02006 <a class="code" href="classXPathExecutionContext.html#a28">setPrefixResolver</a>(<font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>* thePrefixResolver) = 0; |
| 02007 |
| 02008 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* |
| 02009 <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; |
| 02010 |
| 02011 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 02012 <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; |
| 02013 |
| 02014 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& |
| 02015 <a class="code" href="classXPathExecutionContext.html#a31">getUnparsedEntityURI</a>( |
| 02016 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theName, |
| 02017 <font class="keyword">const</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>& theDocument) <font class="keyword">const</font> = 0; |
| 02018 |
| 02019 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 02020 <a class="code" href="classXPathExecutionContext.html#a32">shouldStripSourceNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanText.html">XalanText</a>& node) = 0; |
| 02021 |
| 02022 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>* |
| 02023 <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; |
| 02024 |
| 02025 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02026 <a class="code" href="classXPathExecutionContext.html#a34">setSourceDocument</a>( |
| 02027 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theURI, |
| 02028 <a class="code" href="classXalanDocument.html">XalanDocument</a>* theDocument) = 0; |
| 02029 |
| 02030 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02031 <a class="code" href="classXPathExecutionContext.html#a35">formatNumber</a>( |
| 02032 <font class="keywordtype">double</font> number, |
| 02033 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& pattern, |
| 02034 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theResult, |
| 02035 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* context = 0, |
| 02036 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 02037 |
| 02038 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02039 <a class="code" href="classXPathExecutionContext.html#a35">formatNumber</a>( |
| 02040 <font class="keywordtype">double</font> number, |
| 02041 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& pattern, |
| 02042 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& dfsName, |
| 02043 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& theResult, |
| 02044 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* context = 0, |
| 02045 <font class="keyword">const</font> LocatorType* locator = 0) = 0; |
| 02046 |
| 02047 <font class="comment">// These interfaces are inherited from ExecutionContext...</font> |
| 02048 |
| 02049 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02050 <a class="code" href="classXPathExecutionContext.html#a37">error</a>( |
| 02051 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 02052 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode, |
| 02053 <font class="keyword">const</font> LocatorType* locator) <font class="keyword">const</font> = 0; |
| 02054 |
| 02055 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02056 <a class="code" href="classXPathExecutionContext.html#a38">warn</a>( |
| 02057 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 02058 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0, |
| 02059 <font class="keyword">const</font> LocatorType* locator = 0) <font class="keyword">const</font> = 0; |
| 02060 |
| 02061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> |
| 02062 <a class="code" href="classXPathExecutionContext.html#a39">message</a>( |
| 02063 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>& msg, |
| 02064 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* sourceNode = 0, |
| 02065 <font class="keyword">const</font> LocatorType* locator = 0) <font class="keyword">const</font> = 0; |
| 02066 |
| 02067 <font class="preprocessor">#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</font> |
| 02068 <font class="preprocessor"></font><font class="keyword">protected</font>: |
| 02074 <font class="keyword">virtual</font> <a class="code" href="classFormatterToText.html">FormatterToText</a>* |
| 02075 borrowFormatterToText() = 0; |
| 02076 |
| 02083 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> |
| 02084 returnFormatterToText(<a class="code" href="classFormatterToText.html">FormatterToText</a>* theFormatter) = 0; |
| 02085 <font class="preprocessor">#endif</font> |
| 02086 <font class="preprocessor"></font>}; |
| 02087 |
| 02088 |
| 02089 |
| 02090 XALAN_CPP_NAMESPACE_END |
| 02091 |
| 02092 |
| 02093 |
| 02094 <font class="preprocessor">#endif // STYLESHEETEXECUTIONCONTEXT_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>
|