blob: f993a542cb66f977ca23f37c7dd3fad05f927e54 [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>XalanTransformer.hpp</h1><a href="XalanTransformer_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(XALANTRANSFORMER_HEADER_GUARD)</font>
<a name="l00017"></a><a class="code" href="XalanTransformer_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XALANTRANSFORMER_HEADER_GUARD</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="XalanTransformerDefinitions_8hpp.html">xalanc/XalanTransformer/XalanTransformerDefinitions.hpp</a>&gt;</font>
00023
00024
00025
00026 <font class="preprocessor">#include &lt;cassert&gt;</font>
00027 <font class="preprocessor">#if defined(XALAN_CLASSIC_IOSTREAMS)</font>
00028 <font class="preprocessor"></font><font class="keyword">class </font>ostream;
00029 <font class="preprocessor">#else</font>
00030 <font class="preprocessor"></font><font class="preprocessor">#include &lt;iosfwd&gt;</font>
00031 <font class="preprocessor">#endif</font>
00032 <font class="preprocessor"></font><font class="preprocessor">#include &lt;algorithm&gt;</font>
00033
00034
00035
00036 <font class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</font>
00037
00038
00039
00040 <font class="preprocessor">#include &lt;<a class="code" href="XalanQNameByValue_8hpp.html">xalanc/XPath/XalanQNameByValue.hpp</a>&gt;</font>
00041
00042
00043
00044 <font class="preprocessor">#include &lt;<a class="code" href="XSLTInputSource_8hpp.html">xalanc/XSLT/XSLTInputSource.hpp</a>&gt;</font>
00045 <font class="preprocessor">#include &lt;<a class="code" href="XSLTResultTarget_8hpp.html">xalanc/XSLT/XSLTResultTarget.hpp</a>&gt;</font>
00046
00047
00048
00049 <a class="code" href="XSLTProcessor_8hpp.html#a1">XALAN_DECLARE_XERCES_CLASS</a>(EntityResolver)
00050 <a class="code" href="XSLTProcessor_8hpp.html#a1">XALAN_DECLARE_XERCES_CLASS</a>(ErrorHandler)
00051
00052
00053
00054 XALAN_CPP_NAMESPACE_BEGIN
00055
00056
00057
00058 <font class="keyword">typedef</font> XERCES_CPP_NAMESPACE_QUALIFIER EntityResolver EntityResolverType;
<a name="l00059"></a><a class="code" href="XalanTransformer_8hpp.html#a1">00059</a> <font class="keyword">typedef</font> XERCES_CPP_NAMESPACE_QUALIFIER ErrorHandler ErrorHandlerType;
00060
00061
00062
00063 <font class="keyword">class </font><a class="code" href="classFunction.html">Function</a>;
00064 <font class="keyword">class </font>StylesheetExecutionContextDefault;
00065 <font class="keyword">class </font><a class="code" href="classProblemListener.html">ProblemListener</a>;
00066 <font class="keyword">class </font><a class="code" href="classTraceListener.html">TraceListener</a>;
00067 <font class="keyword">class </font><a class="code" href="classXSLTInit.html">XSLTInit</a>;
00068 <font class="keyword">class </font><a class="code" href="classXalanDocumentBuilder.html">XalanDocumentBuilder</a>;
00069 <font class="keyword">class </font><a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>;
00070 <font class="keyword">class </font><a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>;
00071 <font class="keyword">class </font><a class="code" href="classXalanTransformerOutputStream.html">XalanTransformerOutputStream</a>;
00072
00073
00074
<a name="l00081"></a><a class="code" href="classXalanTransformer.html">00081</a> <font class="keyword">class </font>XALAN_TRANSFORMER_EXPORT <a class="code" href="classXalanTransformer.html">XalanTransformer</a>
00082 {
00083
00084 <font class="keyword">public</font>:
00085
00086 <font class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</font>
00087 <font class="preprocessor"></font> <font class="keyword">typedef</font> ostream StreamType;
00088 <font class="preprocessor">#else</font>
<a name="l00089"></a><a class="code" href="classXalanTransformer.html#s0">00089</a> <font class="preprocessor"></font> <font class="keyword">typedef</font> std::ostream StreamType;
00090 <font class="preprocessor">#endif</font>
00091 <font class="preprocessor"></font>
00092 <a class="code" href="classXalanTransformer.html#a0">XalanTransformer</a>(MemoryManagerType&amp; theManager = XalanMemMgrs::getDefaultXercesMemMgr());
00093
00094 <font class="keyword">virtual</font>
00095 <a class="code" href="classXalanTransformer.html#a1">~XalanTransformer</a>();
00096
00097 MemoryManagerType&amp;
<a name="l00098"></a><a class="code" href="classXalanTransformer.html#a2">00098</a> <a class="code" href="classXalanTransformer.html#a2">getMemoryManager</a>()<font class="keyword"></font>
00099 <font class="keyword"> </font>{
00100 <font class="keywordflow">return</font> m_memoryManager;
00101 }
00102
00103 <font class="keyword">const</font> MemoryManagerType&amp;
<a name="l00104"></a><a class="code" href="classXalanTransformer.html#a3">00104</a> <a class="code" href="classXalanTransformer.html#a2">getMemoryManager</a>()<font class="keyword"> const</font>
00105 <font class="keyword"> </font>{
00106 <font class="keywordflow">return</font> m_memoryManager;
00107 }
00108
00117 <font class="keyword">static</font> <font class="keywordtype">void</font>
00118 <a class="code" href="classXalanTransformer.html#d0">initialize</a>(MemoryManagerType&amp; theManager = XalanMemMgrs::getDefaultXercesMemMgr());
00119
00132 <font class="keyword">static</font> <font class="keywordtype">void</font>
00133 <a class="code" href="classXalanTransformer.html#d1">terminate</a>();
00134
00153 <font class="keyword">static</font> <font class="keywordtype">void</font>
00154 <a class="code" href="classXalanTransformer.html#d2">ICUCleanUp</a>();
00155
00156
00157 <font class="keyword">static</font> <font class="keywordtype">void</font>
00158 <a class="code" href="classXalanTransformer.html#d3">ICUStartUp</a>(MemoryManagerType&amp; theManager = XalanMemMgrs::getDefaultXercesMemMgr());
00159
00169 <font class="keywordtype">int</font>
<a name="l00170"></a><a class="code" href="classXalanTransformer.html#a4">00170</a> <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00171 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>&amp; theParsedXML,
00172 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theStylesheetSource,
00173 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget)<font class="keyword"></font>
00174 <font class="keyword"> </font>{
00175 <font class="keywordflow">return</font> doTransform(theParsedXML, 0, &amp;theStylesheetSource, theResultTarget);
00176 }
00177
00187 <font class="keywordtype">int</font>
<a name="l00188"></a><a class="code" href="classXalanTransformer.html#a5">00188</a> <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00189 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>&amp; theParsedXML,
00190 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theCompiledStylesheet,
00191 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget)<font class="keyword"></font>
00192 <font class="keyword"> </font>{
00193 assert(theCompiledStylesheet != 0);
00194
00195 <font class="keywordflow">return</font> doTransform(theParsedXML, theCompiledStylesheet, 0, theResultTarget);
00196 }
00197
00207 <font class="keywordtype">int</font>
<a name="l00208"></a><a class="code" href="classXalanTransformer.html#a6">00208</a> <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00209 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>&amp; theParsedXML,
00210 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget)<font class="keyword"></font>
00211 <font class="keyword"> </font>{
00212 assert(s_emptyInputSource != 0);
00213
00214 <font class="keywordflow">return</font> <a class="code" href="classXalanTransformer.html#a4">transform</a>(theParsedXML, *s_emptyInputSource, theResultTarget);
00215 }
00216
00228 <font class="keywordtype">int</font>
00229 <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00230 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00231 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theStylesheetSource,
00232 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget);
00233
00244 <font class="keywordtype">int</font>
<a name="l00245"></a><a class="code" href="classXalanTransformer.html#a8">00245</a> <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00246 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00247 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget)<font class="keyword"></font>
00248 <font class="keyword"> </font>{
00249 assert(s_emptyInputSource != 0);
00250
00251 <font class="keywordflow">return</font> <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00252 theInputSource,
00253 *s_emptyInputSource,
00254 theResultTarget);
00255 }
00256
00275 <font class="keywordtype">int</font>
00276 <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00277 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00278 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theStylesheetSource,
00279 <font class="keywordtype">void</font>* theOutputHandle,
00280 XalanOutputHandlerType theOutputHandler,
00281 XalanFlushHandlerType theFlushHandler = 0);
00282
00294 <font class="keywordtype">int</font>
00295 <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00296 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00297 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theCompiledStylesheet,
00298 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget);
00299
00318 <font class="keywordtype">int</font>
00319 <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00320 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>&amp; theParsedSource,
00321 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theCompiledStylesheet,
00322 <font class="keywordtype">void</font>* theOutputHandle,
00323 XalanOutputHandlerType theOutputHandler,
00324 XalanFlushHandlerType theFlushHandler = 0);
00325
00343 <font class="keywordtype">int</font>
00344 <a class="code" href="classXalanTransformer.html#a4">transform</a>(
00345 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00346 <font class="keywordtype">void</font>* theOutputHandle,
00347 XalanOutputHandlerType theOutputHandler,
00348 XalanFlushHandlerType theFlushHandler = 0);
00349
00362 <font class="keywordtype">int</font>
00363 <a class="code" href="classXalanTransformer.html#a13">compileStylesheet</a>(
00364 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theStylesheetSource,
00365 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>*&amp; theCompiledStylesheet);
00366
00374 <font class="keywordtype">int</font>
00375 <a class="code" href="classXalanTransformer.html#a14">destroyStylesheet</a>(<font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theStylesheet);
00376
00390 <font class="keywordtype">int</font>
00391 <a class="code" href="classXalanTransformer.html#a15">parseSource</a>(
00392 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp; theInputSource,
00393 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>*&amp; theParsedSource,
00394 <font class="keywordtype">bool</font> useXercesDOM = <font class="keyword">false</font>);
00395
00402 <font class="keywordtype">int</font>
00403 <a class="code" href="classXalanTransformer.html#a16">destroyParsedSource</a>(<font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>* theParsedSource);
00404
00415 <a class="code" href="classXalanDocumentBuilder.html">XalanDocumentBuilder</a>*
00416 <a class="code" href="classXalanTransformer.html#a17">createDocumentBuilder</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theURI = <a class="code" href="AVTPart_8hpp.html#a1">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()));
00417
00425 <font class="keywordtype">void</font>
00426 <a class="code" href="classXalanTransformer.html#a18">destroyDocumentBuilder</a>(<a class="code" href="classXalanDocumentBuilder.html">XalanDocumentBuilder</a>* theDocumentBuilder);
00427
00435 <font class="keywordtype">void</font>
00436 <a class="code" href="classXalanTransformer.html#a19">installExternalFunction</a>(
00437 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespace,
00438 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName,
00439 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; function);
00440
00448 <font class="keyword">static</font> <font class="keywordtype">void</font>
00449 <a class="code" href="classXalanTransformer.html#d4">installExternalFunctionGlobal</a>(
00450 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespace,
00451 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName,
00452 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; function);
00453
00460 <font class="keywordtype">void</font>
00461 <a class="code" href="classXalanTransformer.html#a20">uninstallExternalFunction</a>(
00462 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespace,
00463 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName);
00464
00471 <font class="keyword">static</font> <font class="keywordtype">void</font>
00472 <a class="code" href="classXalanTransformer.html#d5">uninstallExternalFunctionGlobal</a>(
00473 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theNamespace,
00474 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; functionName);
00475
00483 <font class="keywordtype">void</font>
00484 <a class="code" href="classXalanTransformer.html#a21">setStylesheetParam</a>(
00485 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; key,
00486 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; expression);
00487
00495 <font class="keywordtype">void</font>
00496 <a class="code" href="classXalanTransformer.html#a21">setStylesheetParam</a>(
00497 <font class="keyword">const</font> <font class="keywordtype">char</font>* key,
00498 <font class="keyword">const</font> <font class="keywordtype">char</font>* expression);
00499
00507 <font class="keywordtype">void</font>
<a name="l00508"></a><a class="code" href="classXalanTransformer.html#a23">00508</a> <a class="code" href="classXalanTransformer.html#a23">addTraceListener</a>(<a class="code" href="classTraceListener.html">TraceListener</a>* theTraceListener)<font class="keyword"></font>
00509 <font class="keyword"> </font>{
00510 m_traceListeners.push_back(theTraceListener);
00511 }
00512
00519 <font class="keywordtype">bool</font>
00520 <a class="code" href="classXalanTransformer.html#a24">removeTraceListener</a>(<a class="code" href="classTraceListener.html">TraceListener</a>* theTraceListener);
00521
00525 <font class="keywordtype">void</font>
<a name="l00526"></a><a class="code" href="classXalanTransformer.html#a25">00526</a> <a class="code" href="classXalanTransformer.html#a25">removeTraceListeners</a>()<font class="keyword"></font>
00527 <font class="keyword"> </font>{
00528 m_traceListeners.clear();
00529 }
00530
00537 <font class="keywordtype">bool</font>
<a name="l00538"></a><a class="code" href="classXalanTransformer.html#a26">00538</a> <a class="code" href="classXalanTransformer.html#a26">getUseValidation</a>()<font class="keyword"> const</font>
00539 <font class="keyword"> </font>{
00540 <font class="keywordflow">return</font> m_useValidation;
00541 }
00542
00549 <font class="keywordtype">void</font>
<a name="l00550"></a><a class="code" href="classXalanTransformer.html#a27">00550</a> <a class="code" href="classXalanTransformer.html#a27">setUseValidation</a>(<font class="keywordtype">bool</font> fValue)<font class="keyword"></font>
00551 <font class="keyword"> </font>{
00552 m_useValidation = fValue;
00553 }
00554
00560 EntityResolverType*
<a name="l00561"></a><a class="code" href="classXalanTransformer.html#a28">00561</a> <a class="code" href="classXalanTransformer.html#a28">getEntityResolver</a>()<font class="keyword"> const</font>
00562 <font class="keyword"> </font>{
00563 <font class="keywordflow">return</font> m_entityResolver;
00564 }
00565
00575 <font class="keywordtype">void</font>
<a name="l00576"></a><a class="code" href="classXalanTransformer.html#a29">00576</a> <a class="code" href="classXalanTransformer.html#a29">setEntityResolver</a>(EntityResolverType* theResolver)<font class="keyword"></font>
00577 <font class="keyword"> </font>{
00578 m_entityResolver = theResolver;
00579 }
00580
00586 ErrorHandlerType*
<a name="l00587"></a><a class="code" href="classXalanTransformer.html#a30">00587</a> <a class="code" href="classXalanTransformer.html#a30">getErrorHandler</a>()<font class="keyword"> const</font>
00588 <font class="keyword"> </font>{
00589 <font class="keywordflow">return</font> m_errorHandler;
00590 }
00591
00597 <font class="keywordtype">void</font>
<a name="l00598"></a><a class="code" href="classXalanTransformer.html#a31">00598</a> <a class="code" href="classXalanTransformer.html#a31">setErrorHandler</a>(ErrorHandlerType* theErrorHandler)<font class="keyword"></font>
00599 <font class="keyword"> </font>{
00600 m_errorHandler = theErrorHandler;
00601 }
00602
00609 <font class="keyword">const</font> XalanDOMChar*
<a name="l00610"></a><a class="code" href="classXalanTransformer.html#a32">00610</a> <a class="code" href="classXalanTransformer.html#a32">getExternalSchemaLocation</a>()<font class="keyword"> const</font>
00611 <font class="keyword"> </font>{
00612 <font class="keywordflow">return</font> m_externalSchemaLocation.<a class="code" href="classXalanDOMString.html#a28">empty</a>() == <font class="keyword">true</font> ? 0 : m_externalSchemaLocation.<a class="code" href="classXalanDOMString.html#a33">c_str</a>();
00613 }
00614
00621 <font class="keywordtype">void</font>
<a name="l00622"></a><a class="code" href="classXalanTransformer.html#a33">00622</a> <a class="code" href="classXalanTransformer.html#a33">setExternalSchemaLocation</a>(<font class="keyword">const</font> XalanDOMChar* location)<font class="keyword"></font>
00623 <font class="keyword"> </font>{
00624 assert(location != 0);
00625
00626 m_externalSchemaLocation = location;
00627 }
00628
00635 <font class="keyword">const</font> XalanDOMChar*
<a name="l00636"></a><a class="code" href="classXalanTransformer.html#a34">00636</a> <a class="code" href="classXalanTransformer.html#a34">getExternalNoNamespaceSchemaLocation</a>()<font class="keyword"> const</font>
00637 <font class="keyword"> </font>{
00638 <font class="keywordflow">return</font> m_externalNoNamespaceSchemaLocation.<a class="code" href="classXalanDOMString.html#a28">empty</a>() == <font class="keyword">true</font> ? 0 : m_externalNoNamespaceSchemaLocation.<a class="code" href="classXalanDOMString.html#a33">c_str</a>();
00639 }
00640
00647 <font class="keywordtype">void</font>
<a name="l00648"></a><a class="code" href="classXalanTransformer.html#a35">00648</a> <a class="code" href="classXalanTransformer.html#a35">setExternalNoNamespaceSchemaLocation</a>(<font class="keyword">const</font> XalanDOMChar* location)<font class="keyword"></font>
00649 <font class="keyword"> </font>{
00650 assert(location != 0);
00651
00652 m_externalNoNamespaceSchemaLocation = location;
00653 }
00654
00661 <font class="keywordtype">bool</font>
<a name="l00662"></a><a class="code" href="classXalanTransformer.html#a36">00662</a> <a class="code" href="classXalanTransformer.html#a36">getPoolAllTextNodes</a>()<font class="keyword"> const</font>
00663 <font class="keyword"> </font>{
00664 <font class="keywordflow">return</font> m_poolAllTextNodes;
00665 }
00666
00675 <font class="keywordtype">void</font>
<a name="l00676"></a><a class="code" href="classXalanTransformer.html#a37">00676</a> <a class="code" href="classXalanTransformer.html#a37">setPoolAllTextNodes</a>(<font class="keywordtype">bool</font> fPool)<font class="keyword"></font>
00677 <font class="keyword"> </font>{
00678 m_poolAllTextNodes = fPool;
00679 }
00680
00686 <a class="code" href="classProblemListener.html">ProblemListener</a>*
<a name="l00687"></a><a class="code" href="classXalanTransformer.html#a38">00687</a> <a class="code" href="classXalanTransformer.html#a38">getProblemListener</a>()<font class="keyword"> const</font>
00688 <font class="keyword"> </font>{
00689 <font class="keywordflow">return</font> m_problemListener;
00690 }
00691
00697 <font class="keywordtype">void</font>
<a name="l00698"></a><a class="code" href="classXalanTransformer.html#a39">00698</a> <a class="code" href="classXalanTransformer.html#a39">setProblemListener</a>(<a class="code" href="classProblemListener.html">ProblemListener</a>* theProblemListener)<font class="keyword"></font>
00699 <font class="keyword"> </font>{
00700 m_problemListener = theProblemListener;
00701 }
00702
00709 <font class="keyword">const</font> <font class="keywordtype">char</font>*
<a name="l00710"></a><a class="code" href="classXalanTransformer.html#a40">00710</a> <a class="code" href="classXalanTransformer.html#a40">getLastError</a>()<font class="keyword"> const</font>
00711 <font class="keyword"> </font>{
00712 assert(m_errorMessage.empty() == <font class="keyword">false</font>);
00713
00714 <font class="keywordflow">return</font> &amp;m_errorMessage[0];
00715 }
00716
00723 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00724"></a><a class="code" href="classXalanTransformer.html#a41">00724</a> <a class="code" href="classXalanTransformer.html#a41">getOutputEncoding</a>()<font class="keyword"> const</font>
00725 <font class="keyword"> </font>{
00726 <font class="keywordflow">return</font> m_outputEncoding;
00727 }
00728
00737 <font class="keywordtype">void</font>
<a name="l00738"></a><a class="code" href="classXalanTransformer.html#a42">00738</a> <a class="code" href="classXalanTransformer.html#a42">setOutputEncoding</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theEncoding)<font class="keyword"></font>
00739 <font class="keyword"> </font>{
00740 m_outputEncoding = theEncoding;
00741 }
00742
00748 <font class="keywordtype">int</font>
00749 <a class="code" href="classXalanTransformer.html#a43">getIndent</a>() <font class="keyword">const</font>;
00750
00756 <font class="keywordtype">void</font>
00757 <a class="code" href="classXalanTransformer.html#a44">setIndent</a>(<font class="keywordtype">int</font> indentAmount);
00758
<a name="l00762"></a><a class="code" href="classXalanTransformer.html#s14">00762</a> <font class="keyword">enum</font> eEscapeURLs
00763 {
00764 eEscapeURLsDefault, <font class="comment">// Use the value in the stylesheet</font>
00765 eEscapeURLsNo, <font class="comment">// Don't escape URLs</font>
00766 eEscapeURLsYes <font class="comment">// Escape URLs</font>
00767 };
00768
00776 eEscapeURLs
00777 <a class="code" href="classXalanTransformer.html#a45">getEscapeURLs</a>() <font class="keyword">const</font>;
00778
00786 <font class="keywordtype">void</font>
00787 <a class="code" href="classXalanTransformer.html#a46">setEscapeURLs</a>(eEscapeURLs value);
00788
<a name="l00793"></a><a class="code" href="classXalanTransformer.html#s15">00793</a> <font class="keyword">enum</font> eOmitMETATag
00794 {
00795 eOmitMETATagDefault, <font class="comment">// Use the value in the stylesheet</font>
00796 eOmitMETATagNo, <font class="comment">// Don't omit the META tag</font>
00797 eOmitMETATagYes <font class="comment">// Omit the META tag</font>
00798 };
00799
00807 eOmitMETATag
00808 <a class="code" href="classXalanTransformer.html#a47">getOmitMETATag</a>() <font class="keyword">const</font>;
00809
00817 <font class="keywordtype">void</font>
00818 <a class="code" href="classXalanTransformer.html#a48">setOmitMETATag</a>(eOmitMETATag value);
00819
00828 <font class="keywordtype">void</font>
<a name="l00829"></a><a class="code" href="classXalanTransformer.html#a49">00829</a> <a class="code" href="classXalanTransformer.html#a49">setWarningStream</a>(StreamType* theStream)<font class="keyword"></font>
00830 <font class="keyword"> </font>{
00831 m_warningStream = theStream;
00832 }
00833
00839 StreamType*
<a name="l00840"></a><a class="code" href="classXalanTransformer.html#a50">00840</a> <a class="code" href="classXalanTransformer.html#a50">getWarningStream</a>()<font class="keyword"> const</font>
00841 <font class="keyword"> </font>{
00842 <font class="keywordflow">return</font> m_warningStream;
00843 }
00844
<a name="l00845"></a><a class="code" href="classXalanTransformer.html#s1">00845</a> <font class="keyword">typedef</font> XalanVector&lt;const XalanCompiledStylesheet*&gt; CompiledStylesheetPtrVectorType;
<a name="l00846"></a><a class="code" href="classXalanTransformer.html#s2">00846</a> <font class="keyword">typedef</font> XalanVector&lt;const XalanParsedSource*&gt; ParsedSourcePtrVectorType;
<a name="l00847"></a><a class="code" href="classXalanTransformer.html#s3">00847</a> <font class="keyword">typedef</font> XALAN_STD_QUALIFIER pair&lt;XalanDOMString*, XalanDOMString*&gt; ParamPairType;
<a name="l00848"></a><a class="code" href="classXalanTransformer.html#s4">00848</a> <font class="keyword">typedef</font> XalanVector&lt;ParamPairType&gt; ParamPairVectorType;
<a name="l00849"></a><a class="code" href="classXalanTransformer.html#s5">00849</a> <font class="keyword">typedef</font> XALAN_STD_QUALIFIER pair&lt;XalanQNameByValue*, Function*&gt; FunctionPairType;
<a name="l00850"></a><a class="code" href="classXalanTransformer.html#s6">00850</a> <font class="keyword">typedef</font> XalanVector&lt;FunctionPairType&gt; FunctionParamPairVectorType;
<a name="l00851"></a><a class="code" href="classXalanTransformer.html#s7">00851</a> <font class="keyword">typedef</font> XalanVector&lt;TraceListener*&gt; TraceListenerVectorType;
00852
<a name="l00853"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html">00853</a> <font class="keyword">class </font>EnsureFunctionsInstallation
00854 {
00855 <font class="keyword">public</font>:
00856
<a name="l00857"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a0">00857</a> <a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a0">EnsureFunctionsInstallation</a>(MemoryManagerType&amp; theManager) :
00858 m_memoryManagement(theManager),
00859 m_release(false)
00860 {
00861 }
00862
00863 <a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a1">~EnsureFunctionsInstallation</a>();
00864
00865 <font class="keywordtype">void</font>
00866 <a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a2">install</a>();
00867
00868 <font class="keywordtype">void</font>
<a name="l00869"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a3">00869</a> <a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a3">release</a>()<font class="keyword"></font>
00870 <font class="keyword"> </font>{
00871 m_release = <font class="keyword">true</font>;
00872 }
00873
00874 <font class="keyword">private</font>:
00875 MemoryManagerType&amp; m_memoryManagement;
00876
00877 <font class="keywordtype">bool</font> m_release;
00878 };
00879
<a name="l00880"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html">00880</a> <font class="keyword">class </font>EnsureDestroyParsedSource
00881 {
00882 <font class="keyword">public</font>:
00883
<a name="l00884"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a0">00884</a> <a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a0">EnsureDestroyParsedSource</a>(
00885 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; theTransformer,
00886 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>* theParsedSource) :
00887 m_transformer(theTransformer),
00888 m_parsedSource(theParsedSource)
00889 {
00890 }
00891
<a name="l00892"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a1">00892</a> <a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a1">~EnsureDestroyParsedSource</a>()<font class="keyword"></font>
00893 <font class="keyword"> </font>{
00894 m_transformer.<a class="code" href="classXalanTransformer.html#a16">destroyParsedSource</a>(m_parsedSource);
00895 }
00896
00897 <font class="keyword">private</font>:
00898
00899 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; m_transformer;
00900
00901 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>* <font class="keyword">const</font> m_parsedSource;
00902 };
00903
<a name="l00904"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html">00904</a> <font class="keyword">struct </font>EnsureDestroyCompiledStylesheet
00905 {
<a name="l00906"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a0">00906</a> <a class="code" href="structXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a0">EnsureDestroyCompiledStylesheet</a>(
00907 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; theTransformer,
00908 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theCompiledStylesheet) :
00909 m_transformer(theTransformer),
00910 m_compiledStylesheet(theCompiledStylesheet)
00911 {
00912 }
00913
<a name="l00914"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a1">00914</a> <a class="code" href="structXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a1">~EnsureDestroyCompiledStylesheet</a>()<font class="keyword"></font>
00915 <font class="keyword"> </font>{
00916 m_transformer.<a class="code" href="classXalanTransformer.html#a14">destroyStylesheet</a>(m_compiledStylesheet);
00917 }
00918
00919 <font class="keyword">private</font>:
00920
00921 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; m_transformer;
00922
00923 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* <font class="keyword">const</font> m_compiledStylesheet;
00924 };
00925
<a name="l00926"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html">00926</a> <font class="keyword">struct </font>EnsureDestroyDocumentBuilder
00927 {
<a name="l00928"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#a0">00928</a> <a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#a0">EnsureDestroyDocumentBuilder</a>(
00929 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; theTransformer,
00930 <a class="code" href="classXalanDocumentBuilder.html">XalanDocumentBuilder</a>* theDocumentBuilder) :
00931 m_transformer(theTransformer),
00932 m_documentBuilder(theDocumentBuilder)
00933 {
00934 }
00935
<a name="l00936"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#a1">00936</a> <a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#a1">~EnsureDestroyDocumentBuilder</a>()<font class="keyword"></font>
00937 <font class="keyword"> </font>{
00938 m_transformer.<a class="code" href="classXalanTransformer.html#a18">destroyDocumentBuilder</a>(m_documentBuilder);
00939 }
00940
00941 <font class="keyword">private</font>:
00942
00943 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; m_transformer;
00944
00945 <a class="code" href="classXalanDocumentBuilder.html">XalanDocumentBuilder</a>* <font class="keyword">const</font> m_documentBuilder;
00946 };
00947 template &lt;class T&gt;
00948 <font class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</font>
00949 <font class="preprocessor"></font> <font class="keyword">struct </font>DeleteParamPairFunctor : <font class="keyword">public</font> unary_function&lt;T&amp;, void&gt;
00950 #else
<a name="l00951"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html">00951</a> struct DeleteParamPairFunctor : <font class="keyword">public</font> std::unary_function&lt;T&amp;, void&gt;
00952 #endif
00953 {
00954 <font class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</font>
00955 <font class="preprocessor"></font> <font class="keyword">typedef</font> unary_function&lt;T&amp;, void&gt; <a class="code" href="classstd_1_1unary__function.html">BaseClassType</a>;
00956 <font class="preprocessor">#else</font>
<a name="l00957"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#s0">00957</a> <font class="preprocessor"></font> <font class="keyword">typedef</font> <a class="code" href="classstd_1_1unary__function.html">std::unary_function&lt;T&amp;, void&gt;</a> <a class="code" href="classstd_1_1unary__function.html">BaseClassType</a>;
00958 <font class="preprocessor">#endif</font>
00959 <font class="preprocessor"></font>
<a name="l00960"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#s1">00960</a> <font class="keyword">typedef</font> <font class="keyword">typename</font> BaseClassType::result_type result_type;
<a name="l00961"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#s2">00961</a> <font class="keyword">typedef</font> <font class="keyword">typename</font> BaseClassType::argument_type argument_type;
00962
<a name="l00963"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a0">00963</a> <a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a0">DeleteParamPairFunctor</a>(MemoryManagerType&amp; theManager) :
00964 m_memoryManager(theManager)
00965 {
00966 }
00967
00968 template&lt;class PtrT&gt;
00969 <font class="keywordtype">void</font>
<a name="l00970"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a1">00970</a> <a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a1">deletePtr</a>(PtrT* ptr)<font class="keyword">const</font>
00971 {
00972 ptr-&gt;~PtrT();
00973 }
00974
00980 result_type
<a name="l00981"></a><a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a2">00981</a> <a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a2">operator()</a>(argument_type thePair)<font class="keyword"> const</font>
00982 <font class="keyword"> </font>{
00983 T&amp; tmpPair = const_cast&lt;T&amp;&gt;(thePair);
00984
00985 <font class="keywordflow">if</font> (tmpPair.first != 0)
00986 {
00987 <a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a1">deletePtr</a>(tmpPair.first);
00988
00989 m_memoryManager.deallocate((<font class="keywordtype">void</font>*)tmpPair.first);
00990 }
00991
00992 <font class="keywordflow">if</font> (tmpPair.second != 0)
00993 {
00994 <a class="code" href="structXalanTransformer_1_1DeleteParamPairFunctor.html#a1">deletePtr</a>(tmpPair.second);
00995
00996 m_memoryManager.deallocate((<font class="keywordtype">void</font>*)tmpPair.second);
00997 }
00998
00999
01000 }
01001
01002 <font class="keyword">private</font>:
01003
01004 MemoryManagerType&amp; m_memoryManager;
01005
01006 };
01007 <font class="keyword">protected</font>:
01008
01009 <font class="keyword">private</font>:
01010
01011 <font class="keywordtype">void</font>
01012 reset();
01013
01014 <font class="keyword">class </font>EnsureReset
01015 {
01016 <font class="keyword">public</font>:
01017
01018 <a class="code" href="classXalanTransformer.html#l0">EnsureReset</a>(<a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; theTransformer) :
01019 m_transformer(theTransformer)
01020 {
01021 }
01022
01023 ~EnsureReset();
01024
01025 <font class="keyword">private</font>:
01026
01027 <a class="code" href="classXalanTransformer.html">XalanTransformer</a>&amp; m_transformer;
01028 };
01029
<a name="l01030"></a><a class="code" href="classXalanTransformer.html#l0">01030</a> <font class="keyword">friend</font> <font class="keyword">class </font>EnsureReset;
01031
01032 <font class="keywordtype">int</font>
01033 doTransform(
01034 <font class="keyword">const</font> <a class="code" href="classXalanParsedSource.html">XalanParsedSource</a>&amp; theParsedXML,
01035 <font class="keyword">const</font> <a class="code" href="classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>* theCompiledStylesheet,
01036 <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>* theStylesheetSource,
01037 <font class="keyword">const</font> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; theResultTarget);
01038
01039
01040 <font class="comment">// Data members...</font>
01041 MemoryManagerType&amp; m_memoryManager;
01042
01043 CompiledStylesheetPtrVectorType m_compiledStylesheets;
01044
01045 ParsedSourcePtrVectorType m_parsedSources;
01046
01047 ParamPairVectorType m_paramPairs;
01048
01049 FunctionParamPairVectorType m_functionPairs;
01050
01051 TraceListenerVectorType m_traceListeners;
01052
01053 CharVectorType m_errorMessage;
01054
01055 <font class="keywordtype">bool</font> m_useValidation;
01056
01057 EntityResolverType* m_entityResolver;
01058
01059 ErrorHandlerType* m_errorHandler;
01060
01061 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_externalSchemaLocation;
01062
01063 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_externalNoNamespaceSchemaLocation;
01064
01065 <a class="code" href="classProblemListener.html">ProblemListener</a>* m_problemListener;
01066
01067 StreamType* m_warningStream;
01068
01069 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_outputEncoding;
01070
01071 <font class="keywordtype">bool</font> m_poolAllTextNodes;
01072
01073 <font class="comment">// This should always be the latest data member!!!</font>
01074 StylesheetExecutionContextDefault* m_stylesheetExecutionContext;
01075
01076 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>* s_emptyInputSource;
01077
01078 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXSLTInit.html">XSLTInit</a>* s_xsltInit;
01079 };
01080
01081
01082
01083 XALAN_CPP_NAMESPACE_END
01084
01085
01086
01087 <font class="preprocessor">#endif // XALANTRANSFORMER_HEADER_GUARD</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>