<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD> <BODY> <h2 align="center">Xalan-C++ API Documentation</h2> <h3 align="center">The Xalan C++ XSL Transformer Version 1.1</h3> </BODY> <!-- Generated by Doxygen 1.2.0 on Thu Feb 15 10:44:13 2001 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> <hr><h1>XercesParserLiaison.hpp</h1><a href="XercesParserLiaison.hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* </font>00002 <font class="comment"> * The Apache Software License, Version 1.1 </font>00003 <font class="comment"> * </font>00004 <font class="comment"> * </font>00005 <font class="comment"> * Copyright (c) 1999 The Apache Software Foundation. All rights </font>00006 <font class="comment"> * reserved. </font>00007 <font class="comment"> * </font>00008 <font class="comment"> * Redistribution and use in source and binary forms, with or without </font>00009 <font class="comment"> * modification, are permitted provided that the following conditions </font>00010 <font class="comment"> * are met: </font>00011 <font class="comment"> * </font>00012 <font class="comment"> * 1. Redistributions of source code must retain the above copyright </font>00013 <font class="comment"> * notice, this list of conditions and the following disclaimer. </font>00014 <font class="comment"> * </font>00015 <font class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </font>00016 <font class="comment"> * notice, this list of conditions and the following disclaimer in </font>00017 <font class="comment"> * the documentation and/or other materials provided with the </font>00018 <font class="comment"> * distribution. </font>00019 <font class="comment"> * </font>00020 <font class="comment"> * 3. The end-user documentation included with the redistribution, </font>00021 <font class="comment"> * if any, must include the following acknowledgment: </font>00022 <font class="comment"> * "This product includes software developed by the </font>00023 <font class="comment"> * Apache Software Foundation (http://www.apache.org/)." </font>00024 <font class="comment"> * Alternately, this acknowledgment may appear in the software itself, </font>00025 <font class="comment"> * if and wherever such third-party acknowledgments normally appear. </font>00026 <font class="comment"> * </font>00027 <font class="comment"> * 4. The names "Xalan" and "Apache Software Foundation" must </font>00028 <font class="comment"> * not be used to endorse or promote products derived from this </font>00029 <font class="comment"> * software without prior written permission. For written </font>00030 <font class="comment"> * permission, please contact apache@apache.org. </font>00031 <font class="comment"> * </font>00032 <font class="comment"> * 5. Products derived from this software may not be called "Apache", </font>00033 <font class="comment"> * nor may "Apache" appear in their name, without prior written </font>00034 <font class="comment"> * permission of the Apache Software Foundation. </font>00035 <font class="comment"> * </font>00036 <font class="comment"> * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED </font>00037 <font class="comment"> * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES </font>00038 <font class="comment"> * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE </font>00039 <font class="comment"> * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR </font>00040 <font class="comment"> * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </font>00041 <font class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </font>00042 <font class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF </font>00043 <font class="comment"> * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND </font>00044 <font class="comment"> * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, </font>00045 <font class="comment"> * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT </font>00046 <font class="comment"> * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF </font>00047 <font class="comment"> * SUCH DAMAGE. </font>00048 <font class="comment"> * ==================================================================== </font>00049 <font class="comment"> * </font>00050 <font class="comment"> * This software consists of voluntary contributions made by many </font>00051 <font class="comment"> * individuals on behalf of the Apache Software Foundation and was </font>00052 <font class="comment"> * originally based on software copyright (c) 1999, International </font>00053 <font class="comment"> * Business Machines, Inc., http://www.ibm.com. For more </font>00054 <font class="comment"> * information on the Apache Software Foundation, please see </font>00055 <font class="comment"> * <http://www.apache.org/>. </font>00056 <font class="comment"> */</font> 00057 <font class="preprocessor">#if !defined(XercesPARSERLIAISON_HEADER_GUARD_1357924680) </font><a name="l00058"></a><a class="code" href="XercesParserLiaison.hpp.html#a0">00058</a> <font class="preprocessor"></font><font class="preprocessor">#define XercesPARSERLIAISON_HEADER_GUARD_1357924680 </font>00059 <font class="preprocessor"></font> 00060 00061 <font class="comment">// Base include file. Must be first.</font> 00062 <font class="preprocessor">#include <<a class="code" href="XercesParserLiaisonDefinitions.hpp.html">XercesParserLiaison/XercesParserLiaisonDefinitions.hpp</a>></font> 00063 00064 00065 00066 <font class="comment">// Standard Library header files.</font> 00067 <font class="preprocessor">#include <map></font> 00068 00069 00070 00071 <font class="comment">// Xerces DOM header files</font> 00072 <font class="preprocessor">#include <util/XercesDefs.hpp></font> 00073 <font class="preprocessor">#include <sax/ErrorHandler.hpp></font> 00074 <font class="preprocessor">#include <dom/DOM_Document.hpp></font> 00075 00076 00077 00078 <font class="comment">// Base class header file.</font> 00079 <font class="preprocessor">#include <<a class="code" href="XMLParserLiaison.hpp.html">XMLSupport/XMLParserLiaison.hpp</a>></font> 00080 00081 00082 00083 <font class="keyword">class </font>DOMParser; 00084 <font class="keyword">class </font><a class="code" href="class_domsupport.html">DOMSupport</a>; 00085 <font class="keyword">class </font>EntityResolver; 00086 <font class="keyword">class </font><a class="code" href="class_inputsource.html">InputSource</a>; 00087 <font class="keyword">class </font>SAXParser; 00088 <font class="keyword">class </font><a class="code" href="class_xercesdomsupport.html">XercesDOMSupport</a>; 00089 <font class="keyword">class </font><a class="code" href="class_xercesdocumentbridge.html">XercesDocumentBridge</a>; 00090 <font class="keyword">class </font>XSLProcessor; 00091 00092 00093 <a name="l00094"></a><a class="code" href="class_xercesparserliaison.html">00094</a> <font class="keyword">class </font>XALAN_XERCESPARSERLIAISON_EXPORT <a class="code" href="class_xercesparserliaison.html">XercesParserLiaison</a> : <font class="keyword">public</font> <a class="code" href="class_xmlparserliaison.html">XMLParserLiaison</a>, <font class="keyword">public</font> <a class="code" href="class_errorhandler.html">ErrorHandler</a> 00095 { 00096 <font class="keyword">public</font>: 00097 00103 <a class="code" href="class_xercesparserliaison.html#a0">XercesParserLiaison</a>(<a class="code" href="class_xercesdomsupport.html">XercesDOMSupport</a>& theSupport); 00104 00105 <font class="keyword">virtual</font> 00106 <a class="code" href="class_xercesparserliaison.html#a1">~XercesParserLiaison</a>(); 00107 00108 <font class="comment">// These interfaces are inherited from XMLParserLiaison...</font> 00109 00110 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00111 <a class="code" href="class_xmlparserliaison.html#a2">reset</a>(); 00112 00113 <font class="keyword">virtual</font> <a class="code" href="class_executioncontext.html">ExecutionContext</a>* 00114 <a class="code" href="class_xmlparserliaison.html#a3">getExecutionContext</a>() <font class="keyword">const</font>; 00115 00116 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00117 <a class="code" href="class_xmlparserliaison.html#a4">setExecutionContext</a>(<a class="code" href="class_executioncontext.html">ExecutionContext</a>& theContext); 00118 00119 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00120 <a class="code" href="class_xmlparserliaison.html#a5">supportsSAX</a>() <font class="keyword">const</font>; 00121 00122 <font class="keyword">virtual</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* 00123 <a class="code" href="class_xmlparserliaison.html#a6">parseXMLStream</a>( 00124 <font class="keyword">const</font> <a class="code" href="class_inputsource.html">InputSource</a>& reader, 00125 <font class="keyword">const</font> <a class="code" href="class_xalandomstring.html">XalanDOMString</a>& identifier = XalanDOMString()); 00126 00127 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00128 <a class="code" href="class_xmlparserliaison.html#a6">parseXMLStream</a>( 00129 <font class="keyword">const</font> <a class="code" href="class_inputsource.html">InputSource</a>& urlInputSource, 00130 <a class="code" href="class_documenthandler.html">DocumentHandler</a>& handler, 00131 <font class="keyword">const</font> <a class="code" href="class_xalandomstring.html">XalanDOMString</a>& identifier = XalanDOMString()); 00132 00133 <font class="comment">// Create a non-thread safe document, with no synchronization and no bridge...</font> 00134 <font class="keyword">virtual</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* 00135 <a class="code" href="class_xmlparserliaison.html#a8">createDocument</a>(); 00136 00137 <font class="comment">// Create a non-thread safe document, with no synchronization and no bridge...</font> 00138 <font class="keyword">virtual</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* 00139 <a class="code" href="class_xmlparserliaison.html#a9">createDOMFactory</a>(); 00140 00141 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00142 <a class="code" href="class_xmlparserliaison.html#a10">destroyDocument</a>(<a class="code" href="class_xalandocument.html">XalanDocument</a>* theDocument); 00143 00144 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00145 <a class="code" href="class_xmlparserliaison.html#a12">setSpecialCharacters</a>(<font class="keyword">const</font> <a class="code" href="class_xalandomstring.html">XalanDOMString</a>& str); 00146 00147 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="class_xalandomstring.html">XalanDOMString</a>& 00148 <a class="code" href="class_xmlparserliaison.html#a11">getSpecialCharacters</a>() <font class="keyword">const</font>; 00149 00150 <font class="keyword">virtual</font> <font class="keywordtype">int</font> 00151 <a class="code" href="class_xmlparserliaison.html#a13">getIndent</a>() <font class="keyword">const</font>; 00152 00153 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00154 <a class="code" href="class_xmlparserliaison.html#a14">setIndent</a>(<font class="keywordtype">int</font> i); 00155 00156 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00157 <a class="code" href="class_xmlparserliaison.html#a15">getShouldExpandEntityRefs</a>() <font class="keyword">const</font>; 00158 00159 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00160 <a class="code" href="class_xmlparserliaison.html#a16">SetShouldExpandEntityRefs</a>(<font class="keywordtype">bool</font> b); 00161 00162 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00163 <a class="code" href="class_xmlparserliaison.html#a17">getUseValidation</a>() <font class="keyword">const</font>; 00164 00165 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00166 <a class="code" href="class_xmlparserliaison.html#a18">setUseValidation</a>(<font class="keywordtype">bool</font> b); 00167 00168 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="class_xalandomstring.html">XalanDOMString</a> 00169 <a class="code" href="class_xmlparserliaison.html#a19">getParserDescription</a>() <font class="keyword">const</font>; 00170 00171 00172 <font class="comment">// These interfaces are new to XercesParserLiaison...</font> 00173 00184 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00185 <a class="code" href="class_xercesparserliaison.html#a20">getIncludeIgnorableWhitespace</a>() <font class="keyword">const</font>; 00186 00205 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00206 <a class="code" href="class_xercesparserliaison.html#a21">setIncludeIgnorableWhitespace</a>(<font class="keywordtype">bool</font> include); 00207 00214 <font class="keyword">virtual</font> <a class="code" href="class_errorhandler.html">ErrorHandler</a>* 00215 <a class="code" href="class_xercesparserliaison.html#a23">getErrorHandler</a>(); 00216 00223 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="class_errorhandler.html">ErrorHandler</a>* 00224 <a class="code" href="class_xercesparserliaison.html#a23">getErrorHandler</a>() <font class="keyword">const</font>; 00225 00236 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00237 <a class="code" href="class_xercesparserliaison.html#a24">setErrorHandler</a>(<a class="code" href="class_errorhandler.html">ErrorHandler</a>* handler); 00238 00248 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00249 <a class="code" href="class_xercesparserliaison.html#a25">getDoNamespaces</a>() <font class="keyword">const</font>; 00250 00268 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00269 <a class="code" href="class_xercesparserliaison.html#a26">setDoNamespaces</a>(<font class="keywordtype">bool</font> newState); 00270 00280 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> 00281 <a class="code" href="class_xercesparserliaison.html#a27">getExitOnFirstFatalError</a>() <font class="keyword">const</font>; 00282 00298 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00299 <a class="code" href="class_xercesparserliaison.html#a28">setExitOnFirstFatalError</a>(<font class="keywordtype">bool</font> newState); 00300 00307 <font class="keyword">virtual</font> EntityResolver* 00308 <a class="code" href="class_xercesparserliaison.html#a30">getEntityResolver</a>(); 00309 00316 <font class="keyword">virtual</font> <font class="keyword">const</font> EntityResolver* 00317 <a class="code" href="class_xercesparserliaison.html#a30">getEntityResolver</a>() <font class="keyword">const</font>; 00318 00330 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00331 <a class="code" href="class_xercesparserliaison.html#a31">setEntityResolver</a>(EntityResolver* resolver); 00332 00342 <font class="keyword">virtual</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* 00343 <a class="code" href="class_xmlparserliaison.html#a8">createDocument</a>(<font class="keyword">const</font> DOM_Document& theXercesDocument); 00344 00354 <a class="code" href="class_xercesdocumentbridge.html">XercesDocumentBridge</a>* 00355 <a class="code" href="class_xercesparserliaison.html#a33">mapDocument</a>(<font class="keyword">const</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* theDocument) <font class="keyword">const</font>; 00356 00366 DOM_Document 00367 <a class="code" href="class_xercesparserliaison.html#a34">mapXercesDocument</a>(<font class="keyword">const</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>* theDocument) <font class="keyword">const</font>; 00368 00369 <font class="keyword">static</font> <font class="keywordtype">void</font> 00370 <a class="code" href="class_xercesparserliaison.html#d0">formatErrorMessage</a>(<font class="keyword">const</font> SAXParseException& e, <a class="code" href="class_xalandomstring.html">XalanDOMString</a>& theMessage); 00371 00372 <font class="comment">// Implementations for SAX ErrorHandler</font> 00373 00374 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00375 <a class="code" href="class_xercesparserliaison.html#a35">warning</a>(<font class="keyword">const</font> SAXParseException& exception); 00376 00377 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00378 <a class="code" href="class_xercesparserliaison.html#a36">error</a>(<font class="keyword">const</font> SAXParseException& exception); 00379 00380 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00381 <a class="code" href="class_xercesparserliaison.html#a37">fatalError</a>(<font class="keyword">const</font> SAXParseException& exception); 00382 00383 <font class="keyword">virtual</font> <font class="keywordtype">void</font> 00384 <a class="code" href="class_xercesparserliaison.html#a38">resetErrors</a>(); 00385 00386 <font class="preprocessor">#if defined(XALAN_NO_NAMESPACES) </font>00387 <font class="preprocessor"></font> <font class="keyword">typedef</font> map<<font class="keyword">const</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>*, 00388 <a class="code" href="class_xercesdocumentbridge.html">XercesDocumentBridge</a>*, 00389 less<<font class="keyword">const</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>*> > DocumentMapType; 00390 <font class="preprocessor">#else </font>00391 <font class="preprocessor"></font> <font class="keyword">typedef</font> std::map<<font class="keyword">const</font> <a class="code" href="class_xalandocument.html">XalanDocument</a>*, <a name="l00392"></a><a class="code" href="class_xercesparserliaison.html#s0">00392</a> <a class="code" href="class_xercesdocumentbridge.html">XercesDocumentBridge</a>*> DocumentMapType; 00393 <font class="preprocessor">#endif </font>00394 <font class="preprocessor"></font> 00400 <font class="keywordtype">bool</font> <a name="l00401"></a><a class="code" href="class_xercesparserliaison.html#a39">00401</a> <a class="code" href="class_xercesparserliaison.html#a39">getBuildBridgeNodes</a>()<font class="keyword"> const </font>00402 <font class="keyword"> </font>00403 <font class="keyword"> </font>{ 00404 <font class="keywordflow">return</font> m_buildBridge; 00405 } 00406 00416 <font class="keywordtype">void</font> <a name="l00417"></a><a class="code" href="class_xercesparserliaison.html#a40">00417</a> <a class="code" href="class_xercesparserliaison.html#a40">setBuildBridgeNodes</a>(<font class="keywordtype">bool</font> newState)<font class="keyword"> </font>00418 <font class="keyword"> </font>{ 00419 m_buildBridge = newState; 00420 00421 <font class="keywordflow">if</font> (newState == <font class="keyword">false</font>) 00422 { 00423 m_threadSafe = <font class="keyword">false</font>; 00424 } 00425 } 00426 00436 <font class="keywordtype">bool</font> <a name="l00437"></a><a class="code" href="class_xercesparserliaison.html#a41">00437</a> <a class="code" href="class_xercesparserliaison.html#a41">getThreadSafe</a>()<font class="keyword"> const </font>00438 <font class="keyword"> </font>00439 <font class="keyword"> </font>{ 00440 <font class="keywordflow">return</font> m_threadSafe; 00441 } 00442 00452 <font class="keywordtype">void</font> <a name="l00453"></a><a class="code" href="class_xercesparserliaison.html#a42">00453</a> <a class="code" href="class_xercesparserliaison.html#a42">setThreadSafe</a>(<font class="keywordtype">bool</font> newState)<font class="keyword"> </font>00454 <font class="keyword"> </font>{ 00455 m_threadSafe = newState; 00456 00457 <font class="keywordflow">if</font> (m_threadSafe == <font class="keyword">true</font>) 00458 { 00459 m_buildBridge = <font class="keyword">true</font>; 00460 } 00461 } 00462 00463 <font class="keyword">protected</font>: 00464 00465 <font class="keyword">virtual</font> DOMParser* 00466 <a class="code" href="class_xercesparserliaison.html#b0">CreateDOMParser</a>(); 00467 00468 <font class="keyword">virtual</font> SAXParser* 00469 <a class="code" href="class_xercesparserliaison.html#b1">CreateSAXParser</a>(); 00470 00479 <font class="keyword">virtual</font> <a class="code" href="class_xercesdocumentbridge.html">XercesDocumentBridge</a>* 00480 <a class="code" href="class_xmlparserliaison.html#a8">createDocument</a>( 00481 <font class="keyword">const</font> DOM_Document& theXercesDocument, 00482 <font class="keywordtype">bool</font> threadSafe, 00483 <font class="keywordtype">bool</font> buildBridge); 00484 00485 <font class="keyword">private</font>: 00486 00487 <font class="comment">// Data members...</font> 00488 <a class="code" href="class_xercesdomsupport.html">XercesDOMSupport</a>& m_DOMSupport; 00489 00490 <a class="code" href="class_xalandomstring.html">XalanDOMString</a> m_specialCharacters; 00491 00492 <font class="keywordtype">int</font> m_indent; 00493 00494 <font class="keywordtype">bool</font> m_shouldExpandEntityRefs; 00495 00496 <font class="keywordtype">bool</font> m_useValidation; 00497 00498 <font class="keywordtype">bool</font> m_includeIgnorableWhitespace; 00499 00500 <font class="keywordtype">bool</font> m_doNamespaces; 00501 00502 <font class="keywordtype">bool</font> m_exitOnFirstFatalError; 00503 00504 EntityResolver* m_entityResolver; 00505 00506 <a class="code" href="class_errorhandler.html">ErrorHandler</a>* m_errorHandler; 00507 00508 DocumentMapType m_documentMap; 00509 00510 <font class="keywordtype">bool</font> m_buildBridge; 00511 00512 <font class="keywordtype">bool</font> m_threadSafe; 00513 00514 <a class="code" href="class_executioncontext.html">ExecutionContext</a>* m_executionContext; 00515 }; 00516 00517 00518 00519 <font class="preprocessor">#endif // XercesPARSERLIAISON_HEADER_GUARD_1357924680 </font></div></pre><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="images/dot.gif" width="1"></TD></TR></TABLE> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%"> <TR> <TD WIDTH="80%" VALIGN="TOP"> <P ALIGN="CENTER"><B>Xalan-C++ XSL Transformer Version 1.1</B><BR> Copyright © 2000, 2001 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"> </TD> </TR> </TABLE>