blob: c50fe35711edefdf8a7d3da2291d1526f24b27be [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>Stylesheet.hpp</h1><a href="Stylesheet_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016
00017 <font class="preprocessor">#if !defined(XALAN_STYLESHEET_HEADER_GUARD)</font>
<a name="l00018"></a><a class="code" href="Stylesheet_8hpp.html#a0">00018</a> <font class="preprocessor"></font><font class="preprocessor">#define XALAN_STYLESHEET_HEADER_GUARD</font>
00019 <font class="preprocessor"></font>
00020
00021
00022 <font class="comment">// Base include file. Must be first.</font>
00023 <font class="preprocessor">#include "<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>"</font>
00024
00025
00026
00027 <font class="preprocessor">#include &lt;<a class="code" href="XalanNode_8hpp.html">xalanc/XalanDOM/XalanNode.hpp</a>&gt;</font>
00028 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00029
00030
00031
00032 <font class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</font>
00033 <font class="preprocessor">#include &lt;<a class="code" href="XalanMap_8hpp.html">xalanc/Include/XalanMap.hpp</a>&gt;</font>
00034
00035
00036
00037 <font class="preprocessor">#include &lt;<a class="code" href="PrefixResolver_8hpp.html">xalanc/PlatformSupport/PrefixResolver.hpp</a>&gt;</font>
00038
00039
00040
00041 <font class="preprocessor">#include &lt;<a class="code" href="NameSpace_8hpp.html">xalanc/XPath/NameSpace.hpp</a>&gt;</font>
00042 <font class="preprocessor">#include &lt;<a class="code" href="XalanQNameByReference_8hpp.html">xalanc/XPath/XalanQNameByReference.hpp</a>&gt;</font>
00043 <font class="preprocessor">#include &lt;<a class="code" href="XPath_8hpp.html">xalanc/XPath/XPath.hpp</a>&gt;</font>
00044
00045
00046
00047 <font class="preprocessor">#include &lt;<a class="code" href="NamespacesHandler_8hpp.html">xalanc/XSLT/NamespacesHandler.hpp</a>&gt;</font>
00048 <font class="preprocessor">#include &lt;<a class="code" href="KeyDeclaration_8hpp.html">xalanc/XSLT/KeyDeclaration.hpp</a>&gt;</font>
00049 <font class="preprocessor">#include &lt;<a class="code" href="StylesheetConstructionContext_8hpp.html">xalanc/XSLT/StylesheetConstructionContext.hpp</a>&gt;</font>
00050 <font class="preprocessor">#include &lt;<a class="code" href="StylesheetExecutionContext_8hpp.html">xalanc/XSLT/StylesheetExecutionContext.hpp</a>&gt;</font>
00051 <font class="preprocessor">#include &lt;<a class="code" href="XalanSpaceNodeTester_8hpp.html">xalanc/XSLT/XalanSpaceNodeTester.hpp</a>&gt;</font>
00052
00053
00054
00055 XALAN_CPP_NAMESPACE_BEGIN
00056
00057
00058
<a name="l00059"></a><a class="code" href="Stylesheet_8hpp.html#a1">00059</a> <font class="keyword">class </font><a class="code" href="classExtensionNSHandler.html">ExtensionNSHandler</a>;
00060 <font class="keyword">class </font><a class="code" href="classXalanDecimalFormatSymbols.html">XalanDecimalFormatSymbols</a>;
00061 <font class="keyword">class </font><a class="code" href="classElemDecimalFormat.html">ElemDecimalFormat</a>;
00062 <font class="keyword">class </font><a class="code" href="classElemTemplate.html">ElemTemplate</a>;
00063 <font class="keyword">class </font><a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>;
00064 <font class="keyword">class </font><a class="code" href="classElemVariable.html">ElemVariable</a>;
00065 <font class="keyword">class </font>KeyTable;
00066 <font class="keyword">class </font><a class="code" href="classNodeRefListBase.html">NodeRefListBase</a>;
00067 <font class="keyword">class </font><a class="code" href="classPrefixResolver.html">PrefixResolver</a>;
00068 <font class="keyword">class </font><a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>;
00069 <font class="keyword">class </font>StylesheetRoot;
00070 <font class="keyword">class </font><a class="code" href="classXalanMatchPatternData.html">XalanMatchPatternData</a>;
00071 <font class="keyword">class </font><a class="code" href="classXalanQName.html">XalanQName</a>;
00072 <font class="keyword">class </font><a class="code" href="classXObject.html">XObject</a>;
00073 <font class="keyword">class </font><a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>;
00074
00075
<a name="l00076"></a><a class="code" href="Stylesheet_8hpp.html#a2">00076</a> <font class="keyword">typedef</font> XalanVector&lt;const XalanMatchPatternData*&gt; PatternTableVectorTypeDecl;
<a name="l00077"></a><a class="code" href="Stylesheet_8hpp.html#a3">00077</a> <a class="code" href="XalanMemoryManagement_8hpp.html#a4">XALAN_USES_MEMORY_MANAGER</a>(PatternTableVectorTypeDecl)
00078
00079
00084 <font class="keyword">class </font>XALAN_XSLT_EXPORT Stylesheet : <font class="keyword">protected</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>
00085 {
00086
00087 <font class="keyword">public</font>:
00088
00089 <font class="keyword">typedef</font> StylesheetConstructionContext::size_type size_type;
00090 <font class="keyword">typedef</font> StylesheetExecutionContext::ParamVectorType ParamVectorType;
00091 <font class="keyword">typedef</font> XalanQName::NamespaceVectorType <a class="code" href="classXalanDeque.html">NamespaceVectorType</a>;
00092 <font class="keyword">typedef</font> XalanQName::NamespacesStackType <a class="code" href="classXalanDeque.html">NamespacesStackType</a>;
00093
00094 <font class="keyword">typedef</font> XalanVector&lt;ElemVariable*&gt; ElemVariableVectorType;
00095 <font class="keyword">typedef</font> XalanVector&lt;KeyDeclaration&gt; KeyDeclarationVectorType;
00096 <font class="keyword">typedef</font> XalanVector&lt;Stylesheet*&gt; StylesheetVectorType;
00097 <font class="keyword">typedef</font> XalanVector&lt;XalanDOMString&gt; URLStackType;
00098 <font class="keyword">typedef</font> XalanVector&lt;ElemDecimalFormat*&gt; ElemDecimalFormatVectorType;
00099 <font class="keyword">typedef</font> XalanVector&lt;XalanSpaceNodeTester&gt; WhitespaceElementsVectorType;
00100 <font class="keyword">typedef</font> PatternTableVectorTypeDecl PatternTableVectorType;
00101
00102 <font class="keyword">typedef</font> <a class="code" href="classXalanMap.html">XalanMap&lt;XalanDOMString, ExtensionNSHandler*&gt;</a> ExtensionNamespacesMapType;
00103
00104 <font class="keyword">typedef</font> <a class="code" href="classXalanMap.html">XalanMap</a>&lt;<a class="code" href="classXalanQNameByReference.html">XalanQNameByReference</a>,
00105 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>* &gt; ElemTemplateMapType;
00106
00107 <font class="keyword">typedef</font> <a class="code" href="classXalanMap.html">XalanMap&lt;const XalanNode*, KeyTable* &gt;</a> KeyTablesTableType;
00108
00109 <font class="keyword">typedef</font> <a class="code" href="classXalanMap.html">XalanMap&lt;XalanDOMString, PatternTableVectorType&gt;</a> PatternTableMapType;
00110
00111 <font class="keyword">typedef</font> StylesheetConstructionContext::GetAndReleaseCachedString <a class="code" href="classXPathExecutionContext_1_1GetAndReleaseCachedString.html">GetAndReleaseCachedString</a>;
00112
00118 <a class="code" href="ExtensionNSHandler_8hpp.html#a1">Stylesheet</a>(
00119 StylesheetRoot&amp; root,
00120 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; baseIdentifier,
00121 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00122
00123 <font class="keyword">virtual</font>
00124 ~Stylesheet();
00125
00126 <font class="keyword">static</font> Stylesheet*
00127 create(MemoryManagerType&amp; theManager,
00128 StylesheetRoot&amp; root,
00129 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; baseIdentifier,
00130 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00131
00132 MemoryManagerType&amp;
00133 getMemoryManager()<font class="keyword"></font>
00134 <font class="keyword"> </font>{
00135 <font class="keywordflow">return</font> m_elementPatternTable.getMemoryManager();
00136 }
00137
00143 <font class="keywordtype">double</font>
00144 getXSLTVerDeclared()<font class="keyword"> const</font>
00145 <font class="keyword"> </font>{
00146 <font class="keywordflow">return</font> m_XSLTVerDeclared;
00147 }
00148
00154 <font class="keywordtype">void</font>
00155 setXSLTVerDeclared(<font class="keywordtype">double</font> ver)<font class="keyword"></font>
00156 <font class="keyword"> </font>{
00157 m_XSLTVerDeclared = ver;
00158 }
00159
00165 <font class="keyword">const</font> StylesheetRoot&amp;
00166 getStylesheetRoot()<font class="keyword"> const</font>
00167 <font class="keyword"> </font>{
00168 <font class="keywordflow">return</font> m_stylesheetRoot;
00169 }
00170
00176 StylesheetRoot&amp;
00177 getStylesheetRoot()<font class="keyword"></font>
00178 <font class="keyword"> </font>{
00179 <font class="keywordflow">return</font> m_stylesheetRoot;
00180 }
00181
00187 <font class="keyword">const</font> <a class="code" href="classXalanDeque.html">NamespacesStackType</a>&amp;
00188 getNamespaces()<font class="keyword"> const</font>
00189 <font class="keyword"> </font>{
00190 <font class="keywordflow">return</font> m_namespaces;
00191 }
00192
00198 <a class="code" href="classXalanDeque.html">NamespacesStackType</a>&amp;
00199 getNamespaces()<font class="keyword"></font>
00200 <font class="keyword"> </font>{
00201 <font class="keywordflow">return</font> m_namespaces;
00202 }
00203
00204 <font class="keyword">const</font> <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>&amp;
00205 getNamespacesHandler()<font class="keyword"> const</font>
00206 <font class="keyword"> </font>{
00207 <font class="keywordflow">return</font> m_namespacesHandler;
00208 }
00209
00210 <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a>&amp;
00211 getNamespacesHandler()<font class="keyword"></font>
00212 <font class="keyword"> </font>{
00213 <font class="keywordflow">return</font> m_namespacesHandler;
00214 }
00215
00221 <font class="keyword">const</font> <a class="code" href="classXalanDeque.html">NamespaceVectorType</a>&amp;
00222 getNamespaceDecls()<font class="keyword"> const</font>
00223 <font class="keyword"> </font>{
00224 <font class="keywordflow">return</font> m_namespaceDecls;
00225 }
00226
00232 <a class="code" href="classXalanDeque.html">NamespaceVectorType</a>&amp;
00233 getNamespaceDecls()<font class="keyword"></font>
00234 <font class="keyword"> </font>{
00235 <font class="keywordflow">return</font> m_namespaceDecls;
00236 }
00237
00243 <font class="keywordtype">void</font>
00244 setNamespaceDecls(<font class="keyword">const</font> <a class="code" href="classXalanDeque.html">NamespaceVectorType</a>&amp; ns)<font class="keyword"></font>
00245 <font class="keyword"> </font>{
00246 m_namespaceDecls = ns;
00247 }
00248
00255 <font class="keywordtype">void</font>
00256 pushNamespaces(<font class="keyword">const</font> AttributeListType&amp; atts);
00257
00261 <font class="keywordtype">void</font>
00262 popNamespaces()<font class="keyword"></font>
00263 <font class="keyword"> </font>{
00264 assert(m_namespaces.empty() == <font class="keyword">false</font>);
00265
00266 m_namespaces.pop_back();
00267 }
00268
00269 <font class="keywordtype">void</font>
00270 addWhitespaceElement(<font class="keyword">const</font> <a class="code" href="classXalanSpaceNodeTester.html">XalanSpaceNodeTester</a>&amp; theTester);
00271
00275 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00276 postConstruction(<a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00277
00287 <font class="keywordtype">bool</font>
00288 isAttrOK(
00289 <font class="keyword">const</font> XalanDOMChar* attrName,
00290 <font class="keyword">const</font> AttributeListType&amp; atts,
00291 <font class="keywordtype">int</font> which,
00292 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext) <font class="keyword">const</font>;
00293
00300 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00301 getNamespaceFromStack(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; nodeName,
00302 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theBuffer)<font class="keyword"> const</font>
00303 <font class="keyword"> </font>{
00304 <font class="keywordflow">return</font> getNamespaceFromStack(<a class="code" href="DOMStringHelper_8hpp.html#a7">c_wstr</a>(nodeName), theBuffer);
00305 }
00306
00313 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00314 getNamespaceFromStack(<font class="keyword">const</font> XalanDOMChar* nodeName,
00315 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theBuffer) <font class="keyword">const</font>;
00316
00324 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00325 getNamespaceForPrefixFromStack(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; prefix)<font class="keyword"> const</font>
00326 <font class="keyword"> </font>{
00327 <font class="keywordflow">return</font> <a class="code" href="classXalanQName.html#d0">XalanQName::getNamespaceForPrefix</a>(m_namespaces, prefix);
00328 }
00329
00337 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00338 getNamespaceForPrefixFromStack(<font class="keyword">const</font> XalanDOMChar* prefix)<font class="keyword"> const</font>
00339 <font class="keyword"> </font>{
00340 assert(prefix != 0);
00341
00342 <font class="keywordflow">return</font> <a class="code" href="classXalanQName.html#d0">XalanQName::getNamespaceForPrefix</a>(m_namespaces, (<font class="keyword">const</font> XalanDOMChar*)prefix);
00343 }
00344
00352 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00353 <a class="code" href="classPrefixResolver.html#a3">getNamespaceForPrefix</a>(
00354 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; prefix,
00355 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext) <font class="keyword">const</font>;
00356
00364 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00365 <a class="code" href="classPrefixResolver.html#a3">getNamespaceForPrefix</a>(
00366 <font class="keyword">const</font> XalanDOMChar* prefix,
00367 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext) <font class="keyword">const</font>;
00368
00376 <font class="keywordtype">void</font>
00377 processExcludeResultPrefixes(
00378 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; theConstructionContext,
00379 <font class="keyword">const</font> XalanDOMChar* theValue)<font class="keyword"></font>
00380 <font class="keyword"> </font>{
00381 m_namespacesHandler.processExcludeResultPrefixes(
00382 theConstructionContext,
00383 theValue,
00384 m_namespaces);
00385 }
00386
00393 <font class="keywordtype">void</font>
00394 addTemplate(
00395 <a class="code" href="classElemTemplate.html">ElemTemplate</a>* theTemplate,
00396 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00397
00406 <font class="keywordtype">bool</font>
00407 getYesOrNo(
00408 <font class="keyword">const</font> XalanDOMChar* aname,
00409 <font class="keyword">const</font> XalanDOMChar* val,
00410 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext) <font class="keyword">const</font>;
00411
00417 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00418 getBaseIdentifier()<font class="keyword"> const</font>
00419 <font class="keyword"> </font>{
00420 <font class="keywordflow">return</font> m_baseIdent;
00421 }
00422
00431 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00432 getCurrentIncludeBaseIdentifier()<font class="keyword"> const</font>
00433 <font class="keyword"> </font>{
00434 <font class="keywordflow">return</font> m_includeStack.empty() == <font class="keyword">true</font> ? getBaseIdentifier() : m_includeStack.back();
00435 }
00436
00444 <font class="keywordtype">void</font>
00445 processNSAliasElement(
00446 <font class="keyword">const</font> XalanDOMChar* name,
00447 <font class="keyword">const</font> AttributeListType&amp; atts,
00448 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00449
00455 <font class="keywordtype">void</font>
00456 processDecimalFormatElement(
00457 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext,
00458 <font class="keyword">const</font> AttributeListType&amp; atts,
00459 <font class="keyword">const</font> LocatorType* locator = 0);
00460
00468 <font class="keyword">const</font> <a class="code" href="classXalanDecimalFormatSymbols.html">XalanDecimalFormatSymbols</a>*
00469 getDecimalFormatSymbols(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>&amp; theQName) <font class="keyword">const</font>;
00470
00476 <font class="keywordtype">void</font>
00477 addImport(Stylesheet* theStylesheet)<font class="keyword"></font>
00478 <font class="keyword"> </font>{
00479 m_imports.insert(m_imports.begin(), theStylesheet);
00480 }
00481
00487 <font class="keywordtype">bool</font>
00488 isWrapperless()<font class="keyword"> const</font>
00489 <font class="keyword"> </font>{
00490 <font class="keywordflow">return</font> m_isWrapperless;
00491 }
00492
00493 <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>*
00494 initWrapperless(
00495 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext,
00496 <font class="keyword">const</font> LocatorType* locator);
00497
00503 URLStackType&amp;
00504 getIncludeStack()<font class="keyword"></font>
00505 <font class="keyword"> </font>{
00506 <font class="keywordflow">return</font> m_includeStack;
00507 }
00508
00517 <font class="keywordtype">void</font>
00518 processKeyElement(
00519 <font class="keyword">const</font> <a class="code" href="classPrefixResolver.html">PrefixResolver</a>&amp; nsContext,
00520 <font class="keyword">const</font> AttributeListType&amp; atts,
00521 <font class="keyword">const</font> LocatorType* locator,
00522 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; constructionContext);
00523
00530 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
00531 findNamedTemplate(<font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>&amp; qname) <font class="keyword">const</font>;
00532
00541 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
00542 findTemplate(
00543 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; executionContext,
00544 <a class="code" href="classXalanNode.html">XalanNode</a>* targetNode)<font class="keyword"> const</font>
00545 <font class="keyword"> </font>{
00546 assert(targetNode != 0);
00547
00548 <font class="keywordflow">return</font> findTemplate(
00549 executionContext,
00550 targetNode,
00551 targetNode-&gt;<a class="code" href="classXalanNode.html#a4">getNodeType</a>(),
00552 s_emptyQName,
00553 <font class="keyword">false</font>);
00554 }
00555
00567 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
00568 findTemplate(
00569 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; executionContext,
00570 <a class="code" href="classXalanNode.html">XalanNode</a>* targetNode,
00571 XalanNode::NodeType targetNodeType,
00572 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>&amp; mode,
00573 <font class="keywordtype">bool</font> onlyUseImports) <font class="keyword">const</font>;
00574
00581 <font class="keyword">static</font> <font class="keywordtype">void</font>
00582 addObjectIfNotFound(
00583 <font class="keyword">const</font> <a class="code" href="classXalanMatchPatternData.html">XalanMatchPatternData</a>* thePattern,
00584 PatternTableVectorType&amp; theVector);
00585
00595 <font class="keyword">static</font> <font class="keywordtype">void</font>
00596 addObjectIfNotFound(
00597 <font class="keyword">const</font> <a class="code" href="classXalanMatchPatternData.html">XalanMatchPatternData</a>* thePattern,
00598 <font class="keyword">const</font> <a class="code" href="classXalanMatchPatternData.html">XalanMatchPatternData</a>* theArray[],
00599 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>&amp; theArraySize);
00600
00608 <font class="keyword">const</font> PatternTableVectorType*
00609 locateElementMatchPatternDataList(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theName) <font class="keyword">const</font>;
00610
00618 <font class="keyword">const</font> PatternTableVectorType*
00619 locateAttributeMatchPatternDataList(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theName) <font class="keyword">const</font>;
00620
00627 <font class="keyword">const</font> PatternTableVectorType*
00628 locateMatchPatternDataList(
00629 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>&amp; theNode,
00630 XalanNode::NodeType targetNodeType) <font class="keyword">const</font>;
00631
00640 <font class="keywordtype">void</font>
00641 processExtensionNamespace(
00642 <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp; theConstructionContext,
00643 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; uri);
00644
00651 <a class="code" href="classExtensionNSHandler.html">ExtensionNSHandler</a>*
00652 lookupExtensionNSHandler(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; uri)<font class="keyword"> const</font>
00653 <font class="keyword"> </font>{
00654 <font class="keyword">const</font> ExtensionNamespacesMapType::const_iterator it =
00655 m_extensionNamespaces.find(uri);
00656
00657 <font class="keywordflow">return</font> it == m_extensionNamespaces.end() ? 0 : (*it).second;
00658 }
00659
00666 <font class="keywordtype">void</font>
00667 setTopLevelVariable(<a class="code" href="classElemVariable.html">ElemVariable</a>* var)<font class="keyword"></font>
00668 <font class="keyword"> </font>{
00669 m_topLevelVariables.push_back(var);
00670 }
00671
00679 <font class="keywordtype">void</font>
00680 pushTopLevelVariables(
00681 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; executionContext,
00682 <font class="keyword">const</font> ParamVectorType&amp; topLevelParams) <font class="keyword">const</font>;
00683
00684
00685 <font class="comment">// These interfaces are inherited from PrefixResolver...</font>
00686
00687 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
00688 <a class="code" href="classPrefixResolver.html#a3">getNamespaceForPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; prefix) <font class="keyword">const</font>;
00689
00690 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00691 <a class="code" href="classPrefixResolver.html#a4">getURI</a>() <font class="keyword">const</font>;
00692
00693 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00694 getXSLTNamespaceURI()<font class="keyword"> const</font>
00695 <font class="keyword"> </font>{
00696 <font class="keywordflow">return</font> m_XSLTNamespaceURI;
00697 }
00698
00699 <font class="keywordtype">void</font>
00700 setXSLTNamespaceURI(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theURI)<font class="keyword"></font>
00701 <font class="keyword"> </font>{
00702 m_XSLTNamespaceURI = theURI;
00703 }
00704
00705 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
00706 getFirstTemplate()<font class="keyword"> const </font>
00707 <font class="keyword"> </font>{
00708 <font class="keywordflow">return</font> m_firstTemplate;
00709 }
00710
00711 <font class="keyword">protected</font>:
00712
00716 StylesheetRoot&amp; m_stylesheetRoot;
00717
00721 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_baseIdent;
00722
00727 KeyDeclarationVectorType m_keyDeclarations;
00728
00729 WhitespaceElementsVectorType m_whitespaceElements;
00730
00731 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXalanQNameByReference.html">XalanQNameByReference</a> s_emptyQName;
00732
00733 <font class="keyword">private</font>:
00734
00735 <font class="comment">// Not defined...</font>
00736 <a class="code" href="ExtensionNSHandler_8hpp.html#a1">Stylesheet</a>(<font class="keyword">const</font> Stylesheet&amp;);
00737
00738 Stylesheet&amp;
00739 operator=(<font class="keyword">const</font> Stylesheet&amp;);
00740
00741 <font class="keywordtype">bool</font>
00742 <a class="code" href="ElemAttributeSet_8hpp.html#a1">operator==</a>(<font class="keyword">const</font> Stylesheet&amp;) <font class="keyword">const</font>;
00743
00744
00755 <font class="keyword">const</font> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
00756 findTemplateInImports(
00757 <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp; executionContext,
00758 <a class="code" href="classXalanNode.html">XalanNode</a>* targetNode,
00759 XalanNode::NodeType targetNodeType,
00760 <font class="keyword">const</font> <a class="code" href="classXalanQName.html">XalanQName</a>&amp; mode) <font class="keyword">const</font>;
00761
00766 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_XSLTNamespaceURI;
00767
00771 StylesheetVectorType m_imports;
00772
00773 StylesheetVectorType::size_type m_importsSize;
00774
00778 <a class="code" href="classXalanDeque.html">NamespacesStackType</a> m_namespaces;
00779
00784 <a class="code" href="classXalanDeque.html">NamespaceVectorType</a> m_namespaceDecls;
00785
00790 <font class="keywordtype">bool</font> m_isWrapperless;
00791
00795 ExtensionNamespacesMapType m_extensionNamespaces;
00796
00800 <a class="code" href="classElemTemplate.html">ElemTemplate</a>* m_firstTemplate;
00801
00806 URLStackType m_includeStack;
00807
00813 ElemTemplateMapType m_namedTemplates;
00814
00818 ElemVariableVectorType m_topLevelVariables;
00819
00823 <font class="keywordtype">double</font> m_XSLTVerDeclared;
00824
00830 PatternTableMapType m_elementPatternTable;
00831
00832 <font class="keyword">const</font> PatternTableMapType::const_iterator m_elementPatternTableEnd;
00833
00834 PatternTableVectorType m_elementAnyPatternList;
00835
00841 PatternTableMapType m_attributePatternTable;
00842
00843 <font class="keyword">const</font> PatternTableMapType::const_iterator m_attributePatternTableEnd;
00844
00845 PatternTableVectorType m_attributeAnyPatternList;
00846
00850 PatternTableVectorType m_textPatternList;
00851
00852 PatternTableVectorType m_commentPatternList;
00853
00854 PatternTableVectorType m_rootPatternList;
00855
00856 PatternTableVectorType m_piPatternList;
00857
00861 PatternTableVectorType m_nodePatternList;
00862
00863 size_type m_patternCount;
00864
00865 ElemDecimalFormatVectorType m_elemDecimalFormats;
00866
00867 <a class="code" href="classNamespacesHandler.html">NamespacesHandler</a> m_namespacesHandler;
00868
00869 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> s_emptyString;
00870 };
00871
00872
00873
00874 XALAN_CPP_NAMESPACE_END
00875
00876
00877
00878 <font class="preprocessor">#endif // XALAN_STYLESHEET_HEADER_GUARD</font>
</font></pre></div><p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>