blob: 69ebbc177840e6e807ee0294d7934565acd10398 [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>XalanParsedURI.hpp</h1><a href="XalanParsedURI_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(XALANPARSEDURI_HEADER_GUARD_1357924680)</font>
<a name="l00018"></a><a class="code" href="XalanParsedURI_8hpp.html#a0">00018</a> <font class="preprocessor"></font><font class="preprocessor">#define XALANPARSEDURI_HEADER_GUARD_1357924680</font>
00019 <font class="preprocessor"></font>
00020
00021
00022 <font class="comment">// Base include file. Must be first.</font>
00023 <font class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</font>
00024
00025
00026
00027 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00028
00029
00030
00031
00032 XALAN_CPP_NAMESPACE_BEGIN
00033
00034
00035
<a name="l00039"></a><a class="code" href="classXalanParsedURI.html">00039</a> <font class="keyword">class </font>XALAN_PLATFORMSUPPORT_EXPORT <a class="code" href="classXalanParsedURI.html">XalanParsedURI</a>
00040 {
00041 <font class="keyword">public</font>:
00042
00043 <font class="comment">// Flags to say if a component is defined. Note that each component may</font>
00044 <font class="comment">// be defined but empty, except for the path.</font>
00045 <font class="preprocessor">#if defined(XALAN_INLINE_INITIALIZATION)</font>
00046 <font class="preprocessor"></font> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">int</font> d_scheme = 1;
00047 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">int</font> d_authority = 2;
00048 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">int</font> d_query = 4;
00049 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">int</font> d_fragment = 8;
00050 <font class="preprocessor">#else</font>
<a name="l00051"></a><a class="code" href="classXalanParsedURI.html#s4">00051</a> <font class="preprocessor"></font> <font class="keyword">enum</font> eComponent
00052 {
00053 d_scheme = 1,
00054 d_authority = 2,
00055 d_query = 4,
00056 d_fragment = 8
00057 };
00058 <font class="preprocessor">#endif</font>
00059 <font class="preprocessor"></font>
<a name="l00063"></a><a class="code" href="classXalanParsedURI.html#a0">00063</a> <a class="code" href="classXalanParsedURI.html#a0">XalanParsedURI</a>(MemoryManagerType&amp; theManager) :
00064 m_scheme(theManager),
00065 m_authority(theManager),
00066 m_path(theManager),
00067 m_query(theManager),
00068 m_fragment(theManager),
00069 m_defined(0)
00070 {
00071 }
00072
<a name="l00079"></a><a class="code" href="classXalanParsedURI.html#a1">00079</a> <a class="code" href="classXalanParsedURI.html#a0">XalanParsedURI</a>(
00080 <font class="keyword">const</font> XalanDOMChar* uriString,
00081 XalanDOMString::size_type uriStringLen,
00082 MemoryManagerType&amp; theManager) :
00083 m_scheme(theManager),
00084 m_authority(theManager),
00085 m_path(theManager),
00086 m_query(theManager),
00087 m_fragment(theManager),
00088 m_defined(0)
00089 {
00090 <a class="code" href="classXalanParsedURI.html#a4">parse</a>(uriString, uriStringLen);
00091 }
00092
<a name="l00098"></a><a class="code" href="classXalanParsedURI.html#a2">00098</a> <a class="code" href="classXalanParsedURI.html#a0">XalanParsedURI</a>(
00099 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;uriString,
00100 MemoryManagerType&amp; theManager) :
00101 m_scheme(theManager),
00102 m_authority(theManager),
00103 m_path(theManager),
00104 m_query(theManager),
00105 m_fragment(theManager),
00106 m_defined(0)
00107 {
00108 <a class="code" href="classXalanParsedURI.html#a4">parse</a>(uriString.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), uriString.<a class="code" href="classXalanDOMString.html#a20">length</a>());
00109 }
00110
00111 MemoryManagerType&amp;
<a name="l00112"></a><a class="code" href="classXalanParsedURI.html#a3">00112</a> <a class="code" href="classXalanParsedURI.html#a3">getMemoryManager</a>()<font class="keyword"></font>
00113 <font class="keyword"> </font>{
00114 <font class="keywordflow">return</font> m_scheme.<a class="code" href="classXalanDOMString.html#a72">getMemoryManager</a>();
00115 }
00116
00123 <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a4">parse</a>(
00124 <font class="keyword">const</font> XalanDOMChar* uriString,
00125 XalanDOMString::size_type uriStringLen);
00126
<a name="l00133"></a><a class="code" href="classXalanParsedURI.html#a5">00133</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a4">parse</a>(
00134 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;uriString)<font class="keyword"></font>
00135 <font class="keyword"> </font>{
00136 <a class="code" href="classXalanParsedURI.html#a4">parse</a>(uriString.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), uriString.<a class="code" href="classXalanDOMString.html#a20">length</a>());
00137 }
00138
00144 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a6">make</a>(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult) <font class="keyword">const</font>;
00145
00151 <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(<font class="keyword">const</font> <a class="code" href="classXalanParsedURI.html">XalanParsedURI</a> &amp;base);
00152
<a name="l00159"></a><a class="code" href="classXalanParsedURI.html#a8">00159</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(
00160 <font class="keyword">const</font> XalanDOMChar *base,
00161 <font class="keyword">const</font> XalanDOMString::size_type baseLen)<font class="keyword"></font>
00162 <font class="keyword"> </font>{
00163 <a class="code" href="classXalanParsedURI.html">XalanParsedURI</a> baseURI(base, baseLen,<a class="code" href="classXalanParsedURI.html#a3">getMemoryManager</a>());
00164
00165 <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(baseURI);
00166 }
00167
<a name="l00173"></a><a class="code" href="classXalanParsedURI.html#a9">00173</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(
00174 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;base)<font class="keyword"></font>
00175 <font class="keyword"> </font>{
00176 <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(base.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), base.<a class="code" href="classXalanDOMString.html#a20">length</a>());
00177 }
00178
00188 <font class="keyword">static</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(
00189 <font class="keyword">const</font> XalanDOMChar *relative,
00190 XalanDOMString::size_type relativeLen,
00191 <font class="keyword">const</font> XalanDOMChar *base,
00192 XalanDOMString::size_type baseLen,
00193 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult
00194 );
00195
00196
<a name="l00204"></a><a class="code" href="classXalanParsedURI.html#d1">00204</a> <font class="keyword">static</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(
00205 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;relative,
00206 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;base,
00207 <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult
00208 )<font class="keyword"></font>
00209 <font class="keyword"> </font>{
00210 <font class="keywordflow">return</font> <a class="code" href="classXalanParsedURI.html#a7">resolve</a>(relative.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), relative.<a class="code" href="classXalanDOMString.html#a20">length</a>(), base.<a class="code" href="classXalanDOMString.html#a33">c_str</a>(), base.<a class="code" href="classXalanDOMString.html#a20">length</a>(), theResult);
00211 }
00212
<a name="l00216"></a><a class="code" href="classXalanParsedURI.html#a10">00216</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a10">getScheme</a>()<font class="keyword"> const </font>
00217 <font class="keyword"> </font>{
00218 <font class="keywordflow">return</font> m_scheme;
00219 }
00220
<a name="l00224"></a><a class="code" href="classXalanParsedURI.html#a11">00224</a> <font class="keywordtype">bool</font> <a class="code" href="classXalanParsedURI.html#a11">isSchemeDefined</a>()<font class="keyword"> const </font>
00225 <font class="keyword"> </font>{
00226 <font class="keywordflow">return</font> m_defined &amp; d_scheme;
00227 }
00228
<a name="l00232"></a><a class="code" href="classXalanParsedURI.html#a12">00232</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a12">setScheme</a>(<font class="keyword">const</font> XalanDOMChar *scheme)<font class="keyword"> </font>
00233 <font class="keyword"> </font>{
00234 m_scheme = scheme;
00235 m_defined |= d_scheme;
00236 }
00237
<a name="l00241"></a><a class="code" href="classXalanParsedURI.html#a13">00241</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a12">setScheme</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;scheme)<font class="keyword"> </font>
00242 <font class="keyword"> </font>{
00243 m_scheme = scheme;
00244 m_defined |= d_scheme;
00245 }
00246
<a name="l00250"></a><a class="code" href="classXalanParsedURI.html#a14">00250</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a14">getAuthority</a>()<font class="keyword"> const </font>
00251 <font class="keyword"> </font>{
00252 <font class="keywordflow">return</font> m_authority;
00253 }
00254
<a name="l00258"></a><a class="code" href="classXalanParsedURI.html#a15">00258</a> <font class="keywordtype">bool</font> <a class="code" href="classXalanParsedURI.html#a15">isAuthorityDefined</a>()<font class="keyword"> const </font>
00259 <font class="keyword"> </font>{
00260 <font class="keywordflow">return</font> m_defined &amp; d_authority ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00261 }
00262
<a name="l00266"></a><a class="code" href="classXalanParsedURI.html#a16">00266</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a16">setAuthority</a>(<font class="keyword">const</font> XalanDOMChar *authority)<font class="keyword"> </font>
00267 <font class="keyword"> </font>{
00268 m_authority = authority;
00269 m_defined |= d_authority;
00270 }
00271
<a name="l00275"></a><a class="code" href="classXalanParsedURI.html#a17">00275</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a16">setAuthority</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;authority)<font class="keyword"> </font>
00276 <font class="keyword"> </font>{
00277 m_authority = authority;
00278 m_defined |= d_authority;
00279 }
00280
<a name="l00284"></a><a class="code" href="classXalanParsedURI.html#a18">00284</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a18">getPath</a>()<font class="keyword"> const </font>
00285 <font class="keyword"> </font>{
00286 <font class="keywordflow">return</font> m_path;
00287 }
00288
<a name="l00292"></a><a class="code" href="classXalanParsedURI.html#a19">00292</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a19">setPath</a>(<font class="keyword">const</font> XalanDOMChar *path)<font class="keyword"> </font>
00293 <font class="keyword"> </font>{
00294 m_path = path;
00295 }
00296
<a name="l00300"></a><a class="code" href="classXalanParsedURI.html#a20">00300</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a19">setPath</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;path)<font class="keyword"> </font>
00301 <font class="keyword"> </font>{
00302 m_path = path;
00303 }
00304
<a name="l00308"></a><a class="code" href="classXalanParsedURI.html#a21">00308</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a21">getQuery</a>()<font class="keyword"> const </font>
00309 <font class="keyword"> </font>{
00310 <font class="keywordflow">return</font> m_query;
00311 }
00312
<a name="l00316"></a><a class="code" href="classXalanParsedURI.html#a22">00316</a> <font class="keywordtype">bool</font> <a class="code" href="classXalanParsedURI.html#a22">isQueryDefined</a>()<font class="keyword"> const </font>
00317 <font class="keyword"> </font>{
00318 <font class="keywordflow">return</font> m_defined &amp; d_query ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00319 }
00320
<a name="l00324"></a><a class="code" href="classXalanParsedURI.html#a23">00324</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a23">setQuery</a>(<font class="keyword">const</font> XalanDOMChar *query)<font class="keyword"> </font>
00325 <font class="keyword"> </font>{
00326 m_query = query;
00327 m_defined |= d_query;
00328 }
00329
<a name="l00333"></a><a class="code" href="classXalanParsedURI.html#a24">00333</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a23">setQuery</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;query)<font class="keyword"> </font>
00334 <font class="keyword"> </font>{
00335 m_query = query;
00336 m_defined |= d_query;
00337 }
00338
<a name="l00342"></a><a class="code" href="classXalanParsedURI.html#a25">00342</a> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="classXalanParsedURI.html#a25">getFragment</a>()<font class="keyword"> const </font>
00343 <font class="keyword"> </font>{
00344 <font class="keywordflow">return</font> m_fragment;
00345 }
00346
<a name="l00350"></a><a class="code" href="classXalanParsedURI.html#a26">00350</a> <font class="keywordtype">bool</font> <a class="code" href="classXalanParsedURI.html#a26">isFragmentDefined</a>()<font class="keyword"> const </font>
00351 <font class="keyword"> </font>{
00352 <font class="keywordflow">return</font> m_defined &amp; d_fragment ? <font class="keyword">true</font> : <font class="keyword">false</font>;
00353 }
00354
<a name="l00358"></a><a class="code" href="classXalanParsedURI.html#a27">00358</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a27">setFragment</a>(<font class="keyword">const</font> XalanDOMChar *fragment)<font class="keyword"> </font>
00359 <font class="keyword"> </font>{
00360 m_fragment = fragment;
00361 m_defined |= d_fragment;
00362 }
00363
<a name="l00367"></a><a class="code" href="classXalanParsedURI.html#a28">00367</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a27">setFragment</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> &amp;fragment)<font class="keyword"> </font>
00368 <font class="keyword"> </font>{
00369 m_fragment = fragment;
00370 m_defined |= d_fragment;
00371 }
00372
<a name="l00376"></a><a class="code" href="classXalanParsedURI.html#a29">00376</a> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> <a class="code" href="classXalanParsedURI.html#a29">getDefined</a>()<font class="keyword"> const</font>
00377 <font class="keyword"> </font>{
00378 <font class="keywordflow">return</font> m_defined;
00379 }
00380
<a name="l00384"></a><a class="code" href="classXalanParsedURI.html#a30">00384</a> <font class="keywordtype">void</font> <a class="code" href="classXalanParsedURI.html#a30">setDefined</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> defined)<font class="keyword"></font>
00385 <font class="keyword"> </font>{
00386 m_defined = defined;
00387 }
00388
00389 <font class="keyword">private</font>:
00390 <font class="comment">// not implemented</font>
00391 <a class="code" href="classXalanParsedURI.html#a0">XalanParsedURI</a>();
00392 <a class="code" href="classXalanParsedURI.html#a0">XalanParsedURI</a>(<font class="keyword">const</font> <a class="code" href="classXalanParsedURI.html">XalanParsedURI</a>&amp;);
00393
00394 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_scheme;
00395 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_authority;
00396 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_path;
00397 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_query;
00398 <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_fragment;
00399
00400 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> m_defined;
00401 };
00402
00403 XALAN_CPP_NAMESPACE_END
00404
00405 <font class="preprocessor">#endif // XALANPARSEDURI_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>