<!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>Stylesheet.hpp</h1>  </div>
</div>
<div class="contents">
<a href="Stylesheet_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 
<a name="l00019"></a>00019 <span class="preprocessor">#if !defined(XALAN_STYLESHEET_HEADER_GUARD)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_STYLESHEET_HEADER_GUARD</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="XalanNode_8hpp.html">xalanc/XalanDOM/XalanNode.hpp</a>&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="XalanMap_8hpp.html">xalanc/Include/XalanMap.hpp</a>&gt;</span>
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="PrefixResolver_8hpp.html">xalanc/PlatformSupport/PrefixResolver.hpp</a>&gt;</span>
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;<a class="code" href="NameSpace_8hpp.html">xalanc/XPath/NameSpace.hpp</a>&gt;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;<a class="code" href="XalanQNameByReference_8hpp.html">xalanc/XPath/XalanQNameByReference.hpp</a>&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;<a class="code" href="XPath_8hpp.html">xalanc/XPath/XPath.hpp</a>&gt;</span>
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 
<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;<a class="code" href="NamespacesHandler_8hpp.html">xalanc/XSLT/NamespacesHandler.hpp</a>&gt;</span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;<a class="code" href="KeyDeclaration_8hpp.html">xalanc/XSLT/KeyDeclaration.hpp</a>&gt;</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &lt;<a class="code" href="StylesheetConstructionContext_8hpp.html">xalanc/XSLT/StylesheetConstructionContext.hpp</a>&gt;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;<a class="code" href="StylesheetExecutionContext_8hpp.html">xalanc/XSLT/StylesheetExecutionContext.hpp</a>&gt;</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &lt;<a class="code" href="XalanSpaceNodeTester_8hpp.html">xalanc/XSLT/XalanSpaceNodeTester.hpp</a>&gt;</span>
<a name="l00054"></a>00054 
<a name="l00055"></a>00055 
<a name="l00056"></a>00056 
<a name="l00057"></a>00057 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00058"></a>00058 
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="classExtensionNSHandler.html">ExtensionNSHandler</a>;
<a name="l00062"></a>00062 <span class="keyword">class </span><a class="code" href="classXalanDecimalFormatSymbols.html">XalanDecimalFormatSymbols</a>;
<a name="l00063"></a>00063 <span class="keyword">class </span><a class="code" href="classElemDecimalFormat.html">ElemDecimalFormat</a>;
<a name="l00064"></a>00064 <span class="keyword">class </span><a class="code" href="classElemTemplate.html">ElemTemplate</a>;
<a name="l00065"></a>00065 <span class="keyword">class </span><a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>;
<a name="l00066"></a>00066 <span class="keyword">class </span><a class="code" href="classElemVariable.html">ElemVariable</a>;
<a name="l00067"></a>00067 <span class="keyword">class </span><a class="code" href="classKeyTable.html">KeyTable</a>;
<a name="l00068"></a>00068 <span class="keyword">class </span><a class="code" href="classNodeRefListBase.html" title="Local implementation of NodeRefList.">NodeRefListBase</a>;
<a name="l00069"></a>00069 <span class="keyword">class </span><a class="code" href="classPrefixResolver.html" title="This class defines an interface for classes that resolve namespace prefixes to their URIs...">PrefixResolver</a>;
<a name="l00070"></a>00070 <span class="keyword">class </span><a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>;
<a name="l00071"></a>00071 <span class="keyword">class </span><a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>;
<a name="l00072"></a>00072 <span class="keyword">class </span><a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>;
<a name="l00073"></a>00073 <span class="keyword">class </span><a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>;
<a name="l00074"></a>00074 <span class="keyword">class </span><a class="code" href="classXObject.html" title="Class to hold XPath return types.">XObject</a>;
<a name="l00075"></a><a class="code" href="Stylesheet_8hpp.html#aee1a50585752d5e4adba1aff7fdb3947">00075</a> <span class="keyword">class </span><a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>;
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 
<a name="l00078"></a>00078 <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;const XalanMatchPatternData*&gt;</a>   <a class="code" href="classXalanVector.html">PatternTableVectorTypeDecl</a>;
<a name="l00079"></a>00079 <a class="code" href="XalanMemoryManagement_8hpp.html#afe156dfb53fca069b4707b01bcfc1d0d">XALAN_USES_MEMORY_MANAGER</a>(<a class="code" href="classXalanVector.html">PatternTableVectorTypeDecl</a>)
<a name="l00080"></a>00080 
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 <span class="comment">/**</span>
<a name="l00083"></a>00083 <span class="comment"> * This class represents the base stylesheet or an &quot;import&quot; stylesheet.</span>
<a name="l00084"></a>00084 <span class="comment"> * &quot;include&quot; stylesheets are combined with the including stylesheet.</span>
<a name="l00085"></a>00085 <span class="comment"> */</span>
<a name="l00086"></a><a class="code" href="classStylesheet.html">00086</a> class <a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a> : public <a class="code" href="classPrefixResolver.html" title="This class defines an interface for classes that resolve namespace prefixes to their URIs...">PrefixResolver</a>
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088 
<a name="l00089"></a>00089 <span class="keyword">public</span>:
<a name="l00090"></a>00090 
<a name="l00091"></a><a class="code" href="classStylesheet.html#aeb3b260c89d61a7d3be32332a42ff858">00091</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">StylesheetExecutionContext::ParamVectorType</a>     <a class="code" href="classXalanVector.html">ParamVectorType</a>;
<a name="l00092"></a><a class="code" href="classStylesheet.html#a6c86e8272c9c43c9032708bce9311ccd">00092</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanDeque.html" title="Xalan implementation of deque.">XalanQName::NamespaceVectorType</a>                 <a class="code" href="classXalanDeque.html" title="Xalan implementation of deque.">NamespaceVectorType</a>;
<a name="l00093"></a><a class="code" href="classStylesheet.html#a8811bf5172a6a30f632c35eb7ca7b464">00093</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanDeque.html" title="Xalan implementation of deque.">XalanQName::NamespacesStackType</a>                 <a class="code" href="classXalanDeque.html" title="Xalan implementation of deque.">NamespacesStackType</a>;
<a name="l00094"></a>00094 
<a name="l00095"></a><a class="code" href="classStylesheet.html#ae69f4e4e502db229a316ac363c09f198">00095</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;ElemVariable*&gt;</a>                  <a class="code" href="classXalanVector.html">ElemVariableVectorType</a>;
<a name="l00096"></a><a class="code" href="classStylesheet.html#a0a4caa2691c02fbacf6e070445b22f02">00096</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;KeyDeclaration&gt;</a>                 <a class="code" href="classXalanVector.html">KeyDeclarationVectorType</a>;
<a name="l00097"></a><a class="code" href="classStylesheet.html#a2761a302bc284c5ba65da50879052270">00097</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;Stylesheet*&gt;</a>                    <a class="code" href="classXalanVector.html">StylesheetVectorType</a>;
<a name="l00098"></a><a class="code" href="classStylesheet.html#a8782d0830b7b43ebe37441c825c95168">00098</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;XalanDOMString&gt;</a>                 <a class="code" href="classXalanVector.html">URLStackType</a>;
<a name="l00099"></a><a class="code" href="classStylesheet.html#ad2f4e5b06e261d40fd8dbae730e19394">00099</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;ElemDecimalFormat*&gt;</a>             <a class="code" href="classXalanVector.html">ElemDecimalFormatVectorType</a>;
<a name="l00100"></a><a class="code" href="classStylesheet.html#a8896a2ac589265767c46ec5e39850b88">00100</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;XalanSpaceNodeTester&gt;</a>           <a class="code" href="classXalanVector.html">WhitespaceElementsVectorType</a>;
<a name="l00101"></a><a class="code" href="classStylesheet.html#a4f68ac297a847a4cbf4507e8ecb8d06d">00101</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">PatternTableVectorTypeDecl</a>                  <a class="code" href="classXalanVector.html">PatternTableVectorType</a>;
<a name="l00102"></a>00102     
<a name="l00103"></a><a class="code" href="classStylesheet.html#a9b76e0cf72b6128aa15c25bd94161d67">00103</a>     <span class="keyword">typedef</span>  <a class="code" href="classXalanMap.html">XalanMap&lt;XalanDOMString, ExtensionNSHandler*&gt;</a>      <a class="code" href="classXalanMap.html">ExtensionNamespacesMapType</a>;
<a name="l00104"></a>00104 
<a name="l00105"></a>00105     <span class="keyword">typedef</span>  <a class="code" href="classXalanMap.html" title="Xalan implementation of a hashtable.">XalanMap</a>&lt;<a class="code" href="classXalanQNameByReference.html">XalanQNameByReference</a>,
<a name="l00106"></a><a class="code" href="classStylesheet.html#ae29f803ff83af496c99d486f6e58d254">00106</a>                          <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* &gt;      <a class="code" href="classXalanMap.html">ElemTemplateMapType</a>;
<a name="l00107"></a>00107 
<a name="l00108"></a><a class="code" href="classStylesheet.html#ade30a07e8584acd5a802ca375a934f56">00108</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanMap.html" title="Xalan implementation of a hashtable.">XalanMap&lt;const XalanNode*, KeyTable* &gt;</a>  <a class="code" href="classXalanMap.html" title="Xalan implementation of a hashtable.">KeyTablesTableType</a>;
<a name="l00109"></a>00109 
<a name="l00110"></a><a class="code" href="classStylesheet.html#a295d69cbf6274911943894ef3a752fbc">00110</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanMap.html">XalanMap&lt;XalanDOMString, PatternTableVectorType&gt;</a> <a class="code" href="classXalanMap.html">PatternTableMapType</a>;
<a name="l00111"></a>00111 
<a name="l00112"></a><a class="code" href="classStylesheet.html#a305910c7e1e72161e76f233adbfba152">00112</a>     <span class="keyword">typedef</span> <a class="code" href="classXPathConstructionContext_1_1GetCachedString.html">StylesheetConstructionContext::GetCachedString</a>  <a class="code" href="classXPathConstructionContext_1_1GetCachedString.html">GetCachedString</a>;
<a name="l00113"></a>00113 <span class="comment"></span>
<a name="l00114"></a>00114 <span class="comment">    /**</span>
<a name="l00115"></a>00115 <span class="comment">     * Constructor for a Stylesheet needs a Document.</span>
<a name="l00116"></a>00116 <span class="comment">     * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide </span>
<a name="l00117"></a>00117 <span class="comment">     * the error condition is severe enough to halt processing.</span>
<a name="l00118"></a>00118 <span class="comment">     */</span>
<a name="l00119"></a>00119     <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>(
<a name="l00120"></a>00120             <a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>&amp;                 root,
<a name="l00121"></a>00121             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;           baseIdentifier,
<a name="l00122"></a>00122             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext);
<a name="l00123"></a>00123 
<a name="l00124"></a>00124     <span class="keyword">virtual</span>
<a name="l00125"></a>00125     ~<a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>();
<a name="l00126"></a>00126 
<a name="l00127"></a>00127     <span class="keyword">static</span> <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>*
<a name="l00128"></a>00128     create(MemoryManager&amp; theManager,
<a name="l00129"></a>00129             <a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>&amp;                 root,
<a name="l00130"></a>00130             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;           baseIdentifier,
<a name="l00131"></a>00131             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext);
<a name="l00132"></a>00132 
<a name="l00133"></a>00133     MemoryManager&amp;
<a name="l00134"></a><a class="code" href="classStylesheet.html#a604718e9873801dacbbb859df1549180">00134</a>     <a class="code" href="classExecutionContext.html#a9f14779fae4cdbf80374926c951674ec">getMemoryManager</a>()
<a name="l00135"></a>00135     {
<a name="l00136"></a>00136         <span class="keywordflow">return</span> m_elementPatternTable.getMemoryManager();
<a name="l00137"></a>00137     }
<a name="l00138"></a>00138 <span class="comment"></span>
<a name="l00139"></a>00139 <span class="comment">    /**</span>
<a name="l00140"></a>00140 <span class="comment">     * Retrieve XSLT version number</span>
<a name="l00141"></a>00141 <span class="comment">     * </span>
<a name="l00142"></a>00142 <span class="comment">     * @return number representing XSLT version</span>
<a name="l00143"></a>00143 <span class="comment">     */</span>
<a name="l00144"></a>00144     <span class="keywordtype">double</span>
<a name="l00145"></a><a class="code" href="classStylesheet.html#ad76dd2154675e942e30045bf46087c13">00145</a>     getXSLTVerDeclared()<span class="keyword"> const</span>
<a name="l00146"></a>00146 <span class="keyword">    </span>{
<a name="l00147"></a>00147         <span class="keywordflow">return</span> m_XSLTVerDeclared;
<a name="l00148"></a>00148     }
<a name="l00149"></a>00149 <span class="comment"></span>
<a name="l00150"></a>00150 <span class="comment">    /**</span>
<a name="l00151"></a>00151 <span class="comment">     * Set XSLT version number</span>
<a name="l00152"></a>00152 <span class="comment">     * </span>
<a name="l00153"></a>00153 <span class="comment">     * @param ver number representing XSLT version</span>
<a name="l00154"></a>00154 <span class="comment">     */</span>
<a name="l00155"></a>00155     <span class="keywordtype">void</span>
<a name="l00156"></a><a class="code" href="classStylesheet.html#abaf7a10b469af008ab6259b5ae23bcd1">00156</a>     setXSLTVerDeclared(<span class="keywordtype">double</span> ver)
<a name="l00157"></a>00157     {
<a name="l00158"></a>00158         m_XSLTVerDeclared = ver;
<a name="l00159"></a>00159     }
<a name="l00160"></a>00160 <span class="comment"></span>
<a name="l00161"></a>00161 <span class="comment">    /**</span>
<a name="l00162"></a>00162 <span class="comment">     * Retrieve the root stylesheet object</span>
<a name="l00163"></a>00163 <span class="comment">     * </span>
<a name="l00164"></a>00164 <span class="comment">     * @return const reference to the stylesheet object</span>
<a name="l00165"></a>00165 <span class="comment">     */</span>
<a name="l00166"></a>00166     <span class="keyword">const</span> <a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>&amp;
<a name="l00167"></a><a class="code" href="classStylesheet.html#a4af73e13adab530d980be4340b30da0b">00167</a>     getStylesheetRoot()<span class="keyword"> const</span>
<a name="l00168"></a>00168 <span class="keyword">    </span>{
<a name="l00169"></a>00169         <span class="keywordflow">return</span> m_stylesheetRoot;
<a name="l00170"></a>00170     }
<a name="l00171"></a>00171 <span class="comment"></span>
<a name="l00172"></a>00172 <span class="comment">    /**</span>
<a name="l00173"></a>00173 <span class="comment">     * Retrieve the root stylesheet object</span>
<a name="l00174"></a>00174 <span class="comment">     * </span>
<a name="l00175"></a>00175 <span class="comment">     * @return reference to the stylesheet object</span>
<a name="l00176"></a>00176 <span class="comment">     */</span>
<a name="l00177"></a>00177     <a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>&amp;
<a name="l00178"></a><a class="code" href="classStylesheet.html#ac72ec1f645bc5f24e4b85f6bf19c0cff">00178</a>     getStylesheetRoot()
<a name="l00179"></a>00179     {
<a name="l00180"></a>00180         <span class="keywordflow">return</span> m_stylesheetRoot;
<a name="l00181"></a>00181     }
<a name="l00182"></a>00182 <span class="comment"></span>
<a name="l00183"></a>00183 <span class="comment">    /**</span>
<a name="l00184"></a>00184 <span class="comment">     * Retrieve the stack of namespace lists</span>
<a name="l00185"></a>00185 <span class="comment">     * </span>
<a name="l00186"></a>00186 <span class="comment">     * @return vector of namespace vectors</span>
<a name="l00187"></a>00187 <span class="comment">     */</span>
<a name="l00188"></a>00188     <span class="keyword">const</span> NamespacesStackType&amp;
<a name="l00189"></a><a class="code" href="classStylesheet.html#a4d83e7dd32fb893323494df2bf25951d">00189</a>     getNamespaces()<span class="keyword"> const</span>
<a name="l00190"></a>00190 <span class="keyword">    </span>{ 
<a name="l00191"></a>00191         <span class="keywordflow">return</span> m_namespaces;
<a name="l00192"></a>00192     }
<a name="l00193"></a>00193 <span class="comment"></span>
<a name="l00194"></a>00194 <span class="comment">    /**</span>
<a name="l00195"></a>00195 <span class="comment">     * Retrieve the stack of namespace lists</span>
<a name="l00196"></a>00196 <span class="comment">     * </span>
<a name="l00197"></a>00197 <span class="comment">     * @return vector of namespace vectors</span>
<a name="l00198"></a>00198 <span class="comment">     */</span>
<a name="l00199"></a>00199     NamespacesStackType&amp;
<a name="l00200"></a><a class="code" href="classStylesheet.html#a5b93c60abfb9bca72a9fbdbd0dbb3463">00200</a>     getNamespaces()
<a name="l00201"></a>00201     { 
<a name="l00202"></a>00202         <span class="keywordflow">return</span> m_namespaces;
<a name="l00203"></a>00203     }
<a name="l00204"></a>00204 
<a name="l00205"></a>00205     <span class="keyword">const</span> <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>&amp;
<a name="l00206"></a><a class="code" href="classStylesheet.html#a58549276a826092d43910f5f5fa210f4">00206</a>     getNamespacesHandler()<span class="keyword"> const</span>
<a name="l00207"></a>00207 <span class="keyword">    </span>{
<a name="l00208"></a>00208         <span class="keywordflow">return</span> m_namespacesHandler;
<a name="l00209"></a>00209     }
<a name="l00210"></a>00210 
<a name="l00211"></a>00211     <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>&amp;
<a name="l00212"></a><a class="code" href="classStylesheet.html#abc49a4139c30b39913a8d03e42ad9a66">00212</a>     getNamespacesHandler()
<a name="l00213"></a>00213     {
<a name="l00214"></a>00214         <span class="keywordflow">return</span> m_namespacesHandler;
<a name="l00215"></a>00215     }
<a name="l00216"></a>00216 <span class="comment"></span>
<a name="l00217"></a>00217 <span class="comment">    /**</span>
<a name="l00218"></a>00218 <span class="comment">     * Retrieve the list of namespace declarations currently in effect</span>
<a name="l00219"></a>00219 <span class="comment">     * </span>
<a name="l00220"></a>00220 <span class="comment">     * @return vector of namespace vectors</span>
<a name="l00221"></a>00221 <span class="comment">     */</span>
<a name="l00222"></a>00222     <span class="keyword">const</span> NamespaceVectorType&amp;
<a name="l00223"></a><a class="code" href="classStylesheet.html#a8bbde705e36a6899a3d7cf1f030bb11d">00223</a>     getNamespaceDecls()<span class="keyword"> const</span>
<a name="l00224"></a>00224 <span class="keyword">    </span>{
<a name="l00225"></a>00225         <span class="keywordflow">return</span> m_namespaceDecls;
<a name="l00226"></a>00226     }
<a name="l00227"></a>00227 <span class="comment"></span>
<a name="l00228"></a>00228 <span class="comment">    /**</span>
<a name="l00229"></a>00229 <span class="comment">     * Retrieve the list of namespace declarations currently in effect</span>
<a name="l00230"></a>00230 <span class="comment">     * </span>
<a name="l00231"></a>00231 <span class="comment">     * @return vector of namespace vectors</span>
<a name="l00232"></a>00232 <span class="comment">     */</span>
<a name="l00233"></a>00233     NamespaceVectorType&amp;
<a name="l00234"></a><a class="code" href="classStylesheet.html#a06a41c956161bbce355faa2becb1fc27">00234</a>     getNamespaceDecls()
<a name="l00235"></a>00235     {
<a name="l00236"></a>00236         <span class="keywordflow">return</span> m_namespaceDecls;
<a name="l00237"></a>00237     }
<a name="l00238"></a>00238 <span class="comment"></span>
<a name="l00239"></a>00239 <span class="comment">    /**</span>
<a name="l00240"></a>00240 <span class="comment">     * Set the list of namespace declarations currently in effect</span>
<a name="l00241"></a>00241 <span class="comment">     * </span>
<a name="l00242"></a>00242 <span class="comment">     * @param ns vector of namespace vectors</span>
<a name="l00243"></a>00243 <span class="comment">     */</span>
<a name="l00244"></a>00244     <span class="keywordtype">void</span>
<a name="l00245"></a><a class="code" href="classStylesheet.html#ac9549597bd988064b911db3b58cb199e">00245</a>     setNamespaceDecls(<span class="keyword">const</span> NamespaceVectorType&amp; ns)
<a name="l00246"></a>00246     {
<a name="l00247"></a>00247         m_namespaceDecls = ns;
<a name="l00248"></a>00248     }
<a name="l00249"></a>00249 <span class="comment"></span>
<a name="l00250"></a>00250 <span class="comment">    /** </span>
<a name="l00251"></a>00251 <span class="comment">     * Push the namespace declarations from the current attribute </span>
<a name="l00252"></a>00252 <span class="comment">     * list onto the namespace stack.</span>
<a name="l00253"></a>00253 <span class="comment">     * </span>
<a name="l00254"></a>00254 <span class="comment">     * @param atts attribute list constaining namespaces</span>
<a name="l00255"></a>00255 <span class="comment">     */</span>
<a name="l00256"></a>00256     <span class="keywordtype">void</span>
<a name="l00257"></a>00257     pushNamespaces(<span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;     atts);
<a name="l00258"></a>00258 <span class="comment"></span>
<a name="l00259"></a>00259 <span class="comment">    /**</span>
<a name="l00260"></a>00260 <span class="comment">     * Pop a namespace declaration from the namespace stack.</span>
<a name="l00261"></a>00261 <span class="comment">     */</span>
<a name="l00262"></a>00262     <span class="keywordtype">void</span>
<a name="l00263"></a><a class="code" href="classStylesheet.html#a344924cd5b390106033c438d775e03ca">00263</a>     popNamespaces()
<a name="l00264"></a>00264     {
<a name="l00265"></a>00265         assert(m_namespaces.empty() == <span class="keyword">false</span>);
<a name="l00266"></a>00266 
<a name="l00267"></a>00267         m_namespaces.pop_back(); 
<a name="l00268"></a>00268     }
<a name="l00269"></a>00269 
<a name="l00270"></a>00270     <span class="keywordtype">void</span>
<a name="l00271"></a>00271     addWhitespaceElement(<span class="keyword">const</span> <a class="code" href="classXalanSpaceNodeTester.html">XalanSpaceNodeTester</a>&amp;    theTester);
<a name="l00272"></a>00272 <span class="comment"></span>
<a name="l00273"></a>00273 <span class="comment">    /**</span>
<a name="l00274"></a>00274 <span class="comment">     * Called after construction is completed.</span>
<a name="l00275"></a>00275 <span class="comment">     */</span>
<a name="l00276"></a>00276     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00277"></a>00277     postConstruction(<a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;     constructionContext);
<a name="l00278"></a>00278 <span class="comment"></span>
<a name="l00279"></a>00279 <span class="comment">    /** </span>
<a name="l00280"></a>00280 <span class="comment">     * See if this is a xmlns attribute, and, if so, process it.</span>
<a name="l00281"></a>00281 <span class="comment">     * </span>
<a name="l00282"></a>00282 <span class="comment">     * @param attrName qualified name of attribute</span>
<a name="l00283"></a>00283 <span class="comment">     * @param atts     attribute list where the element comes from (not used at </span>
<a name="l00284"></a>00284 <span class="comment">     *                 this time)</span>
<a name="l00285"></a>00285 <span class="comment">     * @param which    index into the attribute list (not used at this time)</span>
<a name="l00286"></a>00286 <span class="comment">     * @return         true if this is a namespace name</span>
<a name="l00287"></a>00287 <span class="comment">     */</span>
<a name="l00288"></a>00288     <span class="keywordtype">bool</span>
<a name="l00289"></a>00289     isAttrOK(
<a name="l00290"></a>00290             <span class="keyword">const</span> XalanDOMChar*             attrName,
<a name="l00291"></a>00291             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00292"></a>00292             XalanSize_t                     which,
<a name="l00293"></a>00293             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext) <span class="keyword">const</span>;
<a name="l00294"></a>00294 <span class="comment"></span>
<a name="l00295"></a>00295 <span class="comment">    /**</span>
<a name="l00296"></a>00296 <span class="comment">     * Get the namespace from a qualified name.</span>
<a name="l00297"></a>00297 <span class="comment">     * </span>
<a name="l00298"></a>00298 <span class="comment">     * @param nodeName name of node</span>
<a name="l00299"></a>00299 <span class="comment">     * @return namespace string for node, or null if not found.</span>
<a name="l00300"></a>00300 <span class="comment">     */</span>
<a name="l00301"></a>00301     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00302"></a><a class="code" href="classStylesheet.html#a9d93571fca3085710861ba9b5e29168a">00302</a>     getNamespaceFromStack(
<a name="l00303"></a>00303                 <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   nodeName,
<a name="l00304"></a>00304                 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;         theBuffer)<span class="keyword"> const</span>
<a name="l00305"></a>00305 <span class="keyword">    </span>{
<a name="l00306"></a>00306         <span class="keywordflow">return</span> getNamespaceFromStack(nodeName.<a class="code" href="classXalanDOMString.html#ae1c7a620d58a51ebadba66d79b1ce770">c_str</a>(), theBuffer);
<a name="l00307"></a>00307     }
<a name="l00308"></a>00308 <span class="comment"></span>
<a name="l00309"></a>00309 <span class="comment">    /**</span>
<a name="l00310"></a>00310 <span class="comment">     * Get the namespace from a qualified name.</span>
<a name="l00311"></a>00311 <span class="comment">     * </span>
<a name="l00312"></a>00312 <span class="comment">     * @param nodeName name of node</span>
<a name="l00313"></a>00313 <span class="comment">     * @return namespace string for node, or null if not found.</span>
<a name="l00314"></a>00314 <span class="comment">     */</span>
<a name="l00315"></a>00315     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00316"></a>00316     getNamespaceFromStack(
<a name="l00317"></a>00317                 <span class="keyword">const</span> XalanDOMChar*     nodeName,
<a name="l00318"></a>00318                 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;         theBuffer) <span class="keyword">const</span>;
<a name="l00319"></a>00319 <span class="comment"></span>
<a name="l00320"></a>00320 <span class="comment">    /**</span>
<a name="l00321"></a>00321 <span class="comment">     * Get the namespace from a prefix by searching the stack of namespace</span>
<a name="l00322"></a>00322 <span class="comment">     * lists.</span>
<a name="l00323"></a>00323 <span class="comment">     * </span>
<a name="l00324"></a>00324 <span class="comment">     * @param prefix prefix to search</span>
<a name="l00325"></a>00325 <span class="comment">     * @return namespace corresponding to prefix, or null if not found.</span>
<a name="l00326"></a>00326 <span class="comment">     */</span>
<a name="l00327"></a>00327     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00328"></a><a class="code" href="classStylesheet.html#aee88a0c084a03ba1b46e29653b7e2a8e">00328</a>     getNamespaceForPrefixFromStack(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;    prefix)<span class="keyword"> const</span>
<a name="l00329"></a>00329 <span class="keyword">    </span>{
<a name="l00330"></a>00330         <span class="keywordflow">return</span> <a class="code" href="classXalanQName.html#a55abb718867207556f0bfdc98b524f90" title="Get the namespace for a prefix by searching a vector of namespaces.">XalanQName::getNamespaceForPrefix</a>(m_namespaces, prefix);
<a name="l00331"></a>00331     }
<a name="l00332"></a>00332 <span class="comment"></span>
<a name="l00333"></a>00333 <span class="comment">    /**</span>
<a name="l00334"></a>00334 <span class="comment">     * Get the namespace from a prefix by searching the stack of namespace</span>
<a name="l00335"></a>00335 <span class="comment">     * lists.</span>
<a name="l00336"></a>00336 <span class="comment">     * </span>
<a name="l00337"></a>00337 <span class="comment">     * @param prefix prefix to search</span>
<a name="l00338"></a>00338 <span class="comment">     * @return namespace corresponding to prefix, or null if not found.</span>
<a name="l00339"></a>00339 <span class="comment">     */</span>
<a name="l00340"></a>00340     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00341"></a><a class="code" href="classStylesheet.html#adc11dea8409f3e8e140e0a1f9bdee18d">00341</a>     getNamespaceForPrefixFromStack(<span class="keyword">const</span> XalanDOMChar*  prefix)<span class="keyword"> const</span>
<a name="l00342"></a>00342 <span class="keyword">    </span>{
<a name="l00343"></a>00343         assert(prefix != 0);
<a name="l00344"></a>00344 
<a name="l00345"></a>00345         <span class="keywordflow">return</span> <a class="code" href="classXalanQName.html#a55abb718867207556f0bfdc98b524f90" title="Get the namespace for a prefix by searching a vector of namespaces.">XalanQName::getNamespaceForPrefix</a>(m_namespaces, (<span class="keyword">const</span> XalanDOMChar*)prefix);
<a name="l00346"></a>00346     }
<a name="l00347"></a>00347 <span class="comment"></span>
<a name="l00348"></a>00348 <span class="comment">    /**</span>
<a name="l00349"></a>00349 <span class="comment">     * Get the namespace for a prefix, and report an error if it wasn&#39;t found.</span>
<a name="l00350"></a>00350 <span class="comment">     * </span>
<a name="l00351"></a>00351 <span class="comment">     * @param prefix prefix to search</span>
<a name="l00352"></a>00352 <span class="comment">     * @param constructionContext The current construction context</span>
<a name="l00353"></a>00353 <span class="comment">     * @return namespace corresponding to prefix, or null if not found.</span>
<a name="l00354"></a>00354 <span class="comment">     */</span>
<a name="l00355"></a>00355     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00356"></a>00356     <a class="code" href="classStylesheetExecutionContext.html#a2e16b28b2ba62b648a0f17c6bcdfd63a" title="Retrieve the URI corresponding to a namespace prefix.">getNamespaceForPrefix</a>(
<a name="l00357"></a>00357             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;           prefix,
<a name="l00358"></a>00358             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext) <span class="keyword">const</span>;
<a name="l00359"></a>00359 <span class="comment"></span>
<a name="l00360"></a>00360 <span class="comment">    /**</span>
<a name="l00361"></a>00361 <span class="comment">     * Get the namespace for a prefix, and report an error if it wasn&#39;t found.</span>
<a name="l00362"></a>00362 <span class="comment">     * </span>
<a name="l00363"></a>00363 <span class="comment">     * @param prefix prefix to search</span>
<a name="l00364"></a>00364 <span class="comment">     * @param constructionContext The current construction context</span>
<a name="l00365"></a>00365 <span class="comment">     * @return namespace corresponding to prefix, or null if not found.</span>
<a name="l00366"></a>00366 <span class="comment">     */</span>
<a name="l00367"></a>00367     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00368"></a>00368     <a class="code" href="classStylesheetExecutionContext.html#a2e16b28b2ba62b648a0f17c6bcdfd63a" title="Retrieve the URI corresponding to a namespace prefix.">getNamespaceForPrefix</a>(
<a name="l00369"></a>00369             <span class="keyword">const</span> XalanDOMChar*             prefix,
<a name="l00370"></a>00370             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext) <span class="keyword">const</span>;
<a name="l00371"></a>00371 <span class="comment"></span>
<a name="l00372"></a>00372 <span class="comment">    /**</span>
<a name="l00373"></a>00373 <span class="comment">     * See if a namespace should be excluded.</span>
<a name="l00374"></a>00374 <span class="comment">     * </span>
<a name="l00375"></a>00375 <span class="comment">     * @param theConstructionContext the current construction context.</span>
<a name="l00376"></a>00376 <span class="comment">     * @param theValue the prefix of the namespace.</span>
<a name="l00377"></a>00377 <span class="comment">     * @return</span>
<a name="l00378"></a>00378 <span class="comment">     */</span>
<a name="l00379"></a>00379     <span class="keywordtype">void</span>
<a name="l00380"></a><a class="code" href="classStylesheet.html#ad73c96896beb9ddf66396fc74a303f3c">00380</a>     processExcludeResultPrefixes(
<a name="l00381"></a>00381         <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  theConstructionContext,
<a name="l00382"></a>00382         <span class="keyword">const</span> XalanDOMChar*             theValue)
<a name="l00383"></a>00383     {
<a name="l00384"></a>00384         m_namespacesHandler.processExcludeResultPrefixes(
<a name="l00385"></a>00385                 theConstructionContext,
<a name="l00386"></a>00386                 theValue,
<a name="l00387"></a>00387                 m_namespaces);
<a name="l00388"></a>00388     }
<a name="l00389"></a>00389 <span class="comment"></span>
<a name="l00390"></a>00390 <span class="comment">    /**</span>
<a name="l00391"></a>00391 <span class="comment">     * Add a template to the list of names templates</span>
<a name="l00392"></a>00392 <span class="comment">     * </span>
<a name="l00393"></a>00393 <span class="comment">     * @param theTemplate template to add</span>
<a name="l00394"></a>00394 <span class="comment">     * @param constructionContext context for construction</span>
<a name="l00395"></a>00395 <span class="comment">     */</span>
<a name="l00396"></a>00396     <span class="keywordtype">void</span>
<a name="l00397"></a>00397     addTemplate(
<a name="l00398"></a>00398             <a class="code" href="classElemTemplate.html">ElemTemplate</a>*                   theTemplate,
<a name="l00399"></a>00399             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext);
<a name="l00400"></a>00400 <span class="comment"></span>
<a name="l00401"></a>00401 <span class="comment">    /**</span>
<a name="l00402"></a>00402 <span class="comment">     * Process an attribute that has the value of &#39;yes&#39; or &#39;no&#39;.</span>
<a name="l00403"></a>00403 <span class="comment">     * </span>
<a name="l00404"></a>00404 <span class="comment">     * @param aname name of attribute</span>
<a name="l00405"></a>00405 <span class="comment">     * @param val value</span>
<a name="l00406"></a>00406 <span class="comment">     * @param constructionContext context for construction</span>
<a name="l00407"></a>00407 <span class="comment">     * @return true if value equals string constant for &quot;yes,&quot; false otherwise</span>
<a name="l00408"></a>00408 <span class="comment">     */</span>
<a name="l00409"></a>00409     <span class="keywordtype">bool</span>
<a name="l00410"></a>00410     getYesOrNo(
<a name="l00411"></a>00411             <span class="keyword">const</span> XalanDOMChar*             aname,
<a name="l00412"></a>00412             <span class="keyword">const</span> XalanDOMChar*             val,
<a name="l00413"></a>00413             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext) <span class="keyword">const</span>;
<a name="l00414"></a>00414 <span class="comment"></span>
<a name="l00415"></a>00415 <span class="comment">    /**</span>
<a name="l00416"></a>00416 <span class="comment">     * Retrieve the base identifier with which this stylesheet is associated.</span>
<a name="l00417"></a>00417 <span class="comment">     * </span>
<a name="l00418"></a>00418 <span class="comment">     * @return string for base identifier</span>
<a name="l00419"></a>00419 <span class="comment">     */</span>
<a name="l00420"></a>00420     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00421"></a><a class="code" href="classStylesheet.html#ab5010c406a8735a79471064cf6095e57">00421</a>     getBaseIdentifier()<span class="keyword"> const</span>
<a name="l00422"></a>00422 <span class="keyword">    </span>{
<a name="l00423"></a>00423         <span class="keywordflow">return</span> m_baseIdent;
<a name="l00424"></a>00424     }
<a name="l00425"></a>00425 <span class="comment"></span>
<a name="l00426"></a>00426 <span class="comment">    /**</span>
<a name="l00427"></a>00427 <span class="comment">     * Retrieve the base identifier for the most recently</span>
<a name="l00428"></a>00428 <span class="comment">     * included stylesheet.  This will return the same value</span>
<a name="l00429"></a>00429 <span class="comment">     * as getBaseIdentifier(), if no include is being</span>
<a name="l00430"></a>00430 <span class="comment">     * processed.</span>
<a name="l00431"></a>00431 <span class="comment">     * </span>
<a name="l00432"></a>00432 <span class="comment">     * @return string for base identifier</span>
<a name="l00433"></a>00433 <span class="comment">     */</span>
<a name="l00434"></a>00434     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00435"></a><a class="code" href="classStylesheet.html#a22b063a648f6aeaf202706bb848d46b9">00435</a>     getCurrentIncludeBaseIdentifier()<span class="keyword"> const</span>
<a name="l00436"></a>00436 <span class="keyword">    </span>{
<a name="l00437"></a>00437         <span class="keywordflow">return</span> m_includeStack.empty() == <span class="keyword">true</span> ? getBaseIdentifier() : m_includeStack.back();
<a name="l00438"></a>00438     }
<a name="l00439"></a>00439 <span class="comment"></span>
<a name="l00440"></a>00440 <span class="comment">    /**</span>
<a name="l00441"></a>00441 <span class="comment">     * Process an xsl:namespace-alias element.</span>
<a name="l00442"></a>00442 <span class="comment">     *</span>
<a name="l00443"></a>00443 <span class="comment">     * @param name   the element name.</span>
<a name="l00444"></a>00444 <span class="comment">     * @param attrs  the current attribute list</span>
<a name="l00445"></a>00445 <span class="comment">     * @param constructionContext  the active construction context</span>
<a name="l00446"></a>00446 <span class="comment">     */</span>
<a name="l00447"></a>00447     <span class="keywordtype">void</span>
<a name="l00448"></a>00448     processNSAliasElement(
<a name="l00449"></a>00449             <span class="keyword">const</span> XalanDOMChar*             name,
<a name="l00450"></a>00450             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00451"></a>00451             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext);
<a name="l00452"></a>00452 <span class="comment"></span>
<a name="l00453"></a>00453 <span class="comment">    /**</span>
<a name="l00454"></a>00454 <span class="comment">     * Process an xsl:decimal-format element.</span>
<a name="l00455"></a>00455 <span class="comment">     *</span>
<a name="l00456"></a>00456 <span class="comment">     * @param elemDecimalFormat   the element</span>
<a name="l00457"></a>00457 <span class="comment">     */</span>
<a name="l00458"></a>00458     <span class="keywordtype">void</span>
<a name="l00459"></a>00459     processDecimalFormatElement(
<a name="l00460"></a>00460             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00461"></a>00461             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00462"></a>00462             <span class="keyword">const</span> Locator*                  locator = 0);
<a name="l00463"></a>00463 <span class="comment"></span>
<a name="l00464"></a>00464 <span class="comment">    /**</span>
<a name="l00465"></a>00465 <span class="comment">     * Retrieve the XalanDecimalFormatSymbols instance associated with</span>
<a name="l00466"></a>00466 <span class="comment">     * the QName.</span>
<a name="l00467"></a>00467 <span class="comment">     *</span>
<a name="l00468"></a>00468 <span class="comment">     * @param theQName the QName for the lookup</span>
<a name="l00469"></a>00469 <span class="comment">     * @return a pointer to the matching instance, or 0 if none was found</span>
<a name="l00470"></a>00470 <span class="comment">     */</span>
<a name="l00471"></a>00471     <span class="keyword">const</span> <a class="code" href="classXalanDecimalFormatSymbols.html">XalanDecimalFormatSymbols</a>*
<a name="l00472"></a>00472     getDecimalFormatSymbols(<span class="keyword">const</span> <a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>&amp;   theQName) <span class="keyword">const</span>;
<a name="l00473"></a>00473 <span class="comment"></span>
<a name="l00474"></a>00474 <span class="comment">    /**</span>
<a name="l00475"></a>00475 <span class="comment">     * Add an imported stylesheet.</span>
<a name="l00476"></a>00476 <span class="comment">     *</span>
<a name="l00477"></a>00477 <span class="comment">     * @param theStylesheet The stylesheet to add.</span>
<a name="l00478"></a>00478 <span class="comment">     */</span>
<a name="l00479"></a>00479     <span class="keywordtype">void</span>
<a name="l00480"></a><a class="code" href="classStylesheet.html#aca35094a9601953748d0df2e8558f799">00480</a>     addImport(<a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>*   theStylesheet)
<a name="l00481"></a>00481     {
<a name="l00482"></a>00482         m_imports.insert(m_imports.begin(), theStylesheet);
<a name="l00483"></a>00483     }
<a name="l00484"></a>00484 <span class="comment"></span>
<a name="l00485"></a>00485 <span class="comment">    /**</span>
<a name="l00486"></a>00486 <span class="comment">     * whether there is a wrapper template</span>
<a name="l00487"></a>00487 <span class="comment">     * </span>
<a name="l00488"></a>00488 <span class="comment">     * @return true is there is a wrapper</span>
<a name="l00489"></a>00489 <span class="comment">     */</span>
<a name="l00490"></a>00490     <span class="keywordtype">bool</span>
<a name="l00491"></a><a class="code" href="classStylesheet.html#a92f825ade72fe110711b19d78b23837a">00491</a>     isWrapperless()<span class="keyword"> const</span>
<a name="l00492"></a>00492 <span class="keyword">    </span>{
<a name="l00493"></a>00493         <span class="keywordflow">return</span> m_isWrapperless;
<a name="l00494"></a>00494     }
<a name="l00495"></a>00495 
<a name="l00496"></a>00496     <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
<a name="l00497"></a>00497     initWrapperless(
<a name="l00498"></a>00498             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00499"></a>00499             <span class="keyword">const</span> Locator*                  locator);
<a name="l00500"></a>00500 <span class="comment"></span>
<a name="l00501"></a>00501 <span class="comment">    /**</span>
<a name="l00502"></a>00502 <span class="comment">     * Retrieve the stack of who&#39;s including who</span>
<a name="l00503"></a>00503 <span class="comment">     * </span>
<a name="l00504"></a>00504 <span class="comment">     * @return stack of includes</span>
<a name="l00505"></a>00505 <span class="comment">     */</span>
<a name="l00506"></a>00506     URLStackType&amp;
<a name="l00507"></a><a class="code" href="classStylesheet.html#a6e64baf212b7bd12ab9d23599639461f">00507</a>     getIncludeStack()
<a name="l00508"></a>00508     {
<a name="l00509"></a>00509         <span class="keywordflow">return</span> m_includeStack;
<a name="l00510"></a>00510     }
<a name="l00511"></a>00511 <span class="comment"></span>
<a name="l00512"></a>00512 <span class="comment">    /**</span>
<a name="l00513"></a>00513 <span class="comment">     * Process the xsl:key element.</span>
<a name="l00514"></a>00514 <span class="comment">     * </span>
<a name="l00515"></a>00515 <span class="comment">     * @param nsContext The PrefixResolver instance for namespace prefixes.</span>
<a name="l00516"></a>00516 <span class="comment">     * @param atts The attribute list for element.</span>
<a name="l00517"></a>00517 <span class="comment">     * #param locator The Locator instance for error reporting, if any.  May be 0.    </span>
<a name="l00518"></a>00518 <span class="comment">     * @param constructionContext The current construction context.</span>
<a name="l00519"></a>00519 <span class="comment">     */</span>
<a name="l00520"></a>00520     <span class="keywordtype">void</span>
<a name="l00521"></a>00521     processKeyElement(
<a name="l00522"></a>00522             <span class="keyword">const</span> PrefixResolver&amp;           nsContext,
<a name="l00523"></a>00523             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00524"></a>00524             <span class="keyword">const</span> Locator*                  locator,
<a name="l00525"></a>00525             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext);
<a name="l00526"></a>00526 <span class="comment"></span>
<a name="l00527"></a>00527 <span class="comment">    /**</span>
<a name="l00528"></a>00528 <span class="comment">     * Locate a template via the &quot;name&quot; attribute.</span>
<a name="l00529"></a>00529 <span class="comment">     * </span>
<a name="l00530"></a>00530 <span class="comment">     * @param name               qualified name of template</span>
<a name="l00531"></a>00531 <span class="comment">     * @return pointer to template found or 0 if none found</span>
<a name="l00532"></a>00532 <span class="comment">     */</span>
<a name="l00533"></a>00533     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
<a name="l00534"></a>00534     findNamedTemplate(<span class="keyword">const</span> <a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>&amp;     qname) <span class="keyword">const</span>;
<a name="l00535"></a>00535 <span class="comment"></span>
<a name="l00536"></a>00536 <span class="comment">    /**</span>
<a name="l00537"></a>00537 <span class="comment">     * Given a target element, find the template that best matches in the given</span>
<a name="l00538"></a>00538 <span class="comment">     * XSL document, according to the rules specified in the xsl draft. </span>
<a name="l00539"></a>00539 <span class="comment">     *</span>
<a name="l00540"></a>00540 <span class="comment">     * @param executionContext current execution context</span>
<a name="l00541"></a>00541 <span class="comment">     * @param targetNode       element that needs a rule</span>
<a name="l00542"></a>00542 <span class="comment">     * @return                 pointer to rule that best matches targetNode</span>
<a name="l00543"></a>00543 <span class="comment">     */</span>
<a name="l00544"></a>00544     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
<a name="l00545"></a><a class="code" href="classStylesheet.html#a68393a257ede8e63a1d63c65660b6501">00545</a>     findTemplate(
<a name="l00546"></a>00546             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00547"></a>00547             <a class="code" href="classXalanNode.html">XalanNode</a>*                      targetNode)<span class="keyword"> const</span>
<a name="l00548"></a>00548 <span class="keyword">    </span>{
<a name="l00549"></a>00549         assert(targetNode != 0);
<a name="l00550"></a>00550 
<a name="l00551"></a>00551         <span class="keywordflow">return</span> findTemplate(
<a name="l00552"></a>00552                 executionContext,
<a name="l00553"></a>00553                 targetNode,
<a name="l00554"></a>00554                 targetNode-&gt;<a class="code" href="classXalanNode.html#a78412015183ad6fea2bc7ba9d2b2d6e8" title="An enum value representing the type of the underlying object.">getNodeType</a>(),
<a name="l00555"></a>00555                 s_emptyQName,
<a name="l00556"></a>00556                 <span class="keyword">false</span>);
<a name="l00557"></a>00557     }
<a name="l00558"></a>00558 <span class="comment"></span>
<a name="l00559"></a>00559 <span class="comment">    /**</span>
<a name="l00560"></a>00560 <span class="comment">     * Given a target element, find the template that best matches in the given</span>
<a name="l00561"></a>00561 <span class="comment">     * XSL document, according to the rules specified in the xsl draft. </span>
<a name="l00562"></a>00562 <span class="comment">     *</span>
<a name="l00563"></a>00563 <span class="comment">     * @param executionContext current execution context</span>
<a name="l00564"></a>00564 <span class="comment">     * @param targetNode        node that needs a rule</span>
<a name="l00565"></a>00565 <span class="comment">     * @param targetNodeType    the type of targetNode</span>
<a name="l00566"></a>00566 <span class="comment">     * @param mode              string indicating the mode</span>
<a name="l00567"></a>00567 <span class="comment">     * @param onlyUseImports    only use imports, do not use any templates from the stylesheet itself</span>
<a name="l00568"></a>00568 <span class="comment">     * @return pointer to rule that best matches targetElem</span>
<a name="l00569"></a>00569 <span class="comment">     */</span>
<a name="l00570"></a>00570     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
<a name="l00571"></a>00571     findTemplate(
<a name="l00572"></a>00572             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00573"></a>00573             <a class="code" href="classXalanNode.html">XalanNode</a>*                      targetNode,
<a name="l00574"></a>00574             <a class="code" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">XalanNode::NodeType</a>             targetNodeType,
<a name="l00575"></a>00575             <span class="keyword">const</span> <a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>&amp;               mode,
<a name="l00576"></a>00576             <span class="keywordtype">bool</span>                            onlyUseImports) <span class="keyword">const</span>;
<a name="l00577"></a>00577 <span class="comment"></span>
<a name="l00578"></a>00578 <span class="comment">    /**</span>
<a name="l00579"></a>00579 <span class="comment">     * Add object to vector of match patterns if not already there.</span>
<a name="l00580"></a>00580 <span class="comment">     *</span>
<a name="l00581"></a>00581 <span class="comment">     * @param thePattern pattern to add</span>
<a name="l00582"></a>00582 <span class="comment">     * @param theVector  vector of patterns to add to</span>
<a name="l00583"></a>00583 <span class="comment">     */</span>
<a name="l00584"></a>00584     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00585"></a>00585     addObjectIfNotFound(
<a name="l00586"></a>00586             <span class="keyword">const</span> <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>*    thePattern,
<a name="l00587"></a>00587             PatternTableVectorType&amp;         theVector);
<a name="l00588"></a>00588 <span class="comment"></span>
<a name="l00589"></a>00589 <span class="comment">    /**</span>
<a name="l00590"></a>00590 <span class="comment">     * Add object to array of match patterns if not already there.</span>
<a name="l00591"></a>00591 <span class="comment">     * theArraySize size will be incremented if the pattern was</span>
<a name="l00592"></a>00592 <span class="comment">     * added.</span>
<a name="l00593"></a>00593 <span class="comment">     *</span>
<a name="l00594"></a>00594 <span class="comment">     * @param thePattern pattern to add</span>
<a name="l00595"></a>00595 <span class="comment">     * @param theArray  vector of patterns to add to</span>
<a name="l00596"></a>00596 <span class="comment">     * @param theArraySize The size of the array</span>
<a name="l00597"></a>00597 <span class="comment">     */</span>
<a name="l00598"></a>00598     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00599"></a>00599     addObjectIfNotFound(
<a name="l00600"></a>00600             <span class="keyword">const</span> <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>*    thePattern,
<a name="l00601"></a>00601             <span class="keyword">const</span> <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>*    theArray[],
<a name="l00602"></a>00602             XalanSize_t&amp;                    theArraySize);
<a name="l00603"></a>00603 <span class="comment"></span>
<a name="l00604"></a>00604 <span class="comment">    /**</span>
<a name="l00605"></a>00605 <span class="comment">     * Given a name, locate the start of a list of </span>
<a name="l00606"></a>00606 <span class="comment">     * possible templates that match that name.  If</span>
<a name="l00607"></a>00607 <span class="comment">     * none match, then use the default list.</span>
<a name="l00608"></a>00608 <span class="comment">     *</span>
<a name="l00609"></a>00609 <span class="comment">     * @param theName The name to match</span>
<a name="l00610"></a>00610 <span class="comment">     */</span>
<a name="l00611"></a>00611     <span class="keyword">const</span> PatternTableVectorType*
<a name="l00612"></a>00612     locateElementMatchPatternDataList(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     theName) <span class="keyword">const</span>;
<a name="l00613"></a>00613 <span class="comment"></span>
<a name="l00614"></a>00614 <span class="comment">    /**</span>
<a name="l00615"></a>00615 <span class="comment">     * Given a name, locate the start of a list of </span>
<a name="l00616"></a>00616 <span class="comment">     * possible templates that match that name.  If</span>
<a name="l00617"></a>00617 <span class="comment">     * none match, then use the default list.</span>
<a name="l00618"></a>00618 <span class="comment">     *</span>
<a name="l00619"></a>00619 <span class="comment">     * @param theName The name to match</span>
<a name="l00620"></a>00620 <span class="comment">     */</span>
<a name="l00621"></a>00621     <span class="keyword">const</span> PatternTableVectorType*
<a name="l00622"></a>00622     locateAttributeMatchPatternDataList(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theName) <span class="keyword">const</span>;
<a name="l00623"></a>00623 <span class="comment"></span>
<a name="l00624"></a>00624 <span class="comment">    /**</span>
<a name="l00625"></a>00625 <span class="comment">     * Given a XalanNode, locate the start of a list of </span>
<a name="l00626"></a>00626 <span class="comment">     * possible templates that match it.</span>
<a name="l00627"></a>00627 <span class="comment">     *</span>
<a name="l00628"></a>00628 <span class="comment">     * @param XalanNode The node to match</span>
<a name="l00629"></a>00629 <span class="comment">     */</span>
<a name="l00630"></a>00630     <span class="keyword">const</span> PatternTableVectorType*
<a name="l00631"></a>00631     locateMatchPatternDataList(
<a name="l00632"></a>00632             <span class="keyword">const</span> <a class="code" href="classXalanNode.html">XalanNode</a>&amp;        theNode,
<a name="l00633"></a>00633             <a class="code" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">XalanNode::NodeType</a>     targetNodeType) <span class="keyword">const</span>;
<a name="l00634"></a>00634 <span class="comment"></span>
<a name="l00635"></a>00635 <span class="comment">    /**</span>
<a name="l00636"></a>00636 <span class="comment">     * Add an extension namespace handler. This provides methods for calling</span>
<a name="l00637"></a>00637 <span class="comment">     * an element extension as well as for function calls (which is passed</span>
<a name="l00638"></a>00638 <span class="comment">     * on to XPath).</span>
<a name="l00639"></a>00639 <span class="comment">     *</span>
<a name="l00640"></a>00640 <span class="comment">     * @param constructionContext The current construction context.</span>
<a name="l00641"></a>00641 <span class="comment">     * @param uri The namespace URI of the extension.</span>
<a name="l00642"></a>00642 <span class="comment">     */</span>
<a name="l00643"></a>00643     <span class="keywordtype">void</span>
<a name="l00644"></a>00644     processExtensionNamespace(
<a name="l00645"></a>00645             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  theConstructionContext,
<a name="l00646"></a>00646             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;           uri);
<a name="l00647"></a>00647 <span class="comment"></span>
<a name="l00648"></a>00648 <span class="comment">    /**</span>
<a name="l00649"></a>00649 <span class="comment">     * Return the handler for a given extension namespace.</span>
<a name="l00650"></a>00650 <span class="comment">     *</span>
<a name="l00651"></a>00651 <span class="comment">     * @param uri the URI of the extension namespace.</span>
<a name="l00652"></a>00652 <span class="comment">     * @return pointer to extension handler</span>
<a name="l00653"></a>00653 <span class="comment">     */</span>
<a name="l00654"></a>00654     <a class="code" href="classExtensionNSHandler.html">ExtensionNSHandler</a>*
<a name="l00655"></a><a class="code" href="classStylesheet.html#a829bc38dbbe7767ae4b239bf52a589cf">00655</a>     lookupExtensionNSHandler(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;  uri)<span class="keyword"> const</span>
<a name="l00656"></a>00656 <span class="keyword">    </span>{
<a name="l00657"></a>00657         <span class="keyword">const</span> <a class="code" href="structXalanMapIterator.html">ExtensionNamespacesMapType::const_iterator</a>    it = 
<a name="l00658"></a>00658           m_extensionNamespaces.find(uri);
<a name="l00659"></a>00659 
<a name="l00660"></a>00660         <span class="keywordflow">return</span> it == m_extensionNamespaces.end() ? 0 : (*it).second;
<a name="l00661"></a>00661     }
<a name="l00662"></a>00662 <span class="comment"></span>
<a name="l00663"></a>00663 <span class="comment">    /**</span>
<a name="l00664"></a>00664 <span class="comment">     * Set a top level variable.</span>
<a name="l00665"></a>00665 <span class="comment">     *</span>
<a name="l00666"></a>00666 <span class="comment">     * @param var top-level variable declared with &quot;xsl:variable&quot; or</span>
<a name="l00667"></a>00667 <span class="comment">     *            xsl:param-variable.</span>
<a name="l00668"></a>00668 <span class="comment">     */</span>
<a name="l00669"></a>00669     <span class="keywordtype">void</span>
<a name="l00670"></a><a class="code" href="classStylesheet.html#afcf90227474dd8835173071c5d7405be">00670</a>     setTopLevelVariable(<a class="code" href="classElemVariable.html">ElemVariable</a>*   var)
<a name="l00671"></a>00671     {
<a name="l00672"></a>00672         m_topLevelVariables.push_back(var);
<a name="l00673"></a>00673     }
<a name="l00674"></a>00674 <span class="comment"></span>
<a name="l00675"></a>00675 <span class="comment">    /**</span>
<a name="l00676"></a>00676 <span class="comment">     * Set a list of top level variables in the specified execution context</span>
<a name="l00677"></a>00677 <span class="comment">     * stylesheet.</span>
<a name="l00678"></a>00678 <span class="comment">     *</span>
<a name="l00679"></a>00679 <span class="comment">     * @param executionContext current execution context</span>
<a name="l00680"></a>00680 <span class="comment">     * @param topLevelParams   list of top level parameters</span>
<a name="l00681"></a>00681 <span class="comment">     */</span>
<a name="l00682"></a>00682     <span class="keywordtype">void</span>
<a name="l00683"></a>00683     <a class="code" href="classStylesheetExecutionContext.html#a5bea97ade706a57822031a25653cd22e" title="Set a list of top level variables in the specified execution context stylesheet.">pushTopLevelVariables</a>(
<a name="l00684"></a>00684             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00685"></a>00685             <span class="keyword">const</span> ParamVectorType&amp;          topLevelParams) <span class="keyword">const</span>;
<a name="l00686"></a>00686 
<a name="l00687"></a>00687 
<a name="l00688"></a>00688     <span class="comment">// These interfaces are inherited from PrefixResolver...</span>
<a name="l00689"></a>00689 
<a name="l00690"></a>00690     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00691"></a>00691     <a class="code" href="classStylesheetExecutionContext.html#a2e16b28b2ba62b648a0f17c6bcdfd63a" title="Retrieve the URI corresponding to a namespace prefix.">getNamespaceForPrefix</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     prefix) <span class="keyword">const</span>;
<a name="l00692"></a>00692 
<a name="l00693"></a>00693     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00694"></a>00694     getURI() <span class="keyword">const</span>;
<a name="l00695"></a>00695 
<a name="l00696"></a>00696     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00697"></a><a class="code" href="classStylesheet.html#a7bc97784ebd7036f69255717d39704d2">00697</a>     getXSLTNamespaceURI()<span class="keyword"> const</span>
<a name="l00698"></a>00698 <span class="keyword">    </span>{
<a name="l00699"></a>00699         <span class="keywordflow">return</span> m_XSLTNamespaceURI;
<a name="l00700"></a>00700     }
<a name="l00701"></a>00701 
<a name="l00702"></a>00702     <span class="keywordtype">void</span>
<a name="l00703"></a><a class="code" href="classStylesheet.html#a095beb954a2e2b24a5879e85dba78e93">00703</a>     setXSLTNamespaceURI(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theURI)
<a name="l00704"></a>00704     {
<a name="l00705"></a>00705         m_XSLTNamespaceURI = theURI;
<a name="l00706"></a>00706     }
<a name="l00707"></a>00707 
<a name="l00708"></a>00708     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* 
<a name="l00709"></a><a class="code" href="classStylesheet.html#aedcb4351d168a2356ab84746b5b9915f">00709</a>     getFirstTemplate()<span class="keyword"> const    </span>
<a name="l00710"></a>00710 <span class="keyword">    </span>{
<a name="l00711"></a>00711         <span class="keywordflow">return</span> m_firstTemplate;
<a name="l00712"></a>00712     }
<a name="l00713"></a>00713     
<a name="l00714"></a>00714 <span class="keyword">protected</span>:
<a name="l00715"></a>00715 <span class="comment"></span>
<a name="l00716"></a>00716 <span class="comment">    /**</span>
<a name="l00717"></a>00717 <span class="comment">     * The root of the stylesheet tree.</span>
<a name="l00718"></a>00718 <span class="comment">     */</span>
<a name="l00719"></a><a class="code" href="classStylesheet.html#af0ef59974733ccc92fe362a8ed09d75a">00719</a>     <a class="code" href="classStylesheetRoot.html" title="This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...">StylesheetRoot</a>&amp;                     m_stylesheetRoot;
<a name="l00720"></a>00720 <span class="comment"></span>
<a name="l00721"></a>00721 <span class="comment">    /**</span>
<a name="l00722"></a>00722 <span class="comment">     * The base URL of the XSL document.</span>
<a name="l00723"></a>00723 <span class="comment">     */</span>
<a name="l00724"></a><a class="code" href="classStylesheet.html#a9e9bd661e3dd730f02bd683c8b78d98e">00724</a>     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                      m_baseIdent;
<a name="l00725"></a>00725 <span class="comment"></span>
<a name="l00726"></a>00726 <span class="comment">    /**</span>
<a name="l00727"></a>00727 <span class="comment">     * Table of KeyDeclaration objects, which are set by the </span>
<a name="l00728"></a>00728 <span class="comment">     * xsl:key element.</span>
<a name="l00729"></a>00729 <span class="comment">     */</span>
<a name="l00730"></a><a class="code" href="classStylesheet.html#ae02e128fab87b80ab4e5bc9e2371bd85">00730</a>     KeyDeclarationVectorType            m_keyDeclarations;
<a name="l00731"></a>00731 
<a name="l00732"></a><a class="code" href="classStylesheet.html#aa2fca89e35078ed7c583b05db6d0f1dc">00732</a>     WhitespaceElementsVectorType        m_whitespaceElements;
<a name="l00733"></a>00733 
<a name="l00734"></a><a class="code" href="classStylesheet.html#ae5b4e8442879dea33c976eb398b3d3e1">00734</a>     <span class="keyword">static</span> <span class="keyword">const</span> XalanQNameByReference  s_emptyQName;
<a name="l00735"></a>00735 
<a name="l00736"></a>00736 <span class="keyword">private</span>:    
<a name="l00737"></a>00737 
<a name="l00738"></a>00738     <span class="comment">// Not defined...</span>
<a name="l00739"></a>00739     <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>(<span class="keyword">const</span> <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;);
<a name="l00740"></a>00740 
<a name="l00741"></a>00741     <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;
<a name="l00742"></a>00742     operator=(<span class="keyword">const</span> <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;);
<a name="l00743"></a>00743 
<a name="l00744"></a>00744     <span class="keywordtype">bool</span>
<a name="l00745"></a>00745     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;) <span class="keyword">const</span>;
<a name="l00746"></a>00746 
<a name="l00747"></a>00747     <span class="keywordtype">void</span>
<a name="l00748"></a>00748     error(
<a name="l00749"></a>00749             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  theContext,
<a name="l00750"></a>00750             XalanMessages::Codes            theErrorCode,
<a name="l00751"></a>00751             <span class="keyword">const</span> Locator*                  theLocator,
<a name="l00752"></a>00752             <span class="keyword">const</span> XalanDOMChar*             theParam1 = 0,
<a name="l00753"></a>00753             <span class="keyword">const</span> XalanDOMChar*             theParam2 = 0,
<a name="l00754"></a>00754             <span class="keyword">const</span> XalanDOMChar*             theParam3 = 0) <span class="keyword">const</span>;
<a name="l00755"></a>00755 <span class="comment"></span>
<a name="l00756"></a>00756 <span class="comment">    /**</span>
<a name="l00757"></a>00757 <span class="comment">     * Given a target element, find the template that best matches in the given</span>
<a name="l00758"></a>00758 <span class="comment">     * stylesheet, using only imports</span>
<a name="l00759"></a>00759 <span class="comment">     *</span>
<a name="l00760"></a>00760 <span class="comment">     * @param executionContext current execution context</span>
<a name="l00761"></a>00761 <span class="comment">     * @param targetNode        node that needs a rule</span>
<a name="l00762"></a>00762 <span class="comment">     * @param targetNodeType    the type of targetNode</span>
<a name="l00763"></a>00763 <span class="comment">     * @param mode              string indicating the mode</span>
<a name="l00764"></a>00764 <span class="comment">     * @return pointer to rule that best matches targetElem</span>
<a name="l00765"></a>00765 <span class="comment">     */</span>
<a name="l00766"></a>00766     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
<a name="l00767"></a>00767     findTemplateInImports(
<a name="l00768"></a>00768             <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;     executionContext,
<a name="l00769"></a>00769             <a class="code" href="classXalanNode.html">XalanNode</a>*                      targetNode,
<a name="l00770"></a>00770             <a class="code" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">XalanNode::NodeType</a>             targetNodeType,
<a name="l00771"></a>00771             <span class="keyword">const</span> <a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>&amp;               mode) <span class="keyword">const</span>;
<a name="l00772"></a>00772 <span class="comment"></span>
<a name="l00773"></a>00773 <span class="comment">    /**</span>
<a name="l00774"></a>00774 <span class="comment">     * The full XSLT Namespace URI.  To be replaced by the one actually</span>
<a name="l00775"></a>00775 <span class="comment">     * found.</span>
<a name="l00776"></a>00776 <span class="comment">     */</span>
<a name="l00777"></a>00777     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                          m_XSLTNamespaceURI;
<a name="l00778"></a>00778 <span class="comment"></span>
<a name="l00779"></a>00779 <span class="comment">    /**</span>
<a name="l00780"></a>00780 <span class="comment">     * A vector of the -imported- XSL Stylesheets.</span>
<a name="l00781"></a>00781 <span class="comment">     */</span>
<a name="l00782"></a>00782     StylesheetVectorType                    m_imports;
<a name="l00783"></a>00783 
<a name="l00784"></a>00784     <a class="code" href="classXalanVector.html#ad6fb8b1165e71ac328cf6408c529548f">StylesheetVectorType::size_type</a>         m_importsSize;
<a name="l00785"></a>00785 <span class="comment"></span>
<a name="l00786"></a>00786 <span class="comment">    /**</span>
<a name="l00787"></a>00787 <span class="comment">     * A stack to keep track of the result tree namespaces.</span>
<a name="l00788"></a>00788 <span class="comment">     */</span>
<a name="l00789"></a>00789     NamespacesStackType                     m_namespaces;
<a name="l00790"></a>00790 <span class="comment"></span>
<a name="l00791"></a>00791 <span class="comment">    /** </span>
<a name="l00792"></a>00792 <span class="comment">     * A list of namespace declarations,</span>
<a name="l00793"></a>00793 <span class="comment">     * for mapping from prefix to namespace URI.</span>
<a name="l00794"></a>00794 <span class="comment">     */</span>
<a name="l00795"></a>00795     NamespaceVectorType                     m_namespaceDecls;
<a name="l00796"></a>00796 <span class="comment"></span>
<a name="l00797"></a>00797 <span class="comment">    /**</span>
<a name="l00798"></a>00798 <span class="comment">     * Tells if the stylesheet is without an xsl:stylesheet and xsl:template</span>
<a name="l00799"></a>00799 <span class="comment">     * wrapper.</span>
<a name="l00800"></a>00800 <span class="comment">     */</span>
<a name="l00801"></a>00801     <span class="keywordtype">bool</span>                                    m_isWrapperless;
<a name="l00802"></a>00802 <span class="comment"></span>
<a name="l00803"></a>00803 <span class="comment">    /**</span>
<a name="l00804"></a>00804 <span class="comment">     * The table of extension namespaces.</span>
<a name="l00805"></a>00805 <span class="comment">     */</span>
<a name="l00806"></a>00806     ExtensionNamespacesMapType              m_extensionNamespaces;
<a name="l00807"></a>00807 <span class="comment"></span>
<a name="l00808"></a>00808 <span class="comment">    /**</span>
<a name="l00809"></a>00809 <span class="comment">     * The first template of the template children.</span>
<a name="l00810"></a>00810 <span class="comment">     */</span>
<a name="l00811"></a>00811     <a class="code" href="classElemTemplate.html">ElemTemplate</a>*                           m_firstTemplate;
<a name="l00812"></a>00812 <span class="comment"></span>
<a name="l00813"></a>00813 <span class="comment">    /**</span>
<a name="l00814"></a>00814 <span class="comment">     * A stack of who&#39;s including who is needed in order to support &quot;It is an</span>
<a name="l00815"></a>00815 <span class="comment">     * error if a stylesheet directly or indirectly includes itself.&quot;</span>
<a name="l00816"></a>00816 <span class="comment">     */</span>
<a name="l00817"></a>00817     URLStackType                            m_includeStack;
<a name="l00818"></a>00818 <span class="comment"></span>
<a name="l00819"></a>00819 <span class="comment">    /**</span>
<a name="l00820"></a>00820 <span class="comment">     * Keyed on string macro names, and holding values that are macro elements</span>
<a name="l00821"></a>00821 <span class="comment">     * in the XSL DOM tree. Initialized in initMacroLookupTable, and used in</span>
<a name="l00822"></a>00822 <span class="comment">     * findNamedTemplate.</span>
<a name="l00823"></a>00823 <span class="comment">     */</span>
<a name="l00824"></a>00824     ElemTemplateMapType                     m_namedTemplates;
<a name="l00825"></a>00825 <span class="comment"></span>
<a name="l00826"></a>00826 <span class="comment">    /**</span>
<a name="l00827"></a>00827 <span class="comment">     * Table for defined constants, keyed on the names.</span>
<a name="l00828"></a>00828 <span class="comment">     */</span>
<a name="l00829"></a>00829     ElemVariableVectorType                  m_topLevelVariables;
<a name="l00830"></a>00830 <span class="comment"></span>
<a name="l00831"></a>00831 <span class="comment">    /**</span>
<a name="l00832"></a>00832 <span class="comment">     * The version of XSL that was declared.</span>
<a name="l00833"></a>00833 <span class="comment">     */</span>
<a name="l00834"></a>00834     <span class="keywordtype">double</span>                                  m_XSLTVerDeclared;
<a name="l00835"></a>00835 <span class="comment"></span>
<a name="l00836"></a>00836 <span class="comment">    /**</span>
<a name="l00837"></a>00837 <span class="comment">     * This table is keyed on the target elements of patterns, and contains linked</span>
<a name="l00838"></a>00838 <span class="comment">     * lists of the actual patterns that match the target element to some degree</span>
<a name="l00839"></a>00839 <span class="comment">     * of specifity.</span>
<a name="l00840"></a>00840 <span class="comment">     */</span>
<a name="l00841"></a>00841     PatternTableMapType                         m_elementPatternTable;
<a name="l00842"></a>00842 
<a name="l00843"></a>00843     <span class="keyword">const</span> PatternTableMapType::const_iterator   m_elementPatternTableEnd;
<a name="l00844"></a>00844 
<a name="l00845"></a>00845     PatternTableVectorType                      m_elementAnyPatternList;
<a name="l00846"></a>00846 <span class="comment"></span>
<a name="l00847"></a>00847 <span class="comment">    /**</span>
<a name="l00848"></a>00848 <span class="comment">     * This table is keyed on the target attributes of patterns, and contains linked</span>
<a name="l00849"></a>00849 <span class="comment">     * lists of the actual patterns that match the target attribute to some degree</span>
<a name="l00850"></a>00850 <span class="comment">     * of specifity.</span>
<a name="l00851"></a>00851 <span class="comment">     */</span>
<a name="l00852"></a>00852     PatternTableMapType                         m_attributePatternTable;
<a name="l00853"></a>00853 
<a name="l00854"></a>00854     <span class="keyword">const</span> PatternTableMapType::const_iterator   m_attributePatternTableEnd;
<a name="l00855"></a>00855 
<a name="l00856"></a>00856     PatternTableVectorType                      m_attributeAnyPatternList;
<a name="l00857"></a>00857 <span class="comment"></span>
<a name="l00858"></a>00858 <span class="comment">    /**</span>
<a name="l00859"></a>00859 <span class="comment">     * These tables are for text, comment, root, and PI node templates.</span>
<a name="l00860"></a>00860 <span class="comment">     */</span>
<a name="l00861"></a>00861     PatternTableVectorType                  m_textPatternList;
<a name="l00862"></a>00862 
<a name="l00863"></a>00863     PatternTableVectorType                  m_commentPatternList;
<a name="l00864"></a>00864 
<a name="l00865"></a>00865     PatternTableVectorType                  m_rootPatternList;
<a name="l00866"></a>00866 
<a name="l00867"></a>00867     PatternTableVectorType                  m_piPatternList;
<a name="l00868"></a>00868 <span class="comment"></span>
<a name="l00869"></a>00869 <span class="comment">    /**</span>
<a name="l00870"></a>00870 <span class="comment">     * This table is for patterns that match &quot;node()&quot;.</span>
<a name="l00871"></a>00871 <span class="comment">     */</span>
<a name="l00872"></a>00872     PatternTableVectorType                  m_nodePatternList;
<a name="l00873"></a>00873 
<a name="l00874"></a>00874     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>                               m_patternCount;
<a name="l00875"></a>00875 
<a name="l00876"></a>00876     ElemDecimalFormatVectorType             m_elemDecimalFormats;
<a name="l00877"></a>00877 
<a name="l00878"></a>00878     <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>                       m_namespacesHandler;
<a name="l00879"></a>00879 
<a name="l00880"></a>00880     <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>             s_emptyString;
<a name="l00881"></a>00881 
<a name="l00882"></a>00882     <span class="keyword">static</span> <span class="keyword">const</span> PatternTableVectorType     s_emptyTemplateList;
<a name="l00883"></a>00883 };
<a name="l00884"></a>00884 
<a name="l00885"></a>00885 
<a name="l00886"></a>00886 
<a name="l00887"></a>00887 XALAN_CPP_NAMESPACE_END
<a name="l00888"></a>00888 
<a name="l00889"></a>00889 
<a name="l00890"></a>00890 
<a name="l00891"></a>00891 <span class="preprocessor">#endif  // XALAN_STYLESHEET_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>
