blob: 7ddfa003ef729a2be21136c5ecae09fbb6763e84 [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>XPathFunctionTable.hpp</h1><a href="XPathFunctionTable_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016 <font class="preprocessor">#if !defined(XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="XPathFunctionTable_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019
00020
00021 <font class="comment">// Base include file. Must be first.</font>
00022 <font class="preprocessor">#include &lt;<a class="code" href="XPathDefinitions_8hpp.html">xalanc/XPath/XPathDefinitions.hpp</a>&gt;</font>
00023
00024
00025
00026 <font class="preprocessor">#include &lt;algorithm&gt;</font>
00027
00028
00029
00030 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00031
00032
00033
00034 <font class="preprocessor">#include &lt;<a class="code" href="STLHelper_8hpp.html">xalanc/Include/STLHelper.hpp</a>&gt;</font>
00035
00036
00037
00038 <font class="preprocessor">#include &lt;<a class="code" href="Function_8hpp.html">xalanc/XPath/Function.hpp</a>&gt;</font>
00039 <font class="preprocessor">#include &lt;<a class="code" href="XalanXPathException_8hpp.html">xalanc/XPath/XalanXPathException.hpp</a>&gt;</font>
00040
00041
00042
00043 XALAN_CPP_NAMESPACE_BEGIN
00044
00045
00046
<a name="l00050"></a><a class="code" href="classXPathExceptionFunctionNotAvailable.html">00050</a> <font class="keyword">class </font>XALAN_XPATH_EXPORT <a class="code" href="classXPathExceptionFunctionNotAvailable.html">XPathExceptionFunctionNotAvailable</a> : <font class="keyword">public</font> <a class="code" href="classXalanXPathException.html">XalanXPathException</a>
00051 {
00052 <font class="keyword">public</font>:
00053
<a name="l00054"></a><a class="code" href="classXPathExceptionFunctionNotAvailable.html#s0">00054</a> <font class="keyword">typedef</font> Function::LocatorType LocatorType;
00055
00056 <a class="code" href="classXPathExceptionFunctionNotAvailable.html#a0">XPathExceptionFunctionNotAvailable</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionNumber,
00057 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult);
00058
00059 <a class="code" href="classXPathExceptionFunctionNotAvailable.html#a0">XPathExceptionFunctionNotAvailable</a>(
00060 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionNumber,
00061 <font class="keyword">const</font> LocatorType&amp; theLocator,
00062 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult);
00063
00064 <a class="code" href="classXPathExceptionFunctionNotAvailable.html#a2">~XPathExceptionFunctionNotAvailable</a>();
00065 };
00066
00067
00068
<a name="l00073"></a><a class="code" href="classXPathExceptionFunctionNotSupported.html">00073</a> <font class="keyword">class </font>XALAN_XPATH_EXPORT <a class="code" href="classXPathExceptionFunctionNotSupported.html">XPathExceptionFunctionNotSupported</a> : <font class="keyword">public</font> <a class="code" href="classXalanXPathException.html">XalanXPathException</a>
00074 {
00075 <font class="keyword">public</font>:
00076
00077 <a class="code" href="classXPathExceptionFunctionNotSupported.html#a0">XPathExceptionFunctionNotSupported</a>(<font class="keyword">const</font> XalanDOMChar* theFunctionName,
00078 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult);
00079
00080 <a class="code" href="classXPathExceptionFunctionNotSupported.html#a1">~XPathExceptionFunctionNotSupported</a>();
00081 };
00082
00083
00084
<a name="l00088"></a><a class="code" href="classXPathFunctionTable.html">00088</a> <font class="keyword">class </font>XALAN_XPATH_EXPORT <a class="code" href="classXPathFunctionTable.html">XPathFunctionTable</a>
00089 {
00090 <font class="keyword">public</font>:
00091
00092 <font class="keyword">enum</font> { InvalidFunctionNumberID = -1, TableSize = 36 };
00093
<a name="l00094"></a><a class="code" href="classXPathFunctionTable.html#s0">00094</a> <font class="keyword">typedef</font> size_t SizeType;
<a name="l00095"></a><a class="code" href="classXPathFunctionTable.html#s1">00095</a> <font class="keyword">typedef</font> XalanDOMString::size_type StringSizeType;
<a name="l00096"></a><a class="code" href="classXPathFunctionTable.html#s2">00096</a> <font class="keyword">typedef</font> <a class="code" href="structDeleteFunctor.html">DeleteFunctor&lt;Function&gt;</a> <a class="code" href="structDeleteFunctor.html">DeleteFunctorType</a>;
00097
00103 <a class="code" href="classXPathFunctionTable.html#a0">XPathFunctionTable</a>(<font class="keywordtype">bool</font> fCreateTable = <font class="keyword">true</font>);
00104
00105 <a class="code" href="classXPathFunctionTable.html#a1">~XPathFunctionTable</a>();
00106
00107 <font class="keywordtype">void</font>
<a name="l00108"></a><a class="code" href="classXPathFunctionTable.html#a2">00108</a> <a class="code" href="classXPathFunctionTable.html#a2">setMemoryManager</a>(MemoryManagerType&amp; theManager)<font class="keyword"></font>
00109 <font class="keyword"> </font>{
00110 m_memoryManager = &amp;theManager;
00111 }
00115 <font class="keywordtype">void</font>
00116 <a class="code" href="classXPathFunctionTable.html#a3">CreateTable</a>();
00117
00121 <font class="keywordtype">void</font>
00122 <a class="code" href="classXPathFunctionTable.html#a4">DestroyTable</a>();
00123
00130 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp;
<a name="l00131"></a><a class="code" href="classXPathFunctionTable.html#a5">00131</a> <a class="code" href="classXPathFunctionTable.html#a5">operator[]</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionName)<font class="keyword"> const</font>
00132 <font class="keyword"> </font>{
00133 <font class="keyword">const</font> <font class="keywordtype">int</font> theFunctionID =
00134 getFunctionIndex(theFunctionName);
00135
00136 <font class="keywordflow">if</font> (theFunctionID != InvalidFunctionNumberID)
00137 {
00138 <font class="keywordflow">return</font> *m_functionTable[theFunctionID];
00139 }
00140 <font class="keywordflow">else</font>
00141 {
00142 MemoryManagerType* theManager = const_cast&lt;MemoryManagerType*&gt;(m_memoryManager);
00143
00144 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> theResult(*theManager);
00145
00146 <font class="keywordflow">throw</font> XPathExceptionFunctionNotAvailable(theFunctionName, theResult);
00147 }
00148 }
00149
00156 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp;
<a name="l00157"></a><a class="code" href="classXPathFunctionTable.html#a6">00157</a> <a class="code" href="classXPathFunctionTable.html#a5">operator[]</a>(<font class="keywordtype">int</font> theFunctionID)<font class="keyword"> const</font>
00158 <font class="keyword"> </font>{
00159 assert(theFunctionID &gt;= 0 &amp;&amp; theFunctionID &lt; TableSize);
00160 assert(m_functionTable[theFunctionID] != 0);
00161
00162 <font class="keywordflow">return</font> *m_functionTable[theFunctionID];
00163 }
00164
00171 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00172"></a><a class="code" href="classXPathFunctionTable.html#a7">00172</a> <a class="code" href="classXPathFunctionTable.html#a7">idToName</a>(<font class="keywordtype">int</font> theFunctionID,
00173 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult)<font class="keyword"> const</font>
00174 <font class="keyword"> </font>{
00175
00176 <font class="keywordflow">if</font> (theFunctionID &gt;= 0 &amp;&amp; theFunctionID &lt; TableSize)
00177 {
00178 theResult.<a class="code" href="classXalanDOMString.html#a39">assign</a>(
00179 s_functionNames[theFunctionID].m_name,
00180 s_functionNames[theFunctionID].m_size);
00181 }
00182
00183 <font class="keywordflow">return</font> theResult;
00184 }
00185
00192 <font class="keywordtype">int</font>
<a name="l00193"></a><a class="code" href="classXPathFunctionTable.html#a8">00193</a> <a class="code" href="classXPathFunctionTable.html#a8">nameToID</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theName)<font class="keyword"> const</font>
00194 <font class="keyword"> </font>{
00195 <font class="keywordflow">return</font> getFunctionIndex(theName);
00196 }
00197
00204 <font class="keywordtype">void</font>
<a name="l00205"></a><a class="code" href="classXPathFunctionTable.html#a9">00205</a> <a class="code" href="classXPathFunctionTable.html#a9">InstallFunction</a>(
00206 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionName,
00207 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; theFunction)<font class="keyword"></font>
00208 <font class="keyword"> </font>{
00209 <a class="code" href="classXPathFunctionTable.html#a9">InstallFunction</a>(theFunctionName.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), theFunction);
00210 }
00211
00218 <font class="keywordtype">bool</font>
<a name="l00219"></a><a class="code" href="classXPathFunctionTable.html#a10">00219</a> <a class="code" href="classXPathFunctionTable.html#a10">UninstallFunction</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionName)<font class="keyword"></font>
00220 <font class="keyword"> </font>{
00221 <font class="keywordflow">return</font> <a class="code" href="classXPathFunctionTable.html#a10">UninstallFunction</a>(theFunctionName.<a class="code" href="classXalanDOMString.html#a33">c_str</a>());
00222 }
00223
00230 <font class="keywordtype">void</font>
00231 <a class="code" href="classXPathFunctionTable.html#a9">InstallFunction</a>(
00232 <font class="keyword">const</font> XalanDOMChar* theFunctionName,
00233 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>&amp; theFunction);
00234
00241 <font class="keywordtype">bool</font>
00242 <a class="code" href="classXPathFunctionTable.html#a10">UninstallFunction</a>(<font class="keyword">const</font> XalanDOMChar* theFunctionName);
00243
00250 <font class="keywordtype">bool</font>
<a name="l00251"></a><a class="code" href="classXPathFunctionTable.html#a13">00251</a> <a class="code" href="classXPathFunctionTable.html#a13">isInstalledFunction</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theFunctionName)<font class="keyword"> const</font>
00252 <font class="keyword"> </font>{
00253 <font class="keywordflow">return</font> getFunctionIndex(theFunctionName) != InvalidFunctionNumberID ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00254 }
00255
00256 <font class="preprocessor">#if defined(XALAN_NO_MEMBER_TEMPLATES)</font>
00257 <font class="preprocessor"></font>
00258 <font class="keyword">typedef</font> XalanVector&lt;XalanDOMString&gt; InstalledFunctionNameVectorType;
00259
00265 <font class="keywordtype">void</font>
00266 <a class="code" href="classXPathFunctionTable.html#a14">getInstalledFunctionNames</a>(InstalledFunctionNameVectorType&amp; theVector)<font class="keyword"> const</font>
00267 <font class="keyword"> </font>{
00268 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> theString;
00269
00270 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i &lt; TableSize; ++i)
00271 {
00272 <font class="keywordflow">if</font> (m_functionTable[i] != 0)
00273 {
00274 theString.<a class="code" href="classXalanDOMString.html#a39">assign</a>(
00275 s_functionNames[i].m_name,
00276 s_functionNames[i].m_size);
00277
00278 theVector.push_back(theString);
00279 }
00280 }
00281 }
00282 <font class="preprocessor">#else</font>
00283 <font class="preprocessor"></font>
00289 template&lt;class OutputIteratorType&gt;
00290 <font class="keywordtype">void</font>
<a name="l00291"></a><a class="code" href="classXPathFunctionTable.html#a14">00291</a> <a class="code" href="classXPathFunctionTable.html#a14">getInstalledFunctionNames</a>(OutputIteratorType theIterator)<font class="keyword"> const</font>
00292 <font class="keyword"> </font>{
00293 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> theString(XalanMemMgrs::getDefaultXercesMemMgr());
00294
00295 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i &lt; TableSize; ++i)
00296 {
00297 <font class="keywordflow">if</font> (m_functionTable[i] != 0)
00298 {
00299 theString.<a class="code" href="classXalanDOMString.html#a39">assign</a>(
00300 s_functionNames[i].m_name,
00301 s_functionNames[i].m_size);
00302
00303 *theIterator = theString;
00304
00305 ++theIterator;
00306 }
00307 }
00308 }
00309 <font class="preprocessor">#endif</font>
00310 <font class="preprocessor"></font>
<a name="l00311"></a><a class="code" href="structXPathFunctionTable_1_1FunctionNameTableEntry.html">00311</a> <font class="keyword">struct </font>FunctionNameTableEntry
00312 {
<a name="l00313"></a><a class="code" href="structXPathFunctionTable_1_1FunctionNameTableEntry.html#m0">00313</a> <font class="keyword">const</font> XalanDOMChar* m_name;
00314
<a name="l00315"></a><a class="code" href="structXPathFunctionTable_1_1FunctionNameTableEntry.html#m1">00315</a> StringSizeType m_size;
00316 };
00317
00318 <font class="comment">// These are static strings for the functions supported.</font>
00319 <font class="comment">// Note that the XSLT functions are also here, since it's</font>
00320 <font class="comment">// just easier to do it this way.</font>
00321
00322 <font class="comment">// The string "id"</font>
<a name="l00323"></a><a class="code" href="classXPathFunctionTable.html#p0">00323</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_id[];
00324
00325 <font class="comment">// The string "key"</font>
<a name="l00326"></a><a class="code" href="classXPathFunctionTable.html#p1">00326</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_key[];
00327
00328 <font class="comment">// The string "not"</font>
<a name="l00329"></a><a class="code" href="classXPathFunctionTable.html#p2">00329</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_not[];
00330
00331 <font class="comment">// The string "sum"</font>
<a name="l00332"></a><a class="code" href="classXPathFunctionTable.html#p3">00332</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_sum[];
00333
00334 <font class="comment">// The string "lang"</font>
<a name="l00335"></a><a class="code" href="classXPathFunctionTable.html#p4">00335</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_lang[];
00336
00337 <font class="comment">// The string "last"</font>
<a name="l00338"></a><a class="code" href="classXPathFunctionTable.html#p5">00338</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_last[];
00339
00340 <font class="comment">// The string "name"</font>
<a name="l00341"></a><a class="code" href="classXPathFunctionTable.html#p6">00341</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_name[];
00342
00343 <font class="comment">// The string "true"</font>
<a name="l00344"></a><a class="code" href="classXPathFunctionTable.html#p7">00344</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_true[];
00345
00346 <font class="comment">// The string "count"</font>
<a name="l00347"></a><a class="code" href="classXPathFunctionTable.html#p8">00347</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_count[];
00348
00349 <font class="comment">// The string "false"</font>
<a name="l00350"></a><a class="code" href="classXPathFunctionTable.html#p9">00350</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_false[];
00351
00352 <font class="comment">// The string "floor"</font>
<a name="l00353"></a><a class="code" href="classXPathFunctionTable.html#p10">00353</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_floor[];
00354
00355 <font class="comment">// The string "round"</font>
<a name="l00356"></a><a class="code" href="classXPathFunctionTable.html#p11">00356</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_round[];
00357
00358 <font class="comment">// The string "concat"</font>
<a name="l00359"></a><a class="code" href="classXPathFunctionTable.html#p12">00359</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_concat[];
00360
00361 <font class="comment">// The string "number"</font>
<a name="l00362"></a><a class="code" href="classXPathFunctionTable.html#p13">00362</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_number[];
00363
00364 <font class="comment">// The string "string"</font>
<a name="l00365"></a><a class="code" href="classXPathFunctionTable.html#p14">00365</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_string[];
00366
00367 <font class="comment">// The string "boolean"</font>
<a name="l00368"></a><a class="code" href="classXPathFunctionTable.html#p15">00368</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_boolean[];
00369
00370 <font class="comment">// The string "ceiling"</font>
<a name="l00371"></a><a class="code" href="classXPathFunctionTable.html#p16">00371</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_ceiling[];
00372
00373 <font class="comment">// The string "current"</font>
<a name="l00374"></a><a class="code" href="classXPathFunctionTable.html#p17">00374</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_current[];
00375
00376 <font class="comment">// The string "contains"</font>
<a name="l00377"></a><a class="code" href="classXPathFunctionTable.html#p18">00377</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_contains[];
00378
00379 <font class="comment">// The string "document"</font>
<a name="l00380"></a><a class="code" href="classXPathFunctionTable.html#p19">00380</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_document[];
00381
00382 <font class="comment">// The string "position"</font>
<a name="l00383"></a><a class="code" href="classXPathFunctionTable.html#p20">00383</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_position[];
00384
00385 <font class="comment">// The string "substring"</font>
<a name="l00386"></a><a class="code" href="classXPathFunctionTable.html#p21">00386</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_substring[];
00387
00388 <font class="comment">// The string "translate"</font>
<a name="l00389"></a><a class="code" href="classXPathFunctionTable.html#p22">00389</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_translate[];
00390
00391 <font class="comment">// The string "local-name"</font>
<a name="l00392"></a><a class="code" href="classXPathFunctionTable.html#p23">00392</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_localName[];
00393
00394 <font class="comment">// The string "generate-id"</font>
<a name="l00395"></a><a class="code" href="classXPathFunctionTable.html#p24">00395</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_generateId[];
00396
00397 <font class="comment">// The string "starts-with"</font>
<a name="l00398"></a><a class="code" href="classXPathFunctionTable.html#p25">00398</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_startsWith[];
00399
00400 <font class="comment">// The string "format-number"</font>
<a name="l00401"></a><a class="code" href="classXPathFunctionTable.html#p26">00401</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_formatNumber[];
00402
00403 <font class="comment">// The string "namespace-uri"</font>
<a name="l00404"></a><a class="code" href="classXPathFunctionTable.html#p27">00404</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_namespaceUri[];
00405
00406 <font class="comment">// The string "string-length"</font>
<a name="l00407"></a><a class="code" href="classXPathFunctionTable.html#p28">00407</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_stringLength[];
00408
00409 <font class="comment">// The string "normalize-space"</font>
<a name="l00410"></a><a class="code" href="classXPathFunctionTable.html#p29">00410</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_normalizeSpace[];
00411
00412 <font class="comment">// The string "substring-after"</font>
<a name="l00413"></a><a class="code" href="classXPathFunctionTable.html#p30">00413</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_substringAfter[];
00414
00415 <font class="comment">// The string "system-property"</font>
<a name="l00416"></a><a class="code" href="classXPathFunctionTable.html#p31">00416</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_systemProperty[];
00417
00418 <font class="comment">// The string "substring-before"</font>
<a name="l00419"></a><a class="code" href="classXPathFunctionTable.html#p32">00419</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_substringBefore[];
00420
00421 <font class="comment">// The string "element-available"</font>
<a name="l00422"></a><a class="code" href="classXPathFunctionTable.html#p33">00422</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_elementAvailable[];
00423
00424 <font class="comment">// The string "function-available"</font>
<a name="l00425"></a><a class="code" href="classXPathFunctionTable.html#p34">00425</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_functionAvailable[];
00426
00427 <font class="comment">// The string "unparsed-entity-uri"</font>
<a name="l00428"></a><a class="code" href="classXPathFunctionTable.html#p35">00428</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_unparsedEntityUri[];
00429
00430 <font class="comment">// A table of function names.</font>
<a name="l00431"></a><a class="code" href="classXPathFunctionTable.html#p36">00431</a> <font class="keyword">static</font> <font class="keyword">const</font> FunctionNameTableEntry s_functionNames[];
00432
00433 <font class="comment">// The size of the table.</font>
<a name="l00434"></a><a class="code" href="classXPathFunctionTable.html#p37">00434</a> <font class="keyword">static</font> <font class="keyword">const</font> SizeType s_functionNamesSize;
00435
00436 <font class="keyword">private</font>:
00437
00438 <font class="keyword">static</font> <font class="keywordtype">int</font>
00439 getFunctionIndex(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theName)<font class="keyword"></font>
00440 <font class="keyword"> </font>{
00441 <font class="keywordflow">return</font> getFunctionIndex(
00442 theName.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(),
00443 theName.<a class="code" href="classXalanDOMString.html#a20">length</a>());
00444 }
00445
00446 <font class="keyword">static</font> <font class="keywordtype">int</font>
00447 getFunctionIndex(<font class="keyword">const</font> XalanDOMChar* theName)<font class="keyword"></font>
00448 <font class="keyword"> </font>{
00449 <font class="keywordflow">return</font> getFunctionIndex(
00450 theName,
00451 XalanDOMString::length(theName));
00452 }
00453
00454 <font class="keyword">static</font> <font class="keywordtype">int</font>
00455 getFunctionIndex(
00456 <font class="keyword">const</font> XalanDOMChar* theName,
00457 StringSizeType theNameLength);
00458
00459 MemoryManagerType* m_memoryManager;
00460
00461 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>* m_functionTable[TableSize];
00462
00463 <font class="keyword">const</font> <a class="code" href="classFunction.html">Function</a>** <font class="keyword">const</font> m_functionTableEnd;
00464
00465 <font class="comment">// The last one in the table of function names.</font>
00466 <font class="keyword">static</font> <font class="keyword">const</font> FunctionNameTableEntry* <font class="keyword">const</font> s_lastFunctionName;
00467 };
00468
00469
00470
00471 XALAN_CPP_NAMESPACE_END
00472
00473
00474
00475 <font class="preprocessor">#endif // XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680</font>
</font></pre></div><p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>