<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>XalanHTMLElementsProperties::InternalAttributeProperties  Struct Reference</h1><code>#include &lt;<a class="el" href="XalanHTMLElementsProperties_8hpp-source.html">XalanHTMLElementsProperties.hpp</a>&gt;</code>
<p>
<a href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef unsigned char <a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">FlagsType</a>
</ul>
<h2>Public Methods</h2>
<ul>
<li>bool <a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a0">is</a> (<a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">FlagsType</a> theFlags) const
<dl class="el"><dd><font size=-1><em>Check if particular properties are set for this instance.</em> <a href="#a0">More...</a><em><br><br></em></font></dl></ul>
<h2>Public Attributes</h2>
<ul>
<li>XalanDOMChar <a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#m0">m_name</a> [eMaxAttributeName+1]
<li><a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">FlagsType</a> <a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#m1">m_flags</a>
</ul>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="XalanHTMLElementsProperties::InternalAttributeProperties::FlagsType"></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> 
typedef unsigned char XalanHTMLElementsProperties::InternalAttributeProperties::FlagsType
          </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="a0" doxytag="XalanHTMLElementsProperties::InternalAttributeProperties::is"></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 XalanHTMLElementsProperties::InternalAttributeProperties::is (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">FlagsType</a> <em>theFlags</em>&nbsp;) const
          </b></td>
        </tr>

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

<p>
Check if particular properties are set for this instance.
<p>
See the eFlag enum for the valid properties.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theFlags</em>
&nbsp;</td><td>
The properties to check. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
true if the property is set, false if not </dl>    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="m1" doxytag="XalanHTMLElementsProperties::InternalAttributeProperties::m_flags"></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> 
<a class="el" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">FlagsType</a> XalanHTMLElementsProperties::InternalAttributeProperties::m_flags
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="m0" doxytag="XalanHTMLElementsProperties::InternalAttributeProperties::m_name"></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> 
XalanDOMChar XalanHTMLElementsProperties::InternalAttributeProperties::m_name
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="XalanHTMLElementsProperties_8hpp-source.html">XalanHTMLElementsProperties.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>
