<!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>XalanHTMLElementsProperties.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanHTMLElementsProperties_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(XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="XMLSupportDefinitions_8hpp.html">xalanc/XMLSupport/XMLSupportDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a><a class="code" href="classXalanHTMLElementsProperties.html">00036</a> <span class="keyword">class </span><a class="code" href="XMLSupportDefinitions_8hpp.html#a355383aef0d5a2c4c67e554c3d947b61">XALAN_XMLSUPPORT_EXPORT</a> <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00039"></a>00039 
<a name="l00040"></a><a class="code" href="classXalanHTMLElementsProperties.html#ac524a71265a453fec12479ab2c0b2845af430e31e45a334c4a28d045c17d49331">00040</a>     <span class="keyword">enum</span> { eMaxAttributes = 6, eMaxAttributeName = 8, eMaxElementName = 10 };
<a name="l00041"></a>00041 
<a name="l00042"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762">00042</a>     <span class="keyword">enum</span> <a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762">eFlags</a>
<a name="l00043"></a>00043     {
<a name="l00044"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a8ca013c2ad8a0b44cec935c0b58851e4">00044</a>         EMPTY = (1 &lt;&lt; 1),
<a name="l00045"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aba8b10a6aa61533df4180d25d78a06dc">00045</a>         FLOW = (1 &lt;&lt; 2),
<a name="l00046"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aee9ac5666b45ef0618429fd37b6bdd94">00046</a>         BLOCK = (1 &lt;&lt; 3),
<a name="l00047"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a2da54febf2d5731567efad00dbe6a70c">00047</a>         BLOCKFORM = (1 &lt;&lt; 4),
<a name="l00048"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aed249f50b3a3cc3daf76bbd258741df5">00048</a>         BLOCKFORMFIELDSET = (1 &lt;&lt; 5),
<a name="l00049"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a5e7b5e5cc9c34beec278a41a39bbebe6">00049</a>         CDATA = (1 &lt;&lt; 6),
<a name="l00050"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aed2d42056ffb4e253b4111ca5bd87478">00050</a>         PCDATA = (1 &lt;&lt; 7),
<a name="l00051"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762ab759e1555b57b59fb95f31671aedd1a9">00051</a>         RAW = (1 &lt;&lt; 8),
<a name="l00052"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a7c0b33f5a78f51e7a9013a16f9449ee9">00052</a>         INLINE = (1 &lt;&lt; 9),
<a name="l00053"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a1b92280cd1d8e8120d2673f3657f33d1">00053</a>         INLINEA = (1 &lt;&lt; 10),
<a name="l00054"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aaba436334fd2c34af766db5343de2d43">00054</a>         INLINELABEL = (1 &lt;&lt; 11),
<a name="l00055"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a4f371991c876aa3c41e85c682f44fbd4">00055</a>         FONTSTYLE = (1 &lt;&lt; 12),
<a name="l00056"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762ad41c453abcab3394846f7ff7ad24babf">00056</a>         PHRASE = (1 &lt;&lt; 13),
<a name="l00057"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a251108e84623f524fc9e34f8868a97ad">00057</a>         FORMCTRL = (1 &lt;&lt; 14),
<a name="l00058"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762ad3e015bd36cdb04cab8c46ba25fcdcb9">00058</a>         SPECIAL = (1 &lt;&lt; 15),
<a name="l00059"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a536eeb72ca4087b0203fca84a447a225">00059</a>         ASPECIAL = (1 &lt;&lt; 16),
<a name="l00060"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a0a99b37b799f9ba8e498b2f2ae5bd57c">00060</a>         HEADMISC = (1 &lt;&lt; 17),
<a name="l00061"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a5adbca1d004727b90e5e9c2a0d72a223">00061</a>         HEAD = (1 &lt;&lt; 18),
<a name="l00062"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762aa1533f1950772914faabeffb516664b2">00062</a>         LIST = (1 &lt;&lt; 19),
<a name="l00063"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a00f701ca33d1273b994c042162a8245a">00063</a>         PREFORMATTED = (1 &lt;&lt; 20),
<a name="l00064"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a8e061f75b8d5c01dc84b02d67b72c3b0">00064</a>         WHITESPACESENSITIVE = (1 &lt;&lt; 21),
<a name="l00065"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762acfee842d75f07f2e1fe73e34548683c5">00065</a>         HEADELEM = (1 &lt;&lt; 22),
<a name="l00066"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a9b15852622c12258027d1a2a295df08a">00066</a>         STYLEELEM = (1 &lt;&lt; 23),
<a name="l00067"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a340cadba44ba324d433a58658287517e">00067</a>         SCRIPTELEM = (1 &lt;&lt; 24),
<a name="l00068"></a>00068 
<a name="l00069"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a92a248a4ed78b26e330c269b0ab630a6">00069</a>         ATTRURL = (1 &lt;&lt; 1),
<a name="l00070"></a><a class="code" href="classXalanHTMLElementsProperties.html#a784db3a54d3db9ecb72b1e1ee517d762a936a86efa34dc72b18e2b30bf43335cd">00070</a>         ATTREMPTY = (1 &lt;&lt; 2)
<a name="l00071"></a>00071     };
<a name="l00072"></a>00072 
<a name="l00073"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">00073</a>     <span class="keyword">struct </span><a class="code" href="XMLSupportDefinitions_8hpp.html#a355383aef0d5a2c4c67e554c3d947b61">XALAN_XMLSUPPORT_EXPORT</a> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">InternalAttributeProperties</a>
<a name="l00074"></a>00074     {
<a name="l00075"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#aa9a9d5c0a801c93694d08444d1431ab7">00075</a>         <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>   FlagsType;
<a name="l00076"></a>00076 
<a name="l00077"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a07844f2a2950c10ca73cc42470a587ef">00077</a>         XalanDOMChar    m_name[eMaxAttributeName + 1];
<a name="l00078"></a>00078     
<a name="l00079"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a8c1c223c420c36ae40245d7079d2d561">00079</a>         <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#aa9a9d5c0a801c93694d08444d1431ab7">FlagsType</a>       m_flags;
<a name="l00080"></a>00080 <span class="comment"></span>
<a name="l00081"></a>00081 <span class="comment">        /**</span>
<a name="l00082"></a>00082 <span class="comment">         * Check if particular properties are set for this</span>
<a name="l00083"></a>00083 <span class="comment">         * instance.  See the eFlag enum for the valid</span>
<a name="l00084"></a>00084 <span class="comment">         * properties.</span>
<a name="l00085"></a>00085 <span class="comment">         *</span>
<a name="l00086"></a>00086 <span class="comment">         * @param theFlags The properties to check.</span>
<a name="l00087"></a>00087 <span class="comment">         * @return true if the property is set, false if not</span>
<a name="l00088"></a>00088 <span class="comment">         */</span>
<a name="l00089"></a>00089         <span class="keywordtype">bool</span>
<a name="l00090"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a7692c5c129e448a202c712d1ebe24faa">00090</a>         is(<a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#aa9a9d5c0a801c93694d08444d1431ab7">FlagsType</a>    theFlags)<span class="keyword"> const</span>
<a name="l00091"></a>00091 <span class="keyword">        </span>{
<a name="l00092"></a>00092             <span class="keywordflow">return</span> m_flags &amp; theFlags ? <span class="keyword">true</span> : <span class="keyword">false</span>;
<a name="l00093"></a>00093         }
<a name="l00094"></a>00094     };
<a name="l00095"></a>00095 
<a name="l00096"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html">00096</a>     <span class="keyword">struct </span><a class="code" href="XMLSupportDefinitions_8hpp.html#a355383aef0d5a2c4c67e554c3d947b61">XALAN_XMLSUPPORT_EXPORT</a> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html">InternalElementProperties</a>
<a name="l00097"></a>00097     {
<a name="l00098"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a23a1a9435de7ab7f8966cac2b6cb497e">00098</a>         <span class="keyword">typedef</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#aa9a9d5c0a801c93694d08444d1431ab7">InternalAttributeProperties::FlagsType</a>  AttributeFlagsType;
<a name="l00099"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a023b964f7d2f43f5a3a53444826549bf">00099</a>         <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                            FlagsType;
<a name="l00100"></a>00100 <span class="comment"></span>
<a name="l00101"></a>00101 <span class="comment">        /**</span>
<a name="l00102"></a>00102 <span class="comment">         * Check if particular attribute properties are set</span>
<a name="l00103"></a>00103 <span class="comment">         * for this  instance. See the eFlag enum for the valid</span>
<a name="l00104"></a>00104 <span class="comment">         * properties.</span>
<a name="l00105"></a>00105 <span class="comment">         *</span>
<a name="l00106"></a>00106 <span class="comment">         * @param theAttributeName The attribute name.</span>
<a name="l00107"></a>00107 <span class="comment">         * @param theFlags The properties to check.</span>
<a name="l00108"></a>00108 <span class="comment">         * @return true if the property is set, false if not</span>
<a name="l00109"></a>00109 <span class="comment">         */</span>
<a name="l00110"></a>00110         <span class="keywordtype">bool</span>
<a name="l00111"></a>00111         isAttribute(
<a name="l00112"></a>00112                 <span class="keyword">const</span> XalanDOMChar*     theAttributeName,
<a name="l00113"></a>00113                 <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a23a1a9435de7ab7f8966cac2b6cb497e">AttributeFlagsType</a>      theFlags) <span class="keyword">const</span>;
<a name="l00114"></a>00114 <span class="comment"></span>
<a name="l00115"></a>00115 <span class="comment">        /**</span>
<a name="l00116"></a>00116 <span class="comment">         * Check if particular properties are set for this</span>
<a name="l00117"></a>00117 <span class="comment">         * instance.  See the eFlag enum for the valid</span>
<a name="l00118"></a>00118 <span class="comment">         * properties.</span>
<a name="l00119"></a>00119 <span class="comment">         *</span>
<a name="l00120"></a>00120 <span class="comment">         * @param theFlags The properties to check.</span>
<a name="l00121"></a>00121 <span class="comment">         * @return true if the property is set, false if not</span>
<a name="l00122"></a>00122 <span class="comment">         */</span>
<a name="l00123"></a>00123         <span class="keywordtype">bool</span>
<a name="l00124"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a2975c0b4e22dc4d5bf97e367d1a0c494">00124</a>         is(<a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a023b964f7d2f43f5a3a53444826549bf">FlagsType</a>    theFlags)<span class="keyword"> const</span>
<a name="l00125"></a>00125 <span class="keyword">        </span>{
<a name="l00126"></a>00126             <span class="keywordflow">return</span> m_flags &amp; theFlags ? <span class="keyword">true</span> : <span class="keyword">false</span>;
<a name="l00127"></a>00127         }
<a name="l00128"></a>00128 
<a name="l00129"></a>00129         <span class="comment">// Data members...</span>
<a name="l00130"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a92cca589c5162b7deaa9240537f5532d">00130</a>         XalanDOMChar                    m_name[eMaxElementName + 1];
<a name="l00131"></a>00131 
<a name="l00132"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#ae004f04038878cd3cf458f4a187eb924">00132</a>         <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a023b964f7d2f43f5a3a53444826549bf">FlagsType</a>                       m_flags;
<a name="l00133"></a>00133 
<a name="l00134"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a6458d55247714de6d6a82719b04277d6">00134</a>         <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">InternalAttributeProperties</a>     m_attributes[eMaxAttributes + 1];
<a name="l00135"></a>00135 <span class="comment"></span>
<a name="l00136"></a>00136 <span class="comment">        /**</span>
<a name="l00137"></a>00137 <span class="comment">         * Find an instance with the given attribute name.</span>
<a name="l00138"></a>00138 <span class="comment">         *</span>
<a name="l00139"></a>00139 <span class="comment">         * @param theAttributeName The attribute name.</span>
<a name="l00140"></a>00140 <span class="comment">         * @return A reference to an instance.</span>
<a name="l00141"></a>00141 <span class="comment">         */</span>
<a name="l00142"></a>00142         <span class="keyword">const</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">InternalAttributeProperties</a>&amp;
<a name="l00143"></a>00143         findProperties(<span class="keyword">const</span> XalanDOMChar*  theAttributeName) <span class="keyword">const</span>;
<a name="l00144"></a>00144 
<a name="l00145"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a17bad4c9e387e43ae337433841d06c34">00145</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">InternalAttributeProperties</a>    s_dummyProperties;
<a name="l00146"></a>00146     };
<a name="l00147"></a>00147 <span class="comment"></span>
<a name="l00148"></a>00148 <span class="comment">    /**</span>
<a name="l00149"></a>00149 <span class="comment">     * This class acts as a proxy for an InternalElementProperties</span>
<a name="l00150"></a>00150 <span class="comment">     * instance.</span>
<a name="l00151"></a>00151 <span class="comment">     */</span>
<a name="l00152"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html">00152</a>     <span class="keyword">class </span><a class="code" href="XMLSupportDefinitions_8hpp.html#a355383aef0d5a2c4c67e554c3d947b61">XALAN_XMLSUPPORT_EXPORT</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html" title="This class acts as a proxy for an InternalElementProperties instance.">ElementProperties</a>
<a name="l00153"></a>00153     {
<a name="l00154"></a>00154     <span class="keyword">public</span>:
<a name="l00155"></a>00155 
<a name="l00156"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a3fc7c30ca13d8b3cf50d6b2e8b8c8a2c">00156</a>         <span class="keyword">typedef</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a23a1a9435de7ab7f8966cac2b6cb497e">InternalElementProperties::AttributeFlagsType</a>   AttributeFlagsType;
<a name="l00157"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a33c0d57a0ac68a32e2ea2100468e2359">00157</a>         <span class="keyword">typedef</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a023b964f7d2f43f5a3a53444826549bf">InternalElementProperties::FlagsType</a>            FlagsType;
<a name="l00158"></a>00158 <span class="comment"></span>
<a name="l00159"></a>00159 <span class="comment">        /**</span>
<a name="l00160"></a>00160 <span class="comment">         * Constructor</span>
<a name="l00161"></a>00161 <span class="comment">         * @param theProperties The instance for which this one is a proxy.</span>
<a name="l00162"></a>00162 <span class="comment">         */</span>
<a name="l00163"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a8c9077d2f14fb9b1eb1f3de291e38554">00163</a>         <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html" title="This class acts as a proxy for an InternalElementProperties instance.">ElementProperties</a>(<span class="keyword">const</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html">InternalElementProperties</a>*  theProperties = 0) :
<a name="l00164"></a>00164             m_properties(theProperties)
<a name="l00165"></a>00165         {
<a name="l00166"></a>00166         }
<a name="l00167"></a>00167 <span class="comment"></span>
<a name="l00168"></a>00168 <span class="comment">        /**</span>
<a name="l00169"></a>00169 <span class="comment">         * Copy constructor</span>
<a name="l00170"></a>00170 <span class="comment">         * @param theSource The source instance for the copy.</span>
<a name="l00171"></a>00171 <span class="comment">         */</span>
<a name="l00172"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#ace47309a4eb3dbbe4d1473a4ab53c9b1">00172</a>         <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html" title="This class acts as a proxy for an InternalElementProperties instance.">ElementProperties</a>(<span class="keyword">const</span> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html" title="This class acts as a proxy for an InternalElementProperties instance.">ElementProperties</a>&amp;  theSource) :
<a name="l00173"></a>00173             m_properties(theSource.m_properties)
<a name="l00174"></a>00174         {
<a name="l00175"></a>00175         }
<a name="l00176"></a>00176 <span class="comment"></span>
<a name="l00177"></a>00177 <span class="comment">        /**</span>
<a name="l00178"></a>00178 <span class="comment">         * Determine if this is a non-null instance.  You </span>
<a name="l00179"></a>00179 <span class="comment">         * must call this before calling any member functions,</span>
<a name="l00180"></a>00180 <span class="comment">         * if you think the instance may be null.</span>
<a name="l00181"></a>00181 <span class="comment">         *</span>
<a name="l00182"></a>00182 <span class="comment">         * @return true if the instance is null, false if not</span>
<a name="l00183"></a>00183 <span class="comment">         */</span>
<a name="l00184"></a>00184         <span class="keywordtype">bool</span>
<a name="l00185"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#aeceef396e655310422de284efe78b645">00185</a>         null()<span class="keyword"> const</span>
<a name="l00186"></a>00186 <span class="keyword">        </span>{
<a name="l00187"></a>00187             <span class="keywordflow">return</span> m_properties == 0 ? <span class="keyword">true</span> : <span class="keyword">false</span>;
<a name="l00188"></a>00188         }
<a name="l00189"></a>00189 <span class="comment"></span>
<a name="l00190"></a>00190 <span class="comment">        /**</span>
<a name="l00191"></a>00191 <span class="comment">         * Check if particular properties are set for this</span>
<a name="l00192"></a>00192 <span class="comment">         * instance.  See the eFlag enum for the valid</span>
<a name="l00193"></a>00193 <span class="comment">         * properties.</span>
<a name="l00194"></a>00194 <span class="comment">         *</span>
<a name="l00195"></a>00195 <span class="comment">         * @param theFlags The properties to check.</span>
<a name="l00196"></a>00196 <span class="comment">         * @return true if the property is set, false if not</span>
<a name="l00197"></a>00197 <span class="comment">         */</span>
<a name="l00198"></a>00198         <span class="keywordtype">bool</span>
<a name="l00199"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#ad516c65ffe233e21497e5d5138b0e84a">00199</a>         is(<a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a33c0d57a0ac68a32e2ea2100468e2359">FlagsType</a>    theFlags)<span class="keyword"> const</span>
<a name="l00200"></a>00200 <span class="keyword">        </span>{
<a name="l00201"></a>00201             <span class="keywordflow">return</span> m_properties-&gt;is(theFlags);
<a name="l00202"></a>00202         }
<a name="l00203"></a>00203 <span class="comment"></span>
<a name="l00204"></a>00204 <span class="comment">        /**</span>
<a name="l00205"></a>00205 <span class="comment">         * Check if particular attribute properties are set</span>
<a name="l00206"></a>00206 <span class="comment">         * for this  instance. See the eFlag enum for the valid</span>
<a name="l00207"></a>00207 <span class="comment">         * properties.</span>
<a name="l00208"></a>00208 <span class="comment">         *</span>
<a name="l00209"></a>00209 <span class="comment">         * @param theAttributeName The attribute name.</span>
<a name="l00210"></a>00210 <span class="comment">         * @param theFlags The properties to check.</span>
<a name="l00211"></a>00211 <span class="comment">         * @return true if the property is set, false if not</span>
<a name="l00212"></a>00212 <span class="comment">         */</span>
<a name="l00213"></a>00213         <span class="keywordtype">bool</span>
<a name="l00214"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#acbe3e87668b96444866a0d2b85902446">00214</a>         isAttribute(
<a name="l00215"></a>00215                 <span class="keyword">const</span> XalanDOMChar*     theAttributeName,
<a name="l00216"></a>00216                 <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a3fc7c30ca13d8b3cf50d6b2e8b8c8a2c">AttributeFlagsType</a>      theFlags)<span class="keyword"> const</span>
<a name="l00217"></a>00217 <span class="keyword">        </span>{
<a name="l00218"></a>00218             <span class="keywordflow">return</span> m_properties-&gt;isAttribute(theAttributeName, theFlags);
<a name="l00219"></a>00219         }
<a name="l00220"></a>00220 <span class="comment"></span>
<a name="l00221"></a>00221 <span class="comment">        /**</span>
<a name="l00222"></a>00222 <span class="comment">         * Get the name of the element.</span>
<a name="l00223"></a>00223 <span class="comment">         *</span>
<a name="l00224"></a>00224 <span class="comment">         * @return The name of the element.</span>
<a name="l00225"></a>00225 <span class="comment">         */</span>
<a name="l00226"></a>00226         <span class="keyword">const</span> XalanDOMChar*
<a name="l00227"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a7e3f727830f924a40567d6970fb6e1b7">00227</a>         getName()<span class="keyword"> const</span>
<a name="l00228"></a>00228 <span class="keyword">        </span>{
<a name="l00229"></a>00229             <span class="keywordflow">return</span> m_properties-&gt;m_name;
<a name="l00230"></a>00230         }
<a name="l00231"></a>00231 
<a name="l00232"></a>00232     <span class="keyword">private</span>:
<a name="l00233"></a>00233 
<a name="l00234"></a>00234         <span class="keyword">const</span> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html">InternalElementProperties</a>*    m_properties;
<a name="l00235"></a>00235     };
<a name="l00236"></a>00236 <span class="comment"></span>
<a name="l00237"></a>00237 <span class="comment">    /**</span>
<a name="l00238"></a>00238 <span class="comment">     * Find an instance with the given name.</span>
<a name="l00239"></a>00239 <span class="comment">     *</span>
<a name="l00240"></a>00240 <span class="comment">     * @param theElementName The element name.</span>
<a name="l00241"></a>00241 <span class="comment">     * @return A reference to an instance.</span>
<a name="l00242"></a>00242 <span class="comment">     */</span>
<a name="l00243"></a>00243     <span class="keyword">static</span> ElementProperties
<a name="l00244"></a>00244     find(<span class="keyword">const</span> XalanDOMChar*    theElementName);
<a name="l00245"></a>00245 
<a name="l00246"></a>00246 <span class="keyword">private</span>:
<a name="l00247"></a>00247 <span class="comment"></span>
<a name="l00248"></a>00248 <span class="comment">    /**</span>
<a name="l00249"></a>00249 <span class="comment">     * Find an instance with the given name.</span>
<a name="l00250"></a>00250 <span class="comment">     *</span>
<a name="l00251"></a>00251 <span class="comment">     * @param theElementName The element name.</span>
<a name="l00252"></a>00252 <span class="comment">     * @return A reference to an instance.</span>
<a name="l00253"></a>00253 <span class="comment">     */</span>
<a name="l00254"></a>00254     <span class="keyword">static</span> <span class="keyword">const</span> InternalElementProperties&amp;
<a name="l00255"></a>00255     findProperties(<span class="keyword">const</span> XalanDOMChar*  theElementName);
<a name="l00256"></a>00256 
<a name="l00257"></a>00257     <span class="comment">// The order of these is significant!!!</span>
<a name="l00258"></a>00258 
<a name="l00259"></a>00259     <span class="comment">// The array of properties...</span>
<a name="l00260"></a>00260     <span class="keyword">static</span> <span class="keyword">const</span> InternalElementProperties          s_elementProperties[];
<a name="l00261"></a>00261 
<a name="l00262"></a>00262     <span class="comment">// This point to the last of the real propeties in the array.</span>
<a name="l00263"></a>00263     <span class="keyword">static</span> <span class="keyword">const</span> InternalElementProperties* <span class="keyword">const</span>   s_lastProperties;
<a name="l00264"></a>00264 
<a name="l00265"></a>00265     <span class="comment">// This point to the last of the properties in the array, which is</span>
<a name="l00266"></a>00266     <span class="comment">// a dummy instance we return when an instance that matches the</span>
<a name="l00267"></a>00267     <span class="comment">// element name cannot be found.</span>
<a name="l00268"></a>00268     <span class="keyword">static</span> <span class="keyword">const</span> InternalElementProperties* <span class="keyword">const</span>   s_dummyProperties;
<a name="l00269"></a>00269 
<a name="l00270"></a>00270 
<a name="l00271"></a>00271     <span class="comment">// These are undefined...</span>
<a name="l00272"></a>00272     <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>();
<a name="l00273"></a>00273 
<a name="l00274"></a>00274     ~<a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>();
<a name="l00275"></a>00275 
<a name="l00276"></a>00276     <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>&amp;
<a name="l00277"></a>00277     operator=(<span class="keyword">const</span> <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>&amp;);
<a name="l00278"></a>00278 
<a name="l00279"></a>00279 };
<a name="l00280"></a>00280 
<a name="l00281"></a>00281 
<a name="l00282"></a>00282 
<a name="l00283"></a>00283 XALAN_CPP_NAMESPACE_END
<a name="l00284"></a>00284 
<a name="l00285"></a>00285 
<a name="l00286"></a>00286 
<a name="l00287"></a>00287 <span class="preprocessor">#endif  // XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680</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>
