<!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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>XBoolean Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="XBoolean" --><!-- doxytag: inherits="XObject" -->
<p><code>#include &lt;<a class="el" href="XBoolean_8hpp_source.html">XBoolean.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classXObject.html">XObject</a>.</p>
<div class="dynheader">
Collaboration diagram for XBoolean:</div>
<div class="dyncontent">
<div class="center"><img src="classXBoolean__coll__graph.png" border="0" usemap="#XBoolean_coll__map" alt="Collaboration graph"/></div>
<map name="XBoolean_coll__map" id="XBoolean_coll__map">
<area shape="rect" id="node2" href="classXObject.html" title="Class to hold XPath return types." alt="" coords="271,317,343,347"/><area shape="rect" id="node4" href="classXalanReferenceCountedObject.html" title="Class to hold reference count information." alt="" coords="5,101,224,131"/><area shape="rect" id="node6" href="classXObjectFactory.html" title="This class handles the creation of XObjects and manages their lifetime." alt="" coords="248,101,365,131"/><area shape="rect" id="node8" href="classXalanDOMString.html" title="XalanDOMString" alt="" coords="389,101,517,131"/><area shape="rect" id="node10" href="classXalanVector.html" title="XalanVector\&lt; XalanDOMChar \&gt;" alt="" coords="340,5,567,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classXBoolean-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <a class="el" href="classXObject.html">XObject</a> <a class="el" href="classXBoolean.html#a35e70a35c74ebbb99a5a5860dee4d498">ParentType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXBoolean.html#aac27adf58821a742c18f34de2c2c98d8">XBoolean</a> (bool val, MemoryManager &amp;theMemoryManager)
<dl class="el"><dd class="mdescRight">Construct an <a class="el" href="classXBoolean.html">XBoolean</a> object from a boolean value.  <a href="#aac27adf58821a742c18f34de2c2c98d8"></a><br/></dl><li><a class="el" href="classXBoolean.html#a39b3bf56fd01bb682165f96699e66dbf">XBoolean</a> (const <a class="el" href="classXBoolean.html">XBoolean</a> &amp;source, MemoryManager &amp;theMemoryManager)
<dl class="el"><dd class="mdescRight">Construct an <a class="el" href="classXBoolean.html">XBoolean</a> object from another.  <a href="#a39b3bf56fd01bb682165f96699e66dbf"></a><br/></dl><li>virtual <a class="el" href="classXBoolean.html#aeb1775645516c57bf6365eb0c7803b8f">~XBoolean</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXBoolean.html#a488f1fd2414d41bbd6b8e5ba056b202a">getTypeString</a> () const 
<dl class="el"><dd class="mdescRight">Given a request type, return the equivalent string.  <a href="#a488f1fd2414d41bbd6b8e5ba056b202a"></a><br/></dl><li>virtual double <a class="el" href="classXBoolean.html#a17ddd99c1edccc439a87881c6dd47410">num</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext) const 
<dl class="el"><dd class="mdescRight">Cast result object to a number.  <a href="#a17ddd99c1edccc439a87881c6dd47410"></a><br/></dl><li>virtual bool <a class="el" href="classXBoolean.html#a0cec0e5130247e39eb6cb8f81fd3114c">boolean</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext) const 
<dl class="el"><dd class="mdescRight">Cast result object to a boolean.  <a href="#a0cec0e5130247e39eb6cb8f81fd3114c"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXBoolean.html#a9ae6ac6145cb10b8cec44058b4a8d5a4">str</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext) const 
<dl class="el"><dd class="mdescRight">Cast result object to a string.  <a href="#a9ae6ac6145cb10b8cec44058b4a8d5a4"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXBoolean.html#a813963d1bb3786600be490227dd5b976">str</a> () const 
<dl class="el"><dd class="mdescRight">Cast result object to a string.  <a href="#a813963d1bb3786600be490227dd5b976"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a58a3afe0468bd1e8d14e2dc5293043d0">str</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext, <a class="el" href="classFormatterListener.html">FormatterListener</a> &amp;formatterListener, <a class="el" href="classXObject.html#ab5465c81680a86b1a26efea4b230adff">MemberFunctionPtr</a> function) const 
<dl class="el"><dd class="mdescRight">Send the string value to a <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance.  <a href="#a58a3afe0468bd1e8d14e2dc5293043d0"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a78f923e9fcdcb6f7a6b4cdc634256836">str</a> (<a class="el" href="classFormatterListener.html">FormatterListener</a> &amp;formatterListener, <a class="el" href="classXObject.html#ab5465c81680a86b1a26efea4b230adff">MemberFunctionPtr</a> function) const 
<dl class="el"><dd class="mdescRight">Send the string value to a <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance.  <a href="#a78f923e9fcdcb6f7a6b4cdc634256836"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a34e9852f723d9ec539cc79606504e7ec">str</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext, <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theBuffer) const 
<dl class="el"><dd class="mdescRight">Append the string value directly a string.  <a href="#a34e9852f723d9ec539cc79606504e7ec"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a714e7f2a41d1c83d43920a3915ec695e">str</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theBuffer) const 
<dl class="el"><dd class="mdescRight">Append the string value directly a string.  <a href="#a714e7f2a41d1c83d43920a3915ec695e"></a><br/></dl><li>virtual double <a class="el" href="classXBoolean.html#af36f92b29582acc998512b23c5d1580c">stringLength</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext) const 
<dl class="el"><dd class="mdescRight">Get the length of the string value of the instance.  <a href="#af36f92b29582acc998512b23c5d1580c"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a8f767ac427c0e139dbc7ee6bee24260f">ProcessXObjectTypeCallback</a> (<a class="el" href="classXObjectTypeCallback.html">XObjectTypeCallback</a> &amp;theCallbackObject)
<dl class="el"><dd class="mdescRight">Process a callback request for preferred type information.  <a href="#a8f767ac427c0e139dbc7ee6bee24260f"></a><br/></dl><li>virtual void <a class="el" href="classXBoolean.html#a0af4a66a15bd8ef28bea9ff65d47bf13">ProcessXObjectTypeCallback</a> (<a class="el" href="classXObjectTypeCallback.html">XObjectTypeCallback</a> &amp;theCallbackObject) const 
<dl class="el"><dd class="mdescRight">Process a callback request for preferred type information.  <a href="#a0af4a66a15bd8ef28bea9ff65d47bf13"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="XBoolean_8hpp_source.html#l00037">37</a> of file <a class="el" href="XBoolean_8hpp_source.html">XBoolean.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a35e70a35c74ebbb99a5a5860dee4d498"></a><!-- doxytag: member="XBoolean::ParentType" ref="a35e70a35c74ebbb99a5a5860dee4d498" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classXObject.html">XObject</a> <a class="el" href="classXObject.html">XBoolean::ParentType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XBoolean_8hpp_source.html#l00041">41</a> of file <a class="el" href="XBoolean_8hpp_source.html">XBoolean.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aac27adf58821a742c18f34de2c2c98d8"></a><!-- doxytag: member="XBoolean::XBoolean" ref="aac27adf58821a742c18f34de2c2c98d8" args="(bool val, MemoryManager &amp;theMemoryManager)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XBoolean::XBoolean </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theMemoryManager</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct an <a class="el" href="classXBoolean.html">XBoolean</a> object from a boolean value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The boolean value to initialize object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>theMemoryManager</em>&nbsp;</td><td>The MemoryManager instance. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a39b3bf56fd01bb682165f96699e66dbf"></a><!-- doxytag: member="XBoolean::XBoolean" ref="a39b3bf56fd01bb682165f96699e66dbf" args="(const XBoolean &amp;source, MemoryManager &amp;theMemoryManager)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XBoolean::XBoolean </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXBoolean.html">XBoolean</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theMemoryManager</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct an <a class="el" href="classXBoolean.html">XBoolean</a> object from another. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source <a class="el" href="classXBoolean.html">XBoolean</a> instance. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>theMemoryManager</em>&nbsp;</td><td>The MemoryManager instance. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aeb1775645516c57bf6365eb0c7803b8f"></a><!-- doxytag: member="XBoolean::~XBoolean" ref="aeb1775645516c57bf6365eb0c7803b8f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual XBoolean::~XBoolean </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0cec0e5130247e39eb6cb8f81fd3114c"></a><!-- doxytag: member="XBoolean::boolean" ref="a0cec0e5130247e39eb6cb8f81fd3114c" args="(XPathExecutionContext &amp;executionContext) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool XBoolean::boolean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cast result object to a boolean. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean value </dd></dl>

