blob: 0b471a641e1fed264d335bb743ee52948ddfe730 [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>FormatterToXML.hpp</h1><a href="FormatterToXML_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(FORMATTERTOXML_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="FormatterToXML_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define FORMATTERTOXML_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019
00020
00021
00022 <font class="comment">// Base include file. Must be first.</font>
00023 <font class="preprocessor">#include &lt;<a class="code" href="XMLSupportDefinitions_8hpp.html">xalanc/XMLSupport/XMLSupportDefinitions.hpp</a>&gt;</font>
00024
00025
00026
00027 <font class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</font>
00028
00029
00030
00031 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00032
00033
00034
00035 <font class="preprocessor">#include &lt;<a class="code" href="DOMStringHelper_8hpp.html">xalanc/PlatformSupport/DOMStringHelper.hpp</a>&gt;</font>
00036 <font class="preprocessor">#include &lt;<a class="code" href="XalanUnicode_8hpp.html">xalanc/PlatformSupport/XalanUnicode.hpp</a>&gt;</font>
00037
00038
00039
00040 <font class="comment">// Base class header file.</font>
00041 <font class="preprocessor">#include &lt;<a class="code" href="FormatterListener_8hpp.html">xalanc/PlatformSupport/FormatterListener.hpp</a>&gt;</font>
00042
00043
00044
00045 XALAN_CPP_NAMESPACE_BEGIN
00046
00047
00048
<a name="l00049"></a><a class="code" href="FormatterToXML_8hpp.html#a1">00049</a> <font class="keyword">class </font><a class="code" href="classWriter.html">Writer</a>;
00050 <font class="keyword">class </font><a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>;
00051
00052
00053
<a name="l00057"></a><a class="code" href="classFormatterToXML.html">00057</a> <font class="keyword">class </font>XALAN_XMLSUPPORT_EXPORT <a class="code" href="classFormatterToXML.html">FormatterToXML</a> : <font class="keyword">public</font> <a class="code" href="classFormatterListener.html">FormatterListener</a>
00058 {
00059 <font class="keyword">public</font>:
00060
<a name="l00061"></a><a class="code" href="classFormatterToXML.html#s4">00061</a> <font class="keyword">enum</font> eDummy
00062 {
00063 eDefaultIndentAmount = 0
00064 };
00065
00087 <a class="code" href="classFormatterToXML.html#a0">FormatterToXML</a>(
00088 <a class="code" href="classWriter.html">Writer</a>&amp; writer,
00089 <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()),
00090 <font class="keywordtype">bool</font> doIndent = <font class="keyword">false</font>,
00091 <font class="keywordtype">int</font> indent = eDefaultIndentAmount,
00092 <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()),
00093 <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()),
00094 <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()),
00095 <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()),
00096 <font class="keywordtype">bool</font> xmlDecl = <font class="keyword">true</font>,
00097 <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()),
00098 eFormat format = OUTPUT_METHOD_XML,
00099 <font class="keywordtype">bool</font> fBufferData = <font class="keyword">true</font>,
00100 MemoryManagerType&amp; theManager XALAN_DEFAULT_MEMMGR);
00101
00102 <font class="keyword">static</font> <a class="code" href="classFormatterToXML.html">FormatterToXML</a>*
00103 <a class="code" href="classFormatterToXML.html#d0">create</a>(
00104 MemoryManagerType&amp; theManager,
00105 <a class="code" href="classWriter.html">Writer</a>&amp; writer,
00106 <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()),
00107 <font class="keywordtype">bool</font> doIndent = <font class="keyword">false</font>,
00108 <font class="keywordtype">int</font> indent = eDefaultIndentAmount,
00109 <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()),
00110 <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()),
00111 <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()),
00112 <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()),
00113 <font class="keywordtype">bool</font> xmlDecl = <font class="keyword">true</font>,
00114 <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()),
00115 eFormat format = OUTPUT_METHOD_XML,
00116 <font class="keywordtype">bool</font> fBufferData = <font class="keyword">true</font>);
00117
00118 <font class="keyword">virtual</font>
00119 <a class="code" href="classFormatterToXML.html#a1">~FormatterToXML</a>();
00120
00121 MemoryManagerType&amp;
<a name="l00122"></a><a class="code" href="classFormatterToXML.html#a2">00122</a> <a class="code" href="classFormatterToXML.html#a2">getMemoryManager</a>()<font class="keyword"></font>
00123 <font class="keyword"> </font>{
00124 <font class="keywordflow">return</font> m_stringBuffer.<a class="code" href="classXalanDOMString.html#a72">getMemoryManager</a>();
00125 }
00126
00127 <font class="comment">// These methods are inherited from FormatterListener ...</font>
00128
00129 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00130 <a class="code" href="classFormatterToXML.html#a3">setDocumentLocator</a>(<font class="keyword">const</font> LocatorType* <font class="keyword">const</font> locator);
00131
00132 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00133 <a class="code" href="classFormatterToXML.html#a4">startDocument</a>();
00134
00135 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00136 <a class="code" href="classFormatterToXML.html#a5">endDocument</a>();
00137
00138 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00139 <a class="code" href="classFormatterToXML.html#a6">startElement</a>(
00140 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> name,
00141 AttributeListType&amp; attrs);
00142
00143 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00144 <a class="code" href="classFormatterToXML.html#a7">endElement</a>(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font> name);
00145
00146 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00147 <a class="code" href="classFormatterToXML.html#a8">characters</a>(
00148 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> chars,
00149 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> length);
00150
00151 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00152 <a class="code" href="classFormatterToXML.html#a9">charactersRaw</a>(
00153 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> chars,
00154 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> length);
00155
00156 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00157 <a class="code" href="classFormatterToXML.html#a10">entityReference</a>(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font> name);
00158
00159 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00160 <a class="code" href="classFormatterToXML.html#a11">ignorableWhitespace</a>(
00161 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> chars,
00162 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> length);
00163
00164 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00165 <a class="code" href="classFormatterToXML.html#a12">processingInstruction</a>(
00166 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> target,
00167 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> data);
00168
00169
00170 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00171 <a class="code" href="classFormatterToXML.html#a13">resetDocument</a>();
00172
00173 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00174 <a class="code" href="classFormatterToXML.html#a14">comment</a>(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font> data);
00175
00176 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00177 <a class="code" href="classFormatterToXML.html#a15">cdata</a>(
00178 <font class="keyword">const</font> XMLCh* <font class="keyword">const</font> ch,
00179 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> length);
00180
00181 <font class="keyword">virtual</font> <a class="code" href="classWriter.html">Writer</a>*
00182 <a class="code" href="classFormatterToXML.html#a16">getWriter</a>() <font class="keyword">const</font>;
00183
00184 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00185 <a class="code" href="classFormatterToXML.html#a17">getDoctypeSystem</a>() <font class="keyword">const</font>;
00186
00187 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00188 <a class="code" href="classFormatterToXML.html#a18">getDoctypePublic</a>() <font class="keyword">const</font>;
00189
00190 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00191 <a class="code" href="classFormatterToXML.html#a19">getEncoding</a>() <font class="keyword">const</font>;
00192
00193 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00194 <a class="code" href="classFormatterToXML.html#a20">getMediaType</a>() <font class="keyword">const</font>;
00195
00196 <font class="keyword">virtual</font> <font class="keywordtype">int</font>
00197 <a class="code" href="classFormatterToXML.html#a21">getIndent</a>() <font class="keyword">const</font>;
00198
00199 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00200"></a><a class="code" href="classFormatterToXML.html#a22">00200</a> <a class="code" href="classFormatterToXML.html#a22">getVersion</a>()<font class="keyword"> const</font>
00201 <font class="keyword"> </font>{
00202 <font class="keywordflow">return</font> m_version;
00203 }
00204
00205 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00206"></a><a class="code" href="classFormatterToXML.html#a23">00206</a> <a class="code" href="classFormatterToXML.html#a23">getStandalone</a>()<font class="keyword"> const</font>
00207 <font class="keyword"> </font>{
00208 <font class="keywordflow">return</font> m_standalone;
00209 }
00210
00211 <font class="keywordtype">bool</font>
<a name="l00212"></a><a class="code" href="classFormatterToXML.html#a24">00212</a> <a class="code" href="classFormatterToXML.html#a24">getShouldWriteXMLHeader</a>()<font class="keyword"> const</font>
00213 <font class="keyword"> </font>{
00214 <font class="keywordflow">return</font> m_shouldWriteXMLHeader;
00215 }
00216
00217 <font class="keywordtype">void</font>
<a name="l00218"></a><a class="code" href="classFormatterToXML.html#a25">00218</a> <a class="code" href="classFormatterToXML.html#a25">setShouldWriteXMLHeader</a>(<font class="keywordtype">bool</font> b)<font class="keyword"></font>
00219 <font class="keyword"> </font>{
00220 m_shouldWriteXMLHeader = b;
00221 }
00222
00223 <font class="keywordtype">bool</font>
<a name="l00224"></a><a class="code" href="classFormatterToXML.html#a26">00224</a> <a class="code" href="classFormatterToXML.html#a26">getStripCData</a>()<font class="keyword"> const</font>
00225 <font class="keyword"> </font>{
00226 <font class="keywordflow">return</font> m_stripCData;
00227 }
00228
00229 <font class="keywordtype">void</font>
<a name="l00230"></a><a class="code" href="classFormatterToXML.html#a27">00230</a> <a class="code" href="classFormatterToXML.html#a27">setStripCData</a>(<font class="keywordtype">bool</font> b)<font class="keyword"></font>
00231 <font class="keyword"> </font>{
00232 m_stripCData = b;
00233 }
00234
00235 <font class="keywordtype">bool</font>
<a name="l00236"></a><a class="code" href="classFormatterToXML.html#a28">00236</a> <a class="code" href="classFormatterToXML.html#a28">getEscapeCData</a>()<font class="keyword"> const</font>
00237 <font class="keyword"> </font>{
00238 <font class="keywordflow">return</font> m_escapeCData;
00239 }
00240
00241 <font class="keywordtype">void</font>
<a name="l00242"></a><a class="code" href="classFormatterToXML.html#a29">00242</a> <a class="code" href="classFormatterToXML.html#a29">setEscapeCData</a>(<font class="keywordtype">bool</font> b)<font class="keyword"></font>
00243 <font class="keyword"> </font>{
00244 m_escapeCData = b;
00245 }
00246
00247 <font class="keywordtype">bool</font>
<a name="l00248"></a><a class="code" href="classFormatterToXML.html#a30">00248</a> <a class="code" href="classFormatterToXML.html#a30">getDoIndent</a>()<font class="keyword"> const</font>
00249 <font class="keyword"> </font>{
00250 <font class="keywordflow">return</font> m_doIndent;
00251 }
00252
00253 <font class="keywordtype">void</font>
<a name="l00254"></a><a class="code" href="classFormatterToXML.html#a31">00254</a> <a class="code" href="classFormatterToXML.html#a31">setDoIndent</a>(<font class="keywordtype">bool</font> value)<font class="keyword"></font>
00255 <font class="keyword"> </font>{
00256 m_doIndent = value;
00257 }
00258
00259 <font class="keywordtype">void</font>
<a name="l00260"></a><a class="code" href="classFormatterToXML.html#a32">00260</a> <a class="code" href="classFormatterToXML.html#a32">setIndent</a>(<font class="keywordtype">int</font> value)<font class="keyword"></font>
00261 <font class="keyword"> </font>{
00262 m_indent = value;
00263 }
00264
00265
<a name="l00266"></a><a class="code" href="classFormatterToXML.html#s0">00266</a> <font class="keyword">typedef</font> XalanVector&lt;bool&gt; BoolStackType;
<a name="l00267"></a><a class="code" href="classFormatterToXML.html#s1">00267</a> <font class="keyword">typedef</font> XalanVector&lt;XalanDOMChar&gt; DOMCharBufferType;
<a name="l00268"></a><a class="code" href="classFormatterToXML.html#s2">00268</a> <font class="keyword">typedef</font> XalanVector&lt;char&gt; ByteBufferType;
00269
00270
00271 <font class="keyword">protected</font>:
00272
<a name="l00276"></a><a class="code" href="classFormatterToXML.html#n0">00276</a> <a class="code" href="classWriter.html">Writer</a>* <font class="keyword">const</font> m_writer;
00277
<a name="l00281"></a><a class="code" href="classFormatterToXML.html#n1">00281</a> <a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>* <font class="keyword">const</font> m_stream;
00282
00286 <font class="keywordtype">void</font>
00287 <a class="code" href="classFormatterToXML.html#b0">outputLineSep</a>();
00288
00289 <font class="keyword">typedef</font> void (FormatterToXML::*AccumCharFunctionType)(XalanDOMChar);
00290
00291 <font class="keyword">typedef</font> void (FormatterToXML::*AccumStringFunctionType)(<font class="keyword">const</font> XalanDOMChar*);
00292
00293 <font class="keyword">typedef</font> void (FormatterToXML::*AccumDOMStringFunctionType)(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;);
00294
00295 <font class="keyword">typedef</font> void (FormatterToXML::*AccumArrayFunctionType)(
00296 <font class="keyword">const</font> XalanDOMChar[],
00297 XalanDOMString::size_type,
00298 XalanDOMString::size_type);
00299
00300 <font class="keyword">typedef</font> void (FormatterToXML::*FlushFunctionType)();
00301
00311 <font class="keywordtype">void</font>
<a name="l00312"></a><a class="code" href="classFormatterToXML.html#b1">00312</a> <a class="code" href="classFormatterToXML.html#b1">accumName</a>(XalanDOMChar ch)<font class="keyword"></font>
00313 <font class="keyword"> </font>{
00314 assert(m_accumNameCharFunction != 0);
00315
00316 (this-&gt;*m_accumNameCharFunction)(ch);
00317 }
00318
00324 <font class="keywordtype">void</font>
<a name="l00325"></a><a class="code" href="classFormatterToXML.html#b2">00325</a> <a class="code" href="classFormatterToXML.html#b2">accumContent</a>(XalanDOMChar ch)<font class="keyword"></font>
00326 <font class="keyword"> </font>{
00327 assert(m_accumContentCharFunction != 0);
00328
00329 (this-&gt;*m_accumContentCharFunction)(ch);
00330 }
00331
00342 <font class="keywordtype">void</font>
<a name="l00343"></a><a class="code" href="classFormatterToXML.html#b3">00343</a> <a class="code" href="classFormatterToXML.html#b1">accumName</a>(<font class="keyword">const</font> XalanDOMChar* chars)<font class="keyword"></font>
00344 <font class="keyword"> </font>{
00345 assert(m_accumNameStringFunction != 0);
00346
00347 (this-&gt;*m_accumNameStringFunction)(chars);
00348 }
00349
00356 <font class="keywordtype">void</font>
<a name="l00357"></a><a class="code" href="classFormatterToXML.html#b4">00357</a> <a class="code" href="classFormatterToXML.html#b2">accumContent</a>(<font class="keyword">const</font> XalanDOMChar* chars)<font class="keyword"></font>
00358 <font class="keyword"> </font>{
00359 assert(m_accumContentStringFunction != 0);
00360
00361 (this-&gt;*m_accumContentStringFunction)(chars);
00362 }
00363
00375 <font class="keywordtype">void</font>
<a name="l00376"></a><a class="code" href="classFormatterToXML.html#b5">00376</a> <a class="code" href="classFormatterToXML.html#b1">accumName</a>(
00377 <font class="keyword">const</font> XalanDOMChar chars[],
00378 XalanDOMString::size_type start,
00379 XalanDOMString::size_type length)<font class="keyword"></font>
00380 <font class="keyword"> </font>{
00381 assert(m_accumNameArrayFunction != 0);
00382
00383 (this-&gt;*m_accumNameArrayFunction)(chars, start, length);
00384 }
00385
00393 <font class="keywordtype">void</font>
<a name="l00394"></a><a class="code" href="classFormatterToXML.html#b6">00394</a> <a class="code" href="classFormatterToXML.html#b2">accumContent</a>(
00395 <font class="keyword">const</font> XalanDOMChar chars[],
00396 XalanDOMString::size_type start,
00397 XalanDOMString::size_type length)<font class="keyword"></font>
00398 <font class="keyword"> </font>{
00399 assert(m_accumContentArrayFunction != 0);
00400
00401 (this-&gt;*m_accumContentArrayFunction)(chars, start, length);
00402 }
00403
00413 <font class="keywordtype">void</font>
<a name="l00414"></a><a class="code" href="classFormatterToXML.html#b7">00414</a> <a class="code" href="classFormatterToXML.html#b1">accumName</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str)<font class="keyword"></font>
00415 <font class="keyword"> </font>{
00416 assert(m_accumNameDOMStringFunction != 0);
00417
00418 (this-&gt;*m_accumNameDOMStringFunction)(str);
00419 }
00420
00426 <font class="keywordtype">void</font>
<a name="l00427"></a><a class="code" href="classFormatterToXML.html#b8">00427</a> <a class="code" href="classFormatterToXML.html#b2">accumContent</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str)<font class="keyword"></font>
00428 <font class="keyword"> </font>{
00429 assert(m_accumContentDOMStringFunction != 0);
00430
00431 (this-&gt;*m_accumContentDOMStringFunction)(str);
00432 }
00433
00437 XalanDOMString::size_type
00438 <a class="code" href="classFormatterToXML.html#b9">accumDefaultEscape</a>(
00439 XalanDOMChar ch,
00440 XalanDOMString::size_type i,
00441 <font class="keyword">const</font> XalanDOMChar chars[],
00442 XalanDOMString::size_type len,
00443 <font class="keywordtype">bool</font> escLF);
00444
00449 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00450 <a class="code" href="classFormatterToXML.html#b10">accumDefaultEntity</a>(
00451 XalanDOMChar ch,
00452 <font class="keywordtype">bool</font> escLF);
00453
00457 <font class="keywordtype">void</font>
00458 <a class="code" href="classFormatterToXML.html#b11">initAttrCharsMap</a>();
00459
00463 <font class="keywordtype">void</font>
00464 <a class="code" href="classFormatterToXML.html#b12">initCharsMap</a>();
00465
00469 <font class="keywordtype">void</font>
00470 <a class="code" href="classFormatterToXML.html#b13">flushChars</a>();
00471
00475 <font class="keywordtype">void</font>
00476 <a class="code" href="classFormatterToXML.html#b14">flushBytes</a>();
00477
00478 <font class="keywordtype">void</font>
00479 <a class="code" href="classFormatterToXML.html#b15">flushWriter</a>();
00480
00481 <font class="keywordtype">void</font>
00482 <a class="code" href="classFormatterToXML.html#b16">openElementForChildren</a>();
00483
00484 <font class="keywordtype">bool</font>
00485 <a class="code" href="classFormatterToXML.html#b17">childNodesWereAdded</a>();
00486
00487 <font class="keywordtype">bool</font>
<a name="l00488"></a><a class="code" href="classFormatterToXML.html#b18">00488</a> <a class="code" href="classFormatterToXML.html#b18">shouldIndent</a>()<font class="keyword"> const</font>
00489 <font class="keyword"> </font>{
00490 <font class="keywordflow">return</font> m_doIndent &amp;&amp; (!m_ispreserve &amp;&amp; !m_isprevtext);
00491 }
00492
00497 <font class="keywordtype">void</font>
00498 <a class="code" href="classFormatterToXML.html#b19">writeParentTagEnd</a>();
00499
00504 <font class="keywordtype">void</font>
00505 <a class="code" href="classFormatterToXML.html#b20">indent</a>(<font class="keywordtype">int</font> n);
00506
00514 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00515 <a class="code" href="classFormatterToXML.html#b21">writeNormalizedChars</a>(
00516 <font class="keyword">const</font> XalanDOMChar ch[],
00517 XalanDOMString::size_type start,
00518 XalanDOMString::size_type length,
00519 <font class="keywordtype">bool</font> isCData);
00520
00526 <font class="keywordtype">void</font>
00527 <a class="code" href="classFormatterToXML.html#b22">writeNumberedEntityReference</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> theNumber);
00528
00535 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00536 <a class="code" href="classFormatterToXML.html#b23">writeAttrString</a>(
00537 <font class="keyword">const</font> XalanDOMChar* theString,
00538 XalanDOMString::size_type theStringLength);
00539
00544 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00545 <a class="code" href="classFormatterToXML.html#b24">accumCommentData</a>(<font class="keyword">const</font> XalanDOMChar* data);
00546
00553 <font class="keyword">static</font> <font class="keywordtype">void</font>
00554 <a class="code" href="classFormatterToXML.html#e0">throwInvalidUTF16SurrogateException</a>(
00555 XalanDOMChar ch,
00556 MemoryManagerType&amp; theManager);
00557
00565 <font class="keyword">static</font> <font class="keywordtype">void</font>
00566 <a class="code" href="classFormatterToXML.html#e0">throwInvalidUTF16SurrogateException</a>(
00567 XalanDOMChar ch,
00568 XalanDOMChar next,
00569 MemoryManagerType&amp; theManager);
00570
00571
00578 <font class="keyword">static</font> <font class="keywordtype">void</font>
00579 <a class="code" href="classFormatterToXML.html#e2">throwInvalidCharacterException</a>(
00580 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> ch,
00581 MemoryManagerType&amp; theManager);
00582
00583 <font class="keyword">static</font> <font class="keywordtype">bool</font>
<a name="l00584"></a><a class="code" href="classFormatterToXML.html#e3">00584</a> <a class="code" href="classFormatterToXML.html#e3">isUTF16Surrogate</a>(XalanDOMChar ch)<font class="keyword"></font>
00585 <font class="keyword"> </font>{
00586 <font class="keywordflow">return</font> (ch &amp; 0xFC00) == 0xD800 ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00587 }
00588
<a name="l00589"></a><a class="code" href="classFormatterToXML.html#t6">00589</a> <font class="keyword">enum</font> eDummyTwo { SPECIALSSIZE = 256};
00590
<a name="l00595"></a><a class="code" href="classFormatterToXML.html#n2">00595</a> XalanDOMChar m_maxCharacter;
00596
<a name="l00597"></a><a class="code" href="classFormatterToXML.html#n3">00597</a> XalanDOMChar m_attrCharsMap[SPECIALSSIZE];
00598
<a name="l00599"></a><a class="code" href="classFormatterToXML.html#n4">00599</a> XalanDOMChar m_charsMap[SPECIALSSIZE];
00600
<a name="l00604"></a><a class="code" href="classFormatterToXML.html#n5">00604</a> <font class="keywordtype">bool</font> m_shouldWriteXMLHeader;
00605
<a name="l00610"></a><a class="code" href="classFormatterToXML.html#n6">00610</a> <font class="keywordtype">bool</font> m_ispreserve;
00611
<a name="l00615"></a><a class="code" href="classFormatterToXML.html#n7">00615</a> <font class="keywordtype">bool</font> m_doIndent;
00616
<a name="l00620"></a><a class="code" href="classFormatterToXML.html#n8">00620</a> <font class="keywordtype">bool</font> m_startNewLine;
00621
<a name="l00627"></a><a class="code" href="classFormatterToXML.html#n9">00627</a> <font class="keywordtype">bool</font> m_needToOutputDocTypeDecl;
00628
<a name="l00633"></a><a class="code" href="classFormatterToXML.html#n10">00633</a> <font class="keywordtype">bool</font> m_isprevtext;
00634
<a name="l00639"></a><a class="code" href="classFormatterToXML.html#n11">00639</a> <font class="keywordtype">bool</font> m_stripCData;
00640
<a name="l00644"></a><a class="code" href="classFormatterToXML.html#n12">00644</a> <font class="keywordtype">bool</font> m_nextIsRaw;
00645
<a name="l00649"></a><a class="code" href="classFormatterToXML.html#n13">00649</a> <font class="keywordtype">bool</font> m_inCData;
00650
<a name="l00655"></a><a class="code" href="classFormatterToXML.html#n14">00655</a> <font class="keywordtype">bool</font> m_encodingIsUTF;
00656
<a name="l00660"></a><a class="code" href="classFormatterToXML.html#n15">00660</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_doctypeSystem;
00661
<a name="l00665"></a><a class="code" href="classFormatterToXML.html#n16">00665</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_doctypePublic;
00666
<a name="l00670"></a><a class="code" href="classFormatterToXML.html#n17">00670</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_encoding;
00671
<a name="l00675"></a><a class="code" href="classFormatterToXML.html#n18">00675</a> <font class="keywordtype">int</font> m_currentIndent;
00676
<a name="l00680"></a><a class="code" href="classFormatterToXML.html#n19">00680</a> <font class="keywordtype">int</font> m_indent;
00681
<a name="l00686"></a><a class="code" href="classFormatterToXML.html#n20">00686</a> BoolStackType m_preserves;
00687
00688 <font class="comment">// A text buffer. We use it mostly for converting</font>
00689 <font class="comment">// to string values. See uses of UnsignedLongToString()</font>
00690 <font class="comment">// and UnsignedLongToHexString().</font>
<a name="l00691"></a><a class="code" href="classFormatterToXML.html#n21">00691</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_stringBuffer;
00692
00693 <font class="keyword">private</font>:
00694
00695 <font class="comment">// These are not implemented.</font>
00696 <a class="code" href="classFormatterToXML.html#a0">FormatterToXML</a>(<font class="keyword">const</font> <a class="code" href="classFormatterToXML.html">FormatterToXML</a>&amp;);
00697
00698 <a class="code" href="classFormatterToXML.html">FormatterToXML</a>&amp;
00699 operator=(<font class="keyword">const</font> <a class="code" href="classFormatterToXML.html">FormatterToXML</a>&amp;);
00700
00701 <font class="keywordtype">bool</font>
00702 <a class="code" href="ElemAttributeSet_8hpp.html#a1">operator==</a>(<font class="keyword">const</font> <a class="code" href="classFormatterToXML.html">FormatterToXML</a>&amp;) <font class="keyword">const</font>;
00703
00712 <font class="keywordtype">void</font>
00713 accumNameAsByte(XalanDOMChar ch);
00714
00723 <font class="keywordtype">void</font>
00724 accumNameAsByteDirect(XalanDOMChar ch);
00725
00733 <font class="keywordtype">void</font>
00734 accumContentAsByte(XalanDOMChar ch);
00735
00743 <font class="keywordtype">void</font>
00744 accumContentAsByteDirect(XalanDOMChar ch);
00745
00754 <font class="keywordtype">void</font>
00755 accumNameAsChar(XalanDOMChar ch);
00756
00765 <font class="keywordtype">void</font>
00766 accumNameAsCharDirect(XalanDOMChar ch);
00767
00773 <font class="keywordtype">void</font>
00774 accumContentAsChar(XalanDOMChar ch);
00775
00781 <font class="keywordtype">void</font>
00782 accumContentAsCharDirect(XalanDOMChar ch);
00783
00791 <font class="keywordtype">void</font>
00792 accumCharUTF(XalanDOMChar ch);
00793
00801 <font class="keywordtype">void</font>
00802 accumCharUTFDirect(XalanDOMChar ch);
00803
00812 <font class="keywordtype">void</font>
00813 accumNameString(<font class="keyword">const</font> XalanDOMChar* chars);
00814
00822 <font class="keywordtype">void</font>
00823 accumStringUTF(<font class="keyword">const</font> XalanDOMChar* chars);
00824
00832 <font class="keywordtype">void</font>
00833 accumStringUTFDirect(<font class="keyword">const</font> XalanDOMChar* chars);
00834
00842 <font class="keywordtype">void</font>
00843 accumContentString(<font class="keyword">const</font> XalanDOMChar* chars);
00844
00854 <font class="keywordtype">void</font>
00855 accumNameArray(
00856 <font class="keyword">const</font> XalanDOMChar chars[],
00857 XalanDOMString::size_type start,
00858 XalanDOMString::size_type length);
00859
00869 <font class="keywordtype">void</font>
00870 accumContentArray(
00871 <font class="keyword">const</font> XalanDOMChar chars[],
00872 XalanDOMString::size_type start,
00873 XalanDOMString::size_type length);
00874
00884 <font class="keywordtype">void</font>
00885 accumArrayUTF(
00886 <font class="keyword">const</font> XalanDOMChar chars[],
00887 XalanDOMString::size_type start,
00888 XalanDOMString::size_type length);
00889
00899 <font class="keywordtype">void</font>
00900 accumArrayUTFDirect(
00901 <font class="keyword">const</font> XalanDOMChar chars[],
00902 XalanDOMString::size_type start,
00903 XalanDOMString::size_type length);
00904
00912 <font class="keywordtype">void</font>
00913 accumNameDOMString(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str);
00914
00922 <font class="keywordtype">void</font>
00923 accumContentDOMString(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str);
00924
00932 <font class="keywordtype">void</font>
00933 accumDOMStringUTF(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str);
00934
00942 <font class="keywordtype">void</font>
00943 accumDOMStringUTFDirect(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; str);
00944
00950 <font class="keywordtype">void</font>
00951 outputDocTypeDecl(<font class="keyword">const</font> XalanDOMChar* name);
00952
00958 <font class="keywordtype">void</font>
00959 processAttribute(
00960 <font class="keyword">const</font> XalanDOMChar* name,
00961 <font class="keyword">const</font> XalanDOMChar* value);
00962
00967 <font class="keywordtype">void</font>
00968 printSpace(<font class="keywordtype">int</font> n);
00969
00975 <font class="keywordtype">void</font>
00976 accumNormalizedPIData(
00977 <font class="keyword">const</font> XalanDOMChar* theData,
00978 XalanDOMString::size_type theLength);
00979
00980
00981 <font class="comment">// Data members...</font>
00985 <font class="keywordtype">bool</font> m_bytesEqualChars;
00986
00987 <font class="keywordtype">bool</font> m_shouldFlush;
00988
00992 <font class="keywordtype">bool</font> m_spaceBeforeClose;
00993
00999 <font class="keywordtype">bool</font> m_escapeCData;
01000
01004 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_version;
01005
01009 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_standalone;
01010
01014 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_mediaType;
01015
01019 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_attrSpecialChars;
01020
01021 <font class="keyword">typedef</font> XalanDOMString::size_type size_type;
01022
01026 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_doctypeHeaderStartString[];
01027
01028 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_doctypeHeaderStartStringLength;
01029
01033 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_doctypeHeaderPublicString[];
01034
01035 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_doctypeHeaderPublicStringLength;
01036
01040 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_doctypeHeaderSystemString[];
01041
01042 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_doctypeHeaderSystemStringLength;
01043
01047 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_xmlHeaderStartString[];
01048
01049 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_xmlHeaderStartStringLength;
01050
01054 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_xmlHeaderEncodingString[];
01055
01056 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_xmlHeaderEncodingStringLength;
01057
01061 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_xmlHeaderStandaloneString[];
01062
01063 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_xmlHeaderStandaloneStringLength;
01064
01068 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_xmlHeaderEndString[];
01069
01070 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_xmlHeaderEndStringLength;
01071
01075 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_defaultVersionString[];
01076
01077 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_defaultVersionStringLength;
01078
01082 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_xhtmlDocTypeString[];
01083
01084 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_xhtmlDocTypeStringLength;
01085
01089 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_dtdCDATACloseString[];
01090
01091 <font class="keyword">static</font> <font class="keyword">const</font> size_type s_dtdCDATACloseStringLength;
01092
01093 DOMCharBufferType m_charBuf;
01094
01095 XalanDOMString::size_type m_pos;
01096
01097 ByteBufferType m_byteBuf;
01098
01099 <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMString::size_type s_maxBufferSize;
01100
01105 BoolStackType m_elemStack;
01106
01111 AccumCharFunctionType m_accumNameCharFunction;
01112
01117 AccumStringFunctionType m_accumNameStringFunction;
01118
01123 AccumDOMStringFunctionType m_accumNameDOMStringFunction;
01124
01129 AccumArrayFunctionType m_accumNameArrayFunction;
01130
01135 AccumCharFunctionType m_accumContentCharFunction;
01136
01141 AccumStringFunctionType m_accumContentStringFunction;
01142
01147 AccumDOMStringFunctionType m_accumContentDOMStringFunction;
01148
01153 AccumArrayFunctionType m_accumContentArrayFunction;
01154
01158 FlushFunctionType m_flushFunction;
01159
01163 <font class="keyword">const</font> XalanDOMChar* m_newlineString;
01164
01168 XalanDOMString::size_type m_newlineStringLength;
01169
01170 <font class="keywordtype">bool</font> m_isXML1_1;
01171 };
01172
01173
01174
01175 XALAN_CPP_NAMESPACE_END
01176
01177
01178
01179 <font class="preprocessor">#endif // FORMATTERTOXML_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>