<!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>ElemEmpty.hpp</h1>  </div>
</div>
<div class="contents">
<a href="ElemEmpty_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(XALAN_ELEMEMPTY_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_ELEMEMPTY_HEADER_GUARD </span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="comment"></span>
<a name="l00021"></a>00021 <span class="comment">/**</span>
<a name="l00022"></a>00022 <span class="comment"> * Simple empty elem to push on the stack when nothing </span>
<a name="l00023"></a>00023 <span class="comment"> * else got pushed, so that pop() works correctly.</span>
<a name="l00024"></a>00024 <span class="comment"> */</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="comment">// Base class header file.</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="ElemTemplateElement_8hpp.html">ElemTemplateElement.hpp</a>&quot;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a><a class="code" href="classElemEmpty.html">00040</a> <span class="keyword">class </span><a class="code" href="classElemEmpty.html" title="Simple empty elem to push on the stack when nothing else got pushed, so that pop() works correctly...">ElemEmpty</a> : <span class="keyword">public</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00043"></a>00043 <span class="comment"></span>
<a name="l00044"></a>00044 <span class="comment">    /**</span>
<a name="l00045"></a>00045 <span class="comment">     * Construct an object corresponding to an empty element</span>
<a name="l00046"></a>00046 <span class="comment">     * </span>
<a name="l00047"></a>00047 <span class="comment">     * @param constructionContext context for construction of object</span>
<a name="l00048"></a>00048 <span class="comment">     * @param stylesheetTree      stylesheet containing element</span>
<a name="l00049"></a>00049 <span class="comment">     * @param lineNumber                line number in document</span>
<a name="l00050"></a>00050 <span class="comment">     * @param columnNumber          column number in document</span>
<a name="l00051"></a>00051 <span class="comment">     * @param elementName The element name for which this instance is representing</span>
<a name="l00052"></a>00052 <span class="comment">     */</span>
<a name="l00053"></a>00053     <a class="code" href="classElemEmpty.html#a8a7ca209da867a27f411c0283faa22b1" title="Construct an object corresponding to an empty element.">ElemEmpty</a>(
<a name="l00054"></a>00054             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00055"></a>00055             <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;                     stylesheetTree,
<a name="l00056"></a>00056             XalanFileLoc                    lineNumber, 
<a name="l00057"></a>00057             XalanFileLoc                    columnNumber,
<a name="l00058"></a>00058             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*           elementName = 0);
<a name="l00059"></a>00059 <span class="comment"></span>
<a name="l00060"></a>00060 <span class="comment">    /**</span>
<a name="l00061"></a>00061 <span class="comment">     * Construct an object corresponding to an empty element.  This</span>
<a name="l00062"></a>00062 <span class="comment">     * constructor is used for surrogate empty elements that do not</span>
<a name="l00063"></a>00063 <span class="comment">     * need namespace contexts and Locator information, etc.</span>
<a name="l00064"></a>00064 <span class="comment">     *</span>
<a name="l00065"></a>00065 <span class="comment">     * @param constructionContext context for construction of object</span>
<a name="l00066"></a>00066 <span class="comment">     * @param stylesheetTree      stylesheet containing element</span>
<a name="l00067"></a>00067 <span class="comment">     * @param elementName The element name for which this instance is representing</span>
<a name="l00068"></a>00068 <span class="comment">     */</span>
<a name="l00069"></a>00069     <a class="code" href="classElemEmpty.html#a8a7ca209da867a27f411c0283faa22b1" title="Construct an object corresponding to an empty element.">ElemEmpty</a>(
<a name="l00070"></a>00070             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00071"></a>00071             <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;                     stylesheetTree,
<a name="l00072"></a>00072             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*           elementName = 0);
<a name="l00073"></a>00073 
<a name="l00074"></a>00074     <span class="keyword">virtual</span>
<a name="l00075"></a>00075     <a class="code" href="classElemEmpty.html#a4611a39bb82783c199e45a1cf3a378f1">~ElemEmpty</a>();
<a name="l00076"></a>00076 
<a name="l00077"></a>00077     <span class="comment">// These methods are inherited from ElemTemplateElement ...</span>
<a name="l00078"></a>00078     
<a name="l00079"></a>00079     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00080"></a>00080     <a class="code" href="classElemEmpty.html#a4e23cfcd9df61ba97e1cb4cf9d2ec1c5" title="Get a string for the name of the element.">getElementName</a>() <span class="keyword">const</span>;
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 <span class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00084"></a>00084     <a class="code" href="classElemEmpty.html#a79ac5336d5af2a31ccd8e8a25aff1d6a" title="Completes &amp;quot;pre-processing&amp;quot; before any sub-elements are invoked (i.e.">startElement</a>(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;    executionContext) <span class="keyword">const</span>;
<a name="l00085"></a>00085 <span class="preprocessor">#else</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00087"></a>00087     <a class="code" href="classElemTemplateElement.html#ad425b72719ffd92eb9d663496577d7ba" title="Execute the element.">execute</a>(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext) <span class="keyword">const</span>;
<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span>
<a name="l00090"></a>00090 <span class="keyword">protected</span>:
<a name="l00091"></a>00091 
<a name="l00092"></a>00092     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00093"></a>00093     <a class="code" href="classElemEmpty.html#a767ff699c9ae8963f56d534f90e2b5e3" title="Given an xsl token type, determine whether or not a child of that type is allowed.">childTypeAllowed</a>(<span class="keywordtype">int</span>    xslToken) <span class="keyword">const</span>;
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 <span class="keyword">private</span>:
<a name="l00096"></a>00096 
<a name="l00097"></a>00097     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* <span class="keyword">const</span>     m_elementName;
<a name="l00098"></a>00098 };
<a name="l00099"></a>00099 
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 
<a name="l00102"></a>00102 XALAN_CPP_NAMESPACE_END
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 
<a name="l00106"></a>00106 <span class="preprocessor">#endif  // XALAN_ELEMEMPTY_HEADER_GUARD</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>