<p>Implements <a class="el" href="classXObject.html#af888500b30e13e575b482fc57b87dabd">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a488f1fd2414d41bbd6b8e5ba056b202a"></a><!-- doxytag: member="XBoolean::getTypeString" ref="a488f1fd2414d41bbd6b8e5ba056b202a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XBoolean::getTypeString </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a request type, return the equivalent string. </p>
<p>For diagnostic purposes.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>string for type </dd></dl>

<p>Implements <a class="el" href="classXObject.html#ab62a47b5585aead1f04dd67057c6bac7">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a17ddd99c1edccc439a87881c6dd47410"></a><!-- doxytag: member="XBoolean::num" ref="a17ddd99c1edccc439a87881c6dd47410" args="(XPathExecutionContext &amp;executionContext) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double XBoolean::num </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cast result object to a number. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>numeric value </dd></dl>

<p>Reimplemented from <a class="el" href="classXObject.html#a4cb3578404b7ec57eae79fea6560f710">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a8f767ac427c0e139dbc7ee6bee24260f"></a><!-- doxytag: member="XBoolean::ProcessXObjectTypeCallback" ref="a8f767ac427c0e139dbc7ee6bee24260f" args="(XObjectTypeCallback &amp;theCallbackObject)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::ProcessXObjectTypeCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXObjectTypeCallback.html">XObjectTypeCallback</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theCallbackObject</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process a callback request for preferred type information. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theCallbackObject</em>&nbsp;</td><td>object to call back </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#a4bac0f3361a5d2d6b900308ad94c27d8">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a0af4a66a15bd8ef28bea9ff65d47bf13"></a><!-- doxytag: member="XBoolean::ProcessXObjectTypeCallback" ref="a0af4a66a15bd8ef28bea9ff65d47bf13" args="(XObjectTypeCallback &amp;theCallbackObject) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::ProcessXObjectTypeCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXObjectTypeCallback.html">XObjectTypeCallback</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theCallbackObject</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process a callback request for preferred type information. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theCallbackObject</em>&nbsp;</td><td>object to call back </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#ad90e310e891c8feef71da0fa0f7b5696">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a9ae6ac6145cb10b8cec44058b4a8d5a4"></a><!-- doxytag: member="XBoolean::str" ref="a9ae6ac6145cb10b8cec44058b4a8d5a4" args="(XPathExecutionContext &amp;executionContext) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XBoolean::str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cast result object to a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string value </dd></dl>

