<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>ElemText  Class Reference</h1>This primarily acts as a marker on the element stack to signal that whitespace should be preserved. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ElemText_8hpp-source.html">ElemText.hpp</a>&gt;</code>
<p>
Inheritance diagram for ElemText:<p><center><img src="classElemText__inherit__graph.gif" border="0" usemap="#ElemText_inherit_map" alt="Inheritance graph"></center>
<map name="ElemText_inherit_map">
<area href="classElemTemplateElement.html" shape="rect" coords="6,117,156,93">
<area href="classPrefixResolver.html" shape="rect" coords="30,42,132,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ElemText:<p><center><img src="classElemText__coll__graph.gif" border="0" usemap="#ElemText_coll_map" alt="Collaboration graph"></center>
<map name="ElemText_coll_map">
<area href="classElemTemplateElement.html" shape="rect" coords="17,113,166,89">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classElemText-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classElemText.html#a0">ElemText</a> (<a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;constructionContext, <a class="el" href="ExtensionNSHandler_8hpp.html#a1">Stylesheet</a> &amp;stylesheetTree, const <a class="el" href="classAttributeListType.html">AttributeListType</a> &amp;atts, int lineNumber, int columnNumber)
<dl class="el"><dd><font size=-1><em>Construct an object corresponding to an "xsl:text" element.</em> <a href="#a0">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classElemText.html#a1">~ElemText</a> ()
<li>bool <a class="el" href="classElemText.html#a2">getDisableOutputEscaping</a> () const
<dl class="el"><dd><font size=-1><em>Determine whether output escaping should be disabled.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classElemText.html#a3">getElementName</a> () const
<dl class="el"><dd><font size=-1><em>Get a string for the name of the element.</em> <a href="#a3">More...</a><em><br><br></em></font></dl></ul>
<h2>Protected Methods</h2>
<ul>
<li>virtual bool <a class="el" href="classElemText.html#b0">childTypeAllowed</a> (int xslToken) const
<dl class="el"><dd><font size=-1><em>Given an xsl token type, determine whether or not a child of that type is allowed.</em> <a href="#b0">More...</a><em><br><br></em></font></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This primarily acts as a marker on the element stack to signal that whitespace should be preserved.
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="ElemText::ElemText"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
ElemText::ElemText (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp; <em>constructionContext</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="ExtensionNSHandler_8hpp.html#a1">Stylesheet</a> &amp; <em>stylesheetTree</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classAttributeListType.html">AttributeListType</a> &amp; <em>atts</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>lineNumber</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>columnNumber</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Construct an object corresponding to an "xsl:text" element.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>constructionContext</em>
&nbsp;</td><td>
context for construction of object </td></tr>
<tr><td valign=top><em>stylesheetTree</em>
&nbsp;</td><td>
stylesheet containing element </td></tr>
<tr><td valign=top><em>atts</em>
&nbsp;</td><td>
list of attributes for element </td></tr>
<tr><td valign=top><em>lineNumber</em>
&nbsp;</td><td>
line number in document </td></tr>
<tr><td valign=top><em>columnNumber</em>
&nbsp;</td><td>
column number in document </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="ElemText::~ElemText"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
ElemText::~ElemText (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="b0" doxytag="ElemText::childTypeAllowed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool ElemText::childTypeAllowed (
          </b></td>
          <td valign="bottom"><b>
int <em>xslToken</em>&nbsp;) const<code> [protected, virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Given an xsl token type, determine whether or not a child of that type is allowed.
<p>
This is so derived types can determine whether a particular type of child is allowed for the instance. It is called from <a class="el" href="classElemTemplateElement.html#a39">appendChildElem</a>().
<p>
The default is to allow no types (no children)<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>xslToken</em>
&nbsp;</td><td>
The xsl token value of the child.
<p>
</td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
true if the child is allowed, or false if not. </dl>
<p>
Reimplemented from <a class="el" href="classElemTemplateElement.html#b11">ElemTemplateElement</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="ElemText::getDisableOutputEscaping"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool ElemText::getDisableOutputEscaping (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Determine whether output escaping should be disabled.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
true if output escaping disabled </dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="ElemText::getElementName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; ElemText::getElementName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get a string for the name of the element.
<p>
Useful for debugging purposes, and error reporting.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
A string containing the name of the element. </dl>
<p>
Reimplemented from <a class="el" href="classElemTemplateElement.html#a13">ElemTemplateElement</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ElemText_8hpp-source.html">ElemText.hpp</a></ul>
<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>
