<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>ElemTextLiteral.hpp</h1>  </div>
</div>
<div class="contents">
<a href="ElemTextLiteral_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(XALAN_ELEMTEXTLITERAL_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_ELEMTEXTLITERAL_HEADER_GUARD </span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="comment">// Base class header file.</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="ElemTemplateElement_8hpp.html">ElemTemplateElement.hpp</a>&quot;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a><a class="code" href="classElemTextLiteral.html">00040</a> <span class="keyword">class </span><a class="code" href="classElemTextLiteral.html">ElemTextLiteral</a> : <span class="keyword">public</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00043"></a>00043 <span class="comment"></span>
<a name="l00044"></a>00044 <span class="comment">    /**</span>
<a name="l00045"></a>00045 <span class="comment">     * Construct an object corresponding to literal text element</span>
<a name="l00046"></a>00046 <span class="comment">     * </span>
<a name="l00047"></a>00047 <span class="comment">     * @param constructionContext   context for construction of object</span>
<a name="l00048"></a>00048 <span class="comment">     * @param stylesheetTree        stylesheet containing element</span>
<a name="l00049"></a>00049 <span class="comment">     * @param lineNumber            line number in document</span>
<a name="l00050"></a>00050 <span class="comment">     * @param columnNumber          column number in document</span>
<a name="l00051"></a>00051 <span class="comment">     * @param ch                    pointer to character string for element</span>
<a name="l00052"></a>00052 <span class="comment">     * @param start                 starting offset of element</span>
<a name="l00053"></a>00053 <span class="comment">     * @param length                number of characters in element</span>
<a name="l00054"></a>00054 <span class="comment">     * @param fPreserveSpace         true is space should be preserved</span>
<a name="l00055"></a>00055 <span class="comment">     * @param fDisableOutputEscaping true if output escaping should be disabled</span>
<a name="l00056"></a>00056 <span class="comment">     */</span>
<a name="l00057"></a>00057     <a class="code" href="classElemTextLiteral.html#ae21c1d641757be7904da9e99b18584c9" title="Construct an object corresponding to literal text element.">ElemTextLiteral</a>(
<a name="l00058"></a>00058             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00059"></a>00059             <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;                     stylesheetTree,
<a name="l00060"></a>00060             XalanFileLoc                    lineNumber, 
<a name="l00061"></a>00061             XalanFileLoc                    columnNumber,
<a name="l00062"></a>00062             <span class="keyword">const</span> XalanDOMChar*             ch,
<a name="l00063"></a>00063             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>       start,
<a name="l00064"></a>00064             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>       <a class="code" href="DOMStringHelper_8hpp.html#a409bd1c85ee504bc43f281c9cfd4882c" title="Get the length of a XalanDOMString.">length</a>,
<a name="l00065"></a>00065             <span class="keywordtype">bool</span>                            fPreserveSpace,
<a name="l00066"></a>00066             <span class="keywordtype">bool</span>                            fDisableOutputEscaping);
<a name="l00067"></a>00067 
<a name="l00068"></a>00068     <span class="keyword">virtual</span>
<a name="l00069"></a>00069     <a class="code" href="classElemTextLiteral.html#a21887faa462b97b4da655284e23c170b">~ElemTextLiteral</a>();
<a name="l00070"></a>00070 <span class="comment"></span>
<a name="l00071"></a>00071 <span class="comment">    /**</span>
<a name="l00072"></a>00072 <span class="comment">     * Determine if whitespace should be preserved within the element</span>
<a name="l00073"></a>00073 <span class="comment">     * </span>
<a name="l00074"></a>00074 <span class="comment">     * @return true if whitespace should be preserved</span>
<a name="l00075"></a>00075 <span class="comment">     */</span>
<a name="l00076"></a>00076     <span class="keywordtype">bool</span>
<a name="l00077"></a><a class="code" href="classElemTextLiteral.html#a5cecba69988203ccf34a3aad8d1db31c">00077</a>     <a class="code" href="classElemTextLiteral.html#a5cecba69988203ccf34a3aad8d1db31c" title="Determine if whitespace should be preserved within the element.">isPreserveSpace</a>()<span class="keyword"> const</span>
<a name="l00078"></a>00078 <span class="keyword">    </span>{
<a name="l00079"></a>00079         <span class="keywordflow">return</span> <a class="code" href="classElemTemplateElement.html#ad2408ef72004f1e8f4bbc757671566c7">preserveSpace</a>();
<a name="l00080"></a>00080     }
<a name="l00081"></a>00081 
<a name="l00082"></a>00082     <span class="keyword">const</span> XalanDOMChar*
<a name="l00083"></a><a class="code" href="classElemTextLiteral.html#a3d5894dabc5ba948ba606691da14d61a">00083</a>     <a class="code" href="classElemTextLiteral.html#a3d5894dabc5ba948ba606691da14d61a">getText</a>()<span class="keyword"> const</span>
<a name="l00084"></a>00084 <span class="keyword">    </span>{
<a name="l00085"></a>00085         <span class="keywordflow">return</span> m_ch;
<a name="l00086"></a>00086     }
<a name="l00087"></a>00087 
<a name="l00088"></a>00088     <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>
<a name="l00089"></a><a class="code" href="classElemTextLiteral.html#a7629b9737646c58a3e0e98d7d8ec890c">00089</a>     <a class="code" href="classElemTextLiteral.html#a7629b9737646c58a3e0e98d7d8ec890c">getLength</a>()<span class="keyword"> const</span>
<a name="l00090"></a>00090 <span class="keyword">    </span>{
<a name="l00091"></a>00091         <span class="keywordflow">return</span> m_length;
<a name="l00092"></a>00092     }
<a name="l00093"></a>00093 
<a name="l00094"></a>00094     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00095"></a>00095     <a class="code" href="classElemTextLiteral.html#a8dd9166bbdb601153f6974c8df3e800a" title="Tell if the element will generate text which is XML whitespace.">isWhitespace</a>() <span class="keyword">const</span>;
<a name="l00096"></a>00096 
<a name="l00097"></a>00097     <span class="comment">// These methods are inherited from ElemTemplateElement ...</span>
<a name="l00098"></a>00098     
<a name="l00099"></a>00099     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00100"></a>00100     <a class="code" href="classElemTextLiteral.html#aff2e4134b477c826776298f11d753783" title="Get a string for the name of the element.">getElementName</a>() <span class="keyword">const</span>;
<a name="l00101"></a>00101 
<a name="l00102"></a>00102 <span class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00104"></a>00104     <a class="code" href="classElemTextLiteral.html#a8fbb51a155727e8b9f3eb665f0214363" title="Completes &amp;quot;pre-processing&amp;quot; before any sub-elements are invoked (i.e.">startElement</a>(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;    executionContext) <span class="keyword">const</span>;
<a name="l00105"></a>00105 <span class="preprocessor">#else</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00107"></a>00107     <a class="code" href="classElemTemplateElement.html#ad425b72719ffd92eb9d663496577d7ba" title="Execute the element.">execute</a>(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext) <span class="keyword">const</span>;
<a name="l00108"></a>00108 <span class="preprocessor">#endif</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span>
<a name="l00110"></a>00110 <span class="keyword">private</span>:
<a name="l00111"></a>00111 
<a name="l00112"></a>00112     <span class="comment">// not implemented</span>
<a name="l00113"></a>00113     <a class="code" href="classElemTextLiteral.html#ae21c1d641757be7904da9e99b18584c9" title="Construct an object corresponding to literal text element.">ElemTextLiteral</a>(<span class="keyword">const</span> <a class="code" href="classElemTextLiteral.html">ElemTextLiteral</a>&amp;);
<a name="l00114"></a>00114 
<a name="l00115"></a>00115     <a class="code" href="classElemTextLiteral.html">ElemTextLiteral</a>&amp;
<a name="l00116"></a>00116     operator=(<span class="keyword">const</span> <a class="code" href="classElemTextLiteral.html">ElemTextLiteral</a>&amp;);
<a name="l00117"></a>00117 
<a name="l00118"></a>00118     <span class="keyword">const</span> <span class="keywordtype">bool</span>  m_isWhitespace;
<a name="l00119"></a>00119 
<a name="l00120"></a>00120     <span class="keyword">const</span> XalanDOMChar* <span class="keyword">const</span>           m_ch;
<a name="l00121"></a>00121     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>     m_length;
<a name="l00122"></a>00122 };
<a name="l00123"></a>00123 
<a name="l00124"></a>00124 
<a name="l00125"></a>00125 
<a name="l00126"></a>00126 XALAN_CPP_NAMESPACE_END
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 
<a name="l00129"></a>00129 
<a name="l00130"></a>00130 <span class="preprocessor">#endif  // XALAN_ELEMTEXTLITERAL_HEADER_GUARD</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">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="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