<p>Implements <a class="el" href="classXObject.html#ae262489aa21c0d8fe857faf218435bf0">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a78f923e9fcdcb6f7a6b4cdc634256836"></a><!-- doxytag: member="XBoolean::str" ref="a78f923e9fcdcb6f7a6b4cdc634256836" args="(FormatterListener &amp;formatterListener, MemberFunctionPtr function) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFormatterListener.html">FormatterListener</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>formatterListener</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXObject.html#ab5465c81680a86b1a26efea4b230adff">MemberFunctionPtr</a>&nbsp;</td>
          <td class="paramname"> <em>function</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send the string value to a <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance. </p>
<p>This function does not have access to the current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a>, so the result may contain data from whitespace text nodes that might have been stripped otherwise.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>formatterListener</em>&nbsp;</td><td>The <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>A pointer to the member function of <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> to call </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#a1eaef4bdc0f494d12d07e9cdcc45722d">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a58a3afe0468bd1e8d14e2dc5293043d0"></a><!-- doxytag: member="XBoolean::str" ref="a58a3afe0468bd1e8d14e2dc5293043d0" args="(XPathExecutionContext &amp;executionContext, FormatterListener &amp;formatterListener, MemberFunctionPtr function) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classFormatterListener.html">FormatterListener</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>formatterListener</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXObject.html#ab5465c81680a86b1a26efea4b230adff">MemberFunctionPtr</a>&nbsp;</td>
          <td class="paramname"> <em>function</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send the string value to a <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>formatterListener</em>&nbsp;</td><td>The <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>A pointer to the member function of <a class="el" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a> to call </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#a946fb2e5352b8257cfaf40f55b077607">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a813963d1bb3786600be490227dd5b976"></a><!-- doxytag: member="XBoolean::str" ref="a813963d1bb3786600be490227dd5b976" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XBoolean::str </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cast result object to a string. </p>
<p>This function does not have access to the current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a>, so the result may contain data from whitespace text nodes that might have been stripped otherwise.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string value </dd></dl>

<p>Implements <a class="el" href="classXObject.html#a0fc1c7e495a1c61c0a5fe06abf308c63">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a34e9852f723d9ec539cc79606504e7ec"></a><!-- doxytag: member="XBoolean::str" ref="a34e9852f723d9ec539cc79606504e7ec" args="(XPathExecutionContext &amp;executionContext, XalanDOMString &amp;theBuffer) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theBuffer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append the string value directly a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>theBuffer</em>&nbsp;</td><td>The buffer for the data </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#aa6a4f612203757f3f480f9ae70b6ba77">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="a714e7f2a41d1c83d43920a3915ec695e"></a><!-- doxytag: member="XBoolean::str" ref="a714e7f2a41d1c83d43920a3915ec695e" args="(XalanDOMString &amp;theBuffer) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XBoolean::str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theBuffer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append the string value directly a string. </p>
<p>This function does not have access to the current <a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a>, so the result may contain data from whitespace text nodes that might have been stripped otherwise.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theBuffer</em>&nbsp;</td><td>The buffer for the data </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classXObject.html#a0de023b96d4cf82929c6270c34622741">XObject</a>.</p>

</div>
</div>
<a class="anchor" id="af36f92b29582acc998512b23c5d1580c"></a><!-- doxytag: member="XBoolean::stringLength" ref="af36f92b29582acc998512b23c5d1580c" args="(XPathExecutionContext &amp;executionContext) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double XBoolean::stringLength </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the length of the string value of the instance. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The length of the string value </dd></dl>

<p>Implements <a class="el" href="classXObject.html#aca3e2bfdb8dddf4eab4db9faf04d4a20">XObject</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XBoolean_8hpp_source.html">XBoolean.hpp</a></li>
</ul>
</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>
