blob: a4ea669bdd36f12a1a04fd046bc2485512370acc [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>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 &lt;<a class="code" href="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.hpp</a>&gt;</font>
00023
00024
00025
00026 <font class="preprocessor">#include &lt;cstddef&gt;</font>
00027 <font class="preprocessor">#include &lt;cstdio&gt;</font>
00028 <font class="preprocessor">#include &lt;memory&gt;</font>
00029
00030
00031
00032 <font class="comment">// Base class header file...</font>
00033 <font class="preprocessor">#include &lt;<a class="code" href="XPathExecutionContext_8hpp.html">xalanc/XPath/XPathExecutionContext.hpp</a>&gt;</font>
00034
00035
00036
00037
00038 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00039
00040
00041
00042 <font class="comment">// Base class header file...</font>
00043 <font class="preprocessor">#include &lt;<a class="code" href="ExecutionContext_8hpp.html">xalanc/PlatformSupport/ExecutionContext.hpp</a>&gt;</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 &lt;<a class="code" href="XalanNumberFormat_8hpp.html">xalanc/PlatformSupport/XalanNumberFormat.hpp</a>&gt;</font>
00049 <font class="preprocessor">#endif</font>
00050 <font class="preprocessor"></font>
00051
00052
00053 <font class="preprocessor">#include &lt;<a class="code" href="XalanMemMgrAutoPtr_8hpp.html">xalanc/Include/XalanMemMgrAutoPtr.hpp</a>&gt;</font>
00054
00055
00056
00057
00058 <font class="preprocessor">#include &lt;<a class="code" href="AttributeListImpl_8hpp.html">xalanc/PlatformSupport/AttributeListImpl.hpp</a>&gt;</font>
00059 <font class="preprocessor">#include &lt;<a class="code" href="XalanCollationServices_8hpp.html">xalanc/PlatformSupport/XalanCollationServices.hpp</a>&gt;</font>
00060
00061
00062
00063 <font class="preprocessor">#include &lt;<a class="code" href="TopLevelArg_8hpp.html">xalanc/XSLT/TopLevelArg.hpp</a>&gt;</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&amp; 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>&amp; msg,
00138 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp; 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>&amp; msg,
00151 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp; 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>&amp; msg,
00164 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp; 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>&amp; 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&amp;);
00227
00228 SetAndRestoreCopyTextNodesOnly&amp;
00229 operator=(<font class="keyword">const</font> SetAndRestoreCopyTextNodesOnly&amp;);
00230
00231 <font class="comment">// Data members...</font>
00232 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; aname,
00465 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; str,
00553 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; 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>&amp; 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>&amp; 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&lt;TopLevelArg&gt; 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&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; executionContext,
00774 <font class="keywordtype">int</font>&amp; 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>&amp;
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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; qName,<font class="keyword">const</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; executionContext,
00988 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp; xslCallTemplateElement) :
00989 PushAndPopContextMarker(executionContext)
00990 {
00991 doPush(xslCallTemplateElement);
00992 }
00993
00994 ParamsPushPop(
00995 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; executionContext,
00996 <font class="keyword">const</font> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp; xslCallTemplateElement,
00997 <font class="keywordtype">int</font>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp;
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>&amp;
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>&amp; 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>&amp; 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>&amp; writer,
01389 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; writer,
01419 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; writer,
01437 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; executionContext,
01446 <a class="code" href="classWriter.html">Writer</a>&amp; 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>&amp;
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-&gt;()<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>&amp; 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>&amp; 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&amp;
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-&gt;()<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>&amp; 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&lt;XalanNumberFormat,true&gt; 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&amp;
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>&amp; 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>&amp; 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>&amp; 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>&amp; theStylesheetElement,
01673 <font class="keyword">const</font> <a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>&amp; 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>&amp; theLHS,
01688 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; theLHS,
01704 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theRHS,
01705 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; theFileName,
01760 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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&amp; 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&amp;
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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; node1,
01840 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; 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>&amp; 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>&amp;
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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; theNamespace,
01907 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName,
01908 <a class="code" href="classXalanNode.html">XalanNode</a>* context,
01909 <font class="keyword">const</font> XObjectArgVectorType&amp; 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&amp; theManager,
01915 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; urlString,
01916 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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&amp; 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>&amp;
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>&amp; 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>&amp;
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>&amp;
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>&amp;
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>&amp;
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>&amp; 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>&amp; qname,
01986 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; ref,
01987 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; 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>&amp; name,
01993 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; ref,
01994 <font class="keyword">const</font> LocatorType* locator,
01995 <a class="code" href="classMutableNodeRefList.html">MutableNodeRefList</a>&amp; 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>&amp; 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>&amp; 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>&amp;
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>&amp;
02015 <a class="code" href="classXPathExecutionContext.html#a31">getUnparsedEntityURI</a>(
02016 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theName,
02017 <font class="keyword">const</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; pattern,
02034 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; pattern,
02042 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; dfsName,
02043 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; 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>&amp; 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>&amp; 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>&amp; 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 &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>