blob: 8eb822e31a51266ce0ae3802fe1359125e6e1894 [file] [log] [blame]
<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.hpp</h1><a href="XalanHTMLElementsProperties_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016 <font class="preprocessor">#if !defined(XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="XalanHTMLElementsProperties_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019
00020
00021 <font class="comment">// Base include file. Must be first.</font>
00022 <font class="preprocessor">#include &lt;<a class="code" href="XMLSupportDefinitions_8hpp.html">xalanc/XMLSupport/XMLSupportDefinitions.hpp</a>&gt;</font>
00023
00024
00025
00026 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00027
00028
00029
00030 XALAN_CPP_NAMESPACE_BEGIN
00031
00032
00033
<a name="l00034"></a><a class="code" href="classXalanHTMLElementsProperties.html">00034</a> <font class="keyword">class </font>XALAN_XMLSUPPORT_EXPORT <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>
00035 {
00036 <font class="keyword">public</font>:
00037
00038 <font class="keyword">enum</font> { eMaxAttributes = 6, eMaxAttributeName = 8, eMaxElementName = 10 };
00039
<a name="l00040"></a><a class="code" href="classXalanHTMLElementsProperties.html#s30">00040</a> <font class="keyword">enum</font> eFlags
00041 {
00042 EMPTY = (1 &lt;&lt; 1),
00043 FLOW = (1 &lt;&lt; 2),
00044 BLOCK = (1 &lt;&lt; 3),
00045 BLOCKFORM = (1 &lt;&lt; 4),
00046 BLOCKFORMFIELDSET = (1 &lt;&lt; 5),
00047 CDATA = (1 &lt;&lt; 6),
00048 PCDATA = (1 &lt;&lt; 7),
00049 RAW = (1 &lt;&lt; 8),
00050 INLINE = (1 &lt;&lt; 9),
00051 INLINEA = (1 &lt;&lt; 10),
00052 INLINELABEL = (1 &lt;&lt; 11),
00053 FONTSTYLE = (1 &lt;&lt; 12),
00054 PHRASE = (1 &lt;&lt; 13),
00055 FORMCTRL = (1 &lt;&lt; 14),
00056 SPECIAL = (1 &lt;&lt; 15),
00057 ASPECIAL = (1 &lt;&lt; 16),
00058 HEADMISC = (1 &lt;&lt; 17),
00059 HEAD = (1 &lt;&lt; 18),
00060 LIST = (1 &lt;&lt; 19),
00061 PREFORMATTED = (1 &lt;&lt; 20),
00062 WHITESPACESENSITIVE = (1 &lt;&lt; 21),
00063 HEADELEM = (1 &lt;&lt; 22),
00064 STYLEELEM = (1 &lt;&lt; 23),
00065 SCRIPTELEM = (1 &lt;&lt; 24),
00066
00067 ATTRURL = (1 &lt;&lt; 1),
00068 ATTREMPTY = (1 &lt;&lt; 2)
00069 };
00070
<a name="l00071"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html">00071</a> <font class="keyword">struct </font>XALAN_XMLSUPPORT_EXPORT InternalAttributeProperties
00072 {
<a name="l00073"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#s0">00073</a> <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> FlagsType;
00074
<a name="l00075"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#m0">00075</a> XalanDOMChar m_name[eMaxAttributeName + 1];
00076
<a name="l00077"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#m1">00077</a> FlagsType m_flags;
00078
00087 <font class="keywordtype">bool</font>
<a name="l00088"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a0">00088</a> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalAttributeProperties.html#a0">is</a>(FlagsType theFlags)<font class="keyword"> const</font>
00089 <font class="keyword"> </font>{
00090 <font class="keywordflow">return</font> m_flags &amp; theFlags ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00091 }
00092 };
00093
<a name="l00094"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html">00094</a> <font class="keyword">struct </font>XALAN_XMLSUPPORT_EXPORT InternalElementProperties
00095 {
<a name="l00096"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#s0">00096</a> <font class="keyword">typedef</font> InternalAttributeProperties::FlagsType AttributeFlagsType;
<a name="l00097"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#s1">00097</a> <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> FlagsType;
00098
00108 <font class="keywordtype">bool</font>
00109 <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a0">isAttribute</a>(
00110 <font class="keyword">const</font> XalanDOMChar* theAttributeName,
00111 AttributeFlagsType theFlags) <font class="keyword">const</font>;
00112
00121 <font class="keywordtype">bool</font>
<a name="l00122"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a1">00122</a> <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a1">is</a>(FlagsType theFlags)<font class="keyword"> const</font>
00123 <font class="keyword"> </font>{
00124 <font class="keywordflow">return</font> m_flags &amp; theFlags ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00125 }
00126
00127 <font class="comment">// Data members...</font>
<a name="l00128"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#m0">00128</a> XalanDOMChar m_name[eMaxElementName + 1];
00129
<a name="l00130"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#m1">00130</a> FlagsType m_flags;
00131
<a name="l00132"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#m2">00132</a> InternalAttributeProperties m_attributes[eMaxAttributes + 1];
00133
00140 <font class="keyword">const</font> InternalAttributeProperties&amp;
00141 <a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#a2">findProperties</a>(<font class="keyword">const</font> XalanDOMChar* theAttributeName) <font class="keyword">const</font>;
00142
<a name="l00143"></a><a class="code" href="structXalanHTMLElementsProperties_1_1InternalElementProperties.html#p0">00143</a> <font class="keyword">static</font> <font class="keyword">const</font> InternalAttributeProperties s_dummyProperties;
00144 };
00145
<a name="l00150"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html">00150</a> <font class="keyword">class </font>XALAN_XMLSUPPORT_EXPORT ElementProperties
00151 {
00152 <font class="keyword">public</font>:
00153
<a name="l00154"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#s0">00154</a> <font class="keyword">typedef</font> InternalElementProperties::AttributeFlagsType AttributeFlagsType;
<a name="l00155"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#s1">00155</a> <font class="keyword">typedef</font> InternalElementProperties::FlagsType FlagsType;
00156
<a name="l00161"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a0">00161</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a0">ElementProperties</a>(<font class="keyword">const</font> InternalElementProperties* theProperties = 0) :
00162 m_properties(theProperties)
00163 {
00164 }
00165
<a name="l00170"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a1">00170</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a0">ElementProperties</a>(<font class="keyword">const</font> ElementProperties&amp; theSource) :
00171 m_properties(theSource.m_properties)
00172 {
00173 }
00174
00182 <font class="keywordtype">bool</font>
<a name="l00183"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a2">00183</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a2">null</a>()<font class="keyword"> const</font>
00184 <font class="keyword"> </font>{
00185 <font class="keywordflow">return</font> m_properties == 0 ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00186 }
00187
00196 <font class="keywordtype">bool</font>
<a name="l00197"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a3">00197</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a3">is</a>(FlagsType theFlags)<font class="keyword"> const</font>
00198 <font class="keyword"> </font>{
00199 <font class="keywordflow">return</font> m_properties-&gt;is(theFlags);
00200 }
00201
00211 <font class="keywordtype">bool</font>
<a name="l00212"></a><a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a4">00212</a> <a class="code" href="classXalanHTMLElementsProperties_1_1ElementProperties.html#a4">isAttribute</a>(
00213 <font class="keyword">const</font> XalanDOMChar* theAttributeName,
00214 AttributeFlagsType theFlags)<font class="keyword"> const</font>
00215 <font class="keyword"> </font>{
00216 <font class="keywordflow">return</font> m_properties-&gt;isAttribute(theAttributeName, theFlags);
00217 }
00218
00219 <font class="keyword">private</font>:
00220
00221 <font class="keyword">const</font> InternalElementProperties* m_properties;
00222 };
00223
00230 <font class="keyword">static</font> ElementProperties
00231 <a class="code" href="classXalanHTMLElementsProperties.html#d0">find</a>(<font class="keyword">const</font> XalanDOMChar* theElementName);
00232
00233 <font class="keyword">private</font>:
00234
00241 <font class="keyword">static</font> <font class="keyword">const</font> InternalElementProperties&amp;
00242 findProperties(<font class="keyword">const</font> XalanDOMChar* theElementName);
00243
00244 <font class="comment">// The order of these is significant!!!</font>
00245
00246 <font class="comment">// The array of properties...</font>
00247 <font class="keyword">static</font> <font class="keyword">const</font> InternalElementProperties s_elementProperties[];
00248
00249 <font class="comment">// This point to the last of the real propeties in the array.</font>
00250 <font class="keyword">static</font> <font class="keyword">const</font> InternalElementProperties* <font class="keyword">const</font> s_lastProperties;
00251
00252 <font class="comment">// This point to the last of the properties in the array, which is</font>
00253 <font class="comment">// a dummy instance we return when an instance that matches the</font>
00254 <font class="comment">// element name cannot be found.</font>
00255 <font class="keyword">static</font> <font class="keyword">const</font> InternalElementProperties* <font class="keyword">const</font> s_dummyProperties;
00256
00257
00258 <font class="comment">// These are undefined...</font>
00259 XalanHTMLElementsProperties();
00260
00261 ~XalanHTMLElementsProperties();
00262
00263 <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>&amp;
00264 operator=(<font class="keyword">const</font> <a class="code" href="classXalanHTMLElementsProperties.html">XalanHTMLElementsProperties</a>&amp;);
00265
00266 };
00267
00268
00269
00270 XALAN_CPP_NAMESPACE_END
00271
00272
00273
00274 <font class="preprocessor">#endif // XALANHTMLELEMENTSPROPERTIES_HEADER_GUARD_1357924680</font>
</font></pre></div><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>