<!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>ElemUse.hpp</h1>  </div>
</div>
<div class="contents">
<a href="ElemUse_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_ELEMUSE_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_ELEMUSE_HEADER_GUARD </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 &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="comment">// Base class header file.</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="ElemTemplateElement_8hpp.html">ElemTemplateElement.hpp</a>&quot;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a><a class="code" href="classElemUse.html">00037</a> <span class="keyword">class </span><a class="code" href="classElemUse.html">ElemUse</a> : <span class="keyword">public</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">public</span>:
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::size_t     size_type;
<a name="l00043"></a>00043 <span class="preprocessor">#else</span>
<a name="l00044"></a><a class="code" href="classElemUse.html#a69e2edd90c235df9e86b5557400045be">00044</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> <span class="keywordtype">size_t</span>          size_type;
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="comment"></span>
<a name="l00047"></a>00047 <span class="comment">    /**</span>
<a name="l00048"></a>00048 <span class="comment">     * Construct an object corresponding to an &quot;use-attribute-sets&quot; attribute.</span>
<a name="l00049"></a>00049 <span class="comment">     * This is a base class for &quot;xsl:element,&quot; &quot;xsl:copy&quot; and</span>
<a name="l00050"></a>00050 <span class="comment">     * &quot;xsl:attribute-set&quot; elements, which may specify attribute sets to use. </span>
<a name="l00051"></a>00051 <span class="comment">     * </span>
<a name="l00052"></a>00052 <span class="comment">     * @param constructionContext context for construction of object</span>
<a name="l00053"></a>00053 <span class="comment">     * @param stylesheetTree      stylesheet containing element</span>
<a name="l00054"></a>00054 <span class="comment">     * @param atts                list of attributes for element</span>
<a name="l00055"></a>00055 <span class="comment">     * @param lineNumber                line number in document</span>
<a name="l00056"></a>00056 <span class="comment">     * @param columnNumber          column number in document</span>
<a name="l00057"></a>00057 <span class="comment">     */</span>
<a name="l00058"></a>00058     <a class="code" href="classElemUse.html#ac20549d1c24d00c660da9e31f23b2fab" title="Construct an object corresponding to an &amp;quot;use-attribute-sets&amp;quot; attribute.">ElemUse</a>(
<a name="l00059"></a>00059             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00060"></a>00060             <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="l00061"></a>00061             XalanFileLoc                    lineNumber, 
<a name="l00062"></a>00062             XalanFileLoc                    columnNumber,
<a name="l00063"></a>00063             <span class="keywordtype">int</span>                             xslToken);
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keyword">virtual</span>
<a name="l00066"></a>00066     <a class="code" href="classElemUse.html#a1074e2f4cf48a1bf3e23eaff95d820ad">~ElemUse</a>();
<a name="l00067"></a>00067 <span class="comment"></span>
<a name="l00068"></a>00068 <span class="comment">    /** </span>
<a name="l00069"></a>00069 <span class="comment">     * See if this is a use-attribute-sets attribute, and, if so, process it.</span>
<a name="l00070"></a>00070 <span class="comment">     * </span>
<a name="l00071"></a>00071 <span class="comment">     * @param attrName qualified name of attribute</span>
<a name="l00072"></a>00072 <span class="comment">     * @param atts     attribute list where the element comes from (not used at </span>
<a name="l00073"></a>00073 <span class="comment">     *                 this time)</span>
<a name="l00074"></a>00074 <span class="comment">     * @param which    index into the attribute list (not used at this time)</span>
<a name="l00075"></a>00075 <span class="comment">     * @return true if this is a use-attribute-sets attribute</span>
<a name="l00076"></a>00076 <span class="comment">     */</span>
<a name="l00077"></a>00077     <span class="keywordtype">bool</span>
<a name="l00078"></a>00078     <a class="code" href="classElemUse.html#a51190bdeaa6ace924eec37fc7c339585" title="See if this is a use-attribute-sets attribute, and, if so, process it.">processUseAttributeSets</a>(
<a name="l00079"></a>00079             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00080"></a>00080             <span class="keyword">const</span> XalanDOMChar*             attrName,
<a name="l00081"></a>00081             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00082"></a>00082             XalanSize_t                     which);
<a name="l00083"></a>00083 
<a name="l00084"></a>00084     <span class="comment">// These methods are inherited from ElemTemplateElement ...</span>
<a name="l00085"></a>00085     
<a name="l00086"></a>00086     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00087"></a>00087     <a class="code" href="classElemUse.html#adf34b4b6abc2c68d4f3b82c552d4c00c" title="Get a string for the name of the element.">getElementName</a>() <span class="keyword">const</span>;
<a name="l00088"></a>00088 
<a name="l00089"></a>00089     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00090"></a>00090     <a class="code" href="classElemUse.html#a2def271620701af108a68946aa3be56f" title="Called after construction is completed.">postConstruction</a>(
<a name="l00091"></a>00091             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00092"></a>00092             <span class="keyword">const</span> <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>&amp;        theParentHandler);
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00096"></a>00096     <a class="code" href="classElemUse.html#af97e122418bf46e19b032ba70ca36c21" 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="l00097"></a>00097 
<a name="l00098"></a>00098     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00099"></a>00099     <a class="code" href="classElemUse.html#a18e0f46a555e0c3a98016defd02979d8" title="Completes &amp;quot;post-processing&amp;quot; afer any sub-elements are invoked (i.e.">endElement</a>(<a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;      executionContext) <span class="keyword">const</span>;
<a name="l00100"></a>00100 
<a name="l00101"></a>00101     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00102"></a>00102     <a class="code" href="classElemUse.html#a058270b5bd827ceb2dedf42330f3b3ff" title="Returns the next sub-element (i.e.">getNextChildElemToExecute</a>(
<a name="l00103"></a>00103             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00104"></a>00104             <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*      currentElem) <span class="keyword">const</span>;
<a name="l00105"></a>00105 
<a name="l00106"></a>00106     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00107"></a>00107     <a class="code" href="classElemUse.html#ad137eb067b8b71bb25800b8c67dc6a3f" title="Returns the first sub-element (i.e.">getFirstChildElemToExecute</a>(
<a name="l00108"></a>00108             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext) <span class="keyword">const</span>;
<a name="l00109"></a>00109 <span class="preprocessor">#else</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00111"></a>00111     <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="l00112"></a>00112 <span class="preprocessor">#endif</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span>
<a name="l00114"></a>00114 
<a name="l00115"></a>00115 <span class="keyword">protected</span>:
<a name="l00116"></a>00116 
<a name="l00117"></a>00117 <span class="preprocessor">#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="comment">    /**</span>
<a name="l00119"></a>00119 <span class="comment">     * Get the next attribute set to execute.</span>
<a name="l00120"></a>00120 <span class="comment">     * </span>
<a name="l00121"></a>00121 <span class="comment">     * @param executionContext  context to execute this element</span>
<a name="l00122"></a>00122 <span class="comment">     * @returns a pointer to the attribute set element,  0 if no more attribute sets</span>
<a name="l00123"></a>00123 <span class="comment">     */</span>
<a name="l00124"></a>00124     <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00125"></a>00125     <a class="code" href="classElemUse.html#ac34d22a6d4caccfc5069407c7c4bd18a" title="Get the next attribute set to execute.">getNextAttributeSet</a>(
<a name="l00126"></a>00126             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext) <span class="keyword">const</span>;
<a name="l00127"></a>00127     <span class="comment"></span>
<a name="l00128"></a>00128 <span class="comment">    /**</span>
<a name="l00129"></a>00129 <span class="comment">     * Evalute the AVTs for this element</span>
<a name="l00130"></a>00130 <span class="comment">     * </span>
<a name="l00131"></a>00131 <span class="comment">     * @param executionContext  context to execute this element</span>
<a name="l00132"></a>00132 <span class="comment">     */</span>
<a name="l00133"></a>00133     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00134"></a>00134     <a class="code" href="classElemUse.html#a6de31aaf17c5d4ac0f09ec9824de0076" title="Evalute the AVTs for this element.">evaluateAVTs</a>(
<a name="l00135"></a>00135             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;         executionContext) <span class="keyword">const</span>;
<a name="l00136"></a>00136 <span class="preprocessor">#else</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="comment">    /** </span>
<a name="l00138"></a>00138 <span class="comment">     * Execute and conditionally apply any attribute sets.  To be used</span>
<a name="l00139"></a>00139 <span class="comment">     * by deriving classes who want ElemUse to do any default execution</span>
<a name="l00140"></a>00140 <span class="comment">     * but skip applying attribute sets.  Typically, this would be done</span>
<a name="l00141"></a>00141 <span class="comment">     * when attempting to recover from an error.</span>
<a name="l00142"></a>00142 <span class="comment">     *</span>
<a name="l00143"></a>00143 <span class="comment">     * @param executionContext The current execution context.</span>
<a name="l00144"></a>00144 <span class="comment">     * @param applyAttributeSets If true, attribute sets will be applied.</span>
<a name="l00145"></a>00145 <span class="comment">     */</span>
<a name="l00146"></a>00146     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00147"></a>00147     doExecute(
<a name="l00148"></a>00148             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00149"></a>00149             <span class="keywordtype">bool</span>                            applyAttributeSets) <span class="keyword">const</span>;
<a name="l00150"></a>00150 <span class="preprocessor">#endif</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span>
<a name="l00152"></a>00152 <span class="keyword">private</span>:
<a name="l00153"></a>00153 
<a name="l00154"></a>00154     <span class="keyword">const</span> <a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>**  m_attributeSetsNames;
<a name="l00155"></a>00155 
<a name="l00156"></a>00156     <a class="code" href="classElemUse.html#a69e2edd90c235df9e86b5557400045be">size_type</a>           m_attributeSetsNamesCount;
<a name="l00157"></a>00157 };
<a name="l00158"></a>00158 
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 
<a name="l00161"></a>00161 XALAN_CPP_NAMESPACE_END
<a name="l00162"></a>00162 
<a name="l00163"></a>00163 
<a name="l00164"></a>00164 
<a name="l00165"></a>00165 <span class="preprocessor">#endif  // XALAN_ELEMUSE_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>
