00001 /* 00002 * The Apache Software License, Version 1.1 00003 * 00004 * 00005 * Copyright (c) 1999-2004 The Apache Software Foundation. All rights 00006 * reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 00012 * 1. Redistributions of source code must retain the above copyright 00013 * notice, this list of conditions and the following disclaimer. 00014 * 00015 * 2. Redistributions in binary form must reproduce the above copyright 00016 * notice, this list of conditions and the following disclaimer in 00017 * the documentation and/or other materials provided with the 00018 * distribution. 00019 * 00020 * 3. The end-user documentation included with the redistribution, 00021 * if any, must include the following acknowledgment: 00022 * "This product includes software developed by the 00023 * Apache Software Foundation (http://www.apache.org/)." 00024 * Alternately, this acknowledgment may appear in the software itself, 00025 * if and wherever such third-party acknowledgments normally appear. 00026 * 00027 * 4. The names "Xalan" and "Apache Software Foundation" must 00028 * not be used to endorse or promote products derived from this 00029 * software without prior written permission. For written 00030 * permission, please contact apache@apache.org. 00031 * 00032 * 5. Products derived from this software may not be called "Apache", 00033 * nor may "Apache" appear in their name, without prior written 00034 * permission of the Apache Software Foundation. 00035 * 00036 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00037 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00038 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00039 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 00040 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00041 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00042 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00043 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00044 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00045 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00046 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00047 * SUCH DAMAGE. 00048 * ==================================================================== 00049 * 00050 * This software consists of voluntary contributions made by many 00051 * individuals on behalf of the Apache Software Foundation and was 00052 * originally based on software copyright (c) 1999, International 00053 * Business Machines, Inc., http://www.ibm.com. For more 00054 * information on the Apache Software Foundation, please see 00055 * <http://www.apache.org/>. 00056 */ 00057 #if !defined(EXSLT_STRINGIMPL_HEADER_GUARD_1357924680) 00058 #define EXSLT_STRINGIMPL_HEADER_GUARD_1357924680 00059 00060 00061 00062 #include "XalanEXSLTDefinitions.hpp" 00063 00064 00065 00066 #include <xalanc/PlatformSupport/XalanMessageLoader.hpp> 00067 00068 00069 00070 #include <xalanc/XPath/Function.hpp> 00071 00072 00073 00074 XALAN_CPP_NAMESPACE_BEGIN 00075 00076 00077 00078 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAlign : public Function 00079 { 00080 public: 00081 00082 typedef Function ParentType; 00083 00084 XalanEXSLTFunctionAlign() 00085 { 00086 } 00087 00088 virtual 00089 ~XalanEXSLTFunctionAlign() 00090 { 00091 } 00092 00093 // These methods are inherited from Function ... 00094 00095 virtual XObjectPtr 00096 execute( 00097 XPathExecutionContext& executionContext, 00098 XalanNode* context, 00099 const XObjectArgVectorType& args, 00100 const LocatorType* locator) const; 00101 00102 #if !defined(XALAN_NO_USING_DECLARATION) 00103 using ParentType::execute; 00104 #endif 00105 00106 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00107 virtual Function* 00108 #else 00109 virtual XalanEXSLTFunctionAlign* 00110 #endif 00111 clone() const 00112 { 00113 return new XalanEXSLTFunctionAlign(*this); 00114 } 00115 00116 protected: 00117 00118 const XalanDOMString 00119 getError() const 00120 { 00121 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoOrThreeArguments_1Param,"align()"); 00122 } 00123 00124 private: 00125 00126 // Not implemented... 00127 XalanEXSLTFunctionAlign& 00128 operator=(const XalanEXSLTFunctionAlign&); 00129 00130 bool 00131 operator==(const XalanEXSLTFunctionAlign&) const; 00132 00133 00134 // Data members... 00135 static const XalanDOMChar s_centerString[]; 00136 static const XalanDOMChar s_rightString[]; 00137 }; 00138 00139 00140 00141 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionConcat : public Function 00142 { 00143 public: 00144 00145 typedef Function ParentType; 00146 00147 XalanEXSLTFunctionConcat() : 00148 Function() 00149 { 00150 } 00151 00152 virtual 00153 ~XalanEXSLTFunctionConcat() 00154 { 00155 } 00156 00157 // These methods are inherited from Function ... 00158 00159 virtual XObjectPtr 00160 execute( 00161 XPathExecutionContext& executionContext, 00162 XalanNode* context, 00163 const XObjectArgVectorType& args, 00164 const LocatorType* locator) const; 00165 00166 #if !defined(XALAN_NO_USING_DECLARATION) 00167 using ParentType::execute; 00168 #endif 00169 00170 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00171 virtual Function* 00172 #else 00173 virtual XalanEXSLTFunctionConcat* 00174 #endif 00175 clone() const 00176 { 00177 return new XalanEXSLTFunctionConcat(*this); 00178 } 00179 00180 protected: 00181 00182 const XalanDOMString 00183 getError() const 00184 { 00185 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsOneArgument_1Param,"concat()"); 00186 } 00187 00188 private: 00189 00190 // Not implemented... 00191 XalanEXSLTFunctionConcat& 00192 operator=(const XalanEXSLTFunctionConcat&); 00193 00194 bool 00195 operator==(const XalanEXSLTFunctionConcat&) const; 00196 }; 00197 00198 00199 00200 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionPadding : public Function 00201 { 00202 public: 00203 00204 typedef Function ParentType; 00205 00206 XalanEXSLTFunctionPadding() : 00207 Function(), 00208 m_space(s_spaceString) 00209 { 00210 } 00211 00212 // A dummy constructor for use internally. Do not use this one!!!! 00213 XalanEXSLTFunctionPadding(int /* theDummy */) : 00214 Function(), 00215 m_space() 00216 { 00217 } 00218 00219 virtual 00220 ~XalanEXSLTFunctionPadding() 00221 { 00222 } 00223 00224 // These methods are inherited from Function ... 00225 00226 virtual XObjectPtr 00227 execute( 00228 XPathExecutionContext& executionContext, 00229 XalanNode* context, 00230 const XObjectArgVectorType& args, 00231 const LocatorType* locator) const; 00232 00233 #if !defined(XALAN_NO_USING_DECLARATION) 00234 using ParentType::execute; 00235 #endif 00236 00237 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00238 virtual Function* 00239 #else 00240 virtual XalanEXSLTFunctionPadding* 00241 #endif 00242 clone() const 00243 { 00244 return new XalanEXSLTFunctionPadding; 00245 } 00246 00247 protected: 00248 00249 const XalanDOMString 00250 getError() const 00251 { 00252 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAccepts1Or2Argument_1Param,"padding()"); 00253 } 00254 00255 private: 00256 00257 // Not implemented... 00258 XalanEXSLTFunctionPadding(const XalanEXSLTFunctionPadding&); 00259 00260 XalanEXSLTFunctionPadding& 00261 operator=(const XalanEXSLTFunctionPadding&); 00262 00263 bool 00264 operator==(const XalanEXSLTFunctionPadding&) const; 00265 00266 00267 // Data members... 00268 const XalanDOMString m_space; 00269 00270 static const XalanDOMChar s_spaceString[]; 00271 }; 00272 00273 00274 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionEncodeURI : public Function 00275 { 00276 public: 00277 00278 typedef Function ParentType; 00279 00280 XalanEXSLTFunctionEncodeURI() : 00281 Function() 00282 { 00283 } 00284 00285 virtual 00286 ~XalanEXSLTFunctionEncodeURI() 00287 { 00288 } 00289 00290 // These methods are inherited from Function ... 00291 00292 virtual XObjectPtr 00293 execute( 00294 XPathExecutionContext& executionContext, 00295 XalanNode* context, 00296 const XObjectArgVectorType& args, 00297 const LocatorType* locator) const; 00298 00299 #if !defined(XALAN_NO_USING_DECLARATION) 00300 using ParentType::execute; 00301 #endif 00302 00303 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00304 virtual Function* 00305 #else 00306 virtual XalanEXSLTFunctionEncodeURI* 00307 #endif 00308 clone() const 00309 { 00310 return new XalanEXSLTFunctionEncodeURI; 00311 } 00312 00313 protected: 00314 00315 const XalanDOMString 00316 getError() const 00317 { 00318 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoOrThreeArguments_1Param,"encode-uri()"); 00319 } 00320 00321 const XalanDOMString 00322 escapedOctet(const XalanDOMChar theChar) const; 00323 00324 static const XalanDOMChar s_reservedChars[]; 00325 static const XalanDOMString::size_type s_reservedCharsSize; 00326 00327 static const XalanDOMChar s_excludedChars[]; 00328 static const XalanDOMString::size_type s_excludedCharsSize; 00329 00330 private: 00331 00332 // Not implemented... 00333 XalanEXSLTFunctionEncodeURI(const XalanEXSLTFunctionEncodeURI&); 00334 00335 XalanEXSLTFunctionEncodeURI& 00336 operator=(const XalanEXSLTFunctionEncodeURI&); 00337 00338 bool 00339 operator==(const XalanEXSLTFunctionEncodeURI&) const; 00340 }; 00341 00342 00343 00344 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionDecodeURI : public Function 00345 { 00346 public: 00347 00348 typedef Function ParentType; 00349 00350 XalanEXSLTFunctionDecodeURI() : 00351 Function() 00352 { 00353 } 00354 00355 virtual 00356 ~XalanEXSLTFunctionDecodeURI() 00357 { 00358 } 00359 00360 // These methods are inherited from Function ... 00361 00362 virtual XObjectPtr 00363 execute( 00364 XPathExecutionContext& executionContext, 00365 XalanNode* context, 00366 const XObjectArgVectorType& args, 00367 const LocatorType* locator) const; 00368 00369 #if !defined(XALAN_NO_USING_DECLARATION) 00370 using ParentType::execute; 00371 #endif 00372 00373 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00374 virtual Function* 00375 #else 00376 virtual XalanEXSLTFunctionDecodeURI* 00377 #endif 00378 clone() const 00379 { 00380 return new XalanEXSLTFunctionDecodeURI; 00381 } 00382 00383 protected: 00384 00385 const XalanDOMString 00386 getError() const 00387 { 00388 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAccepts1Or2Argument_1Param,"decode-uri()"); 00389 00390 } 00391 00392 XalanDOMChar 00393 hexCharsToByte( 00394 XPathExecutionContext& executionContext, 00395 XalanNode* context, 00396 const LocatorType* locator, 00397 const XalanDOMChar highHexChar, 00398 const XalanDOMChar lowHexChar) const; 00399 00400 static const XalanDOMString::size_type s_octetSize; 00401 00402 private: 00403 00404 // Not implemented... 00405 XalanEXSLTFunctionDecodeURI(const XalanEXSLTFunctionDecodeURI&); 00406 00407 XalanEXSLTFunctionDecodeURI& 00408 operator=(const XalanEXSLTFunctionDecodeURI&); 00409 00410 bool 00411 operator==(const XalanEXSLTFunctionDecodeURI&) const; 00412 }; 00413 00414 XALAN_CPP_NAMESPACE_END 00415 00416 00417 00418 #endif // EXSLT_STRINGIMPL_HEADER_GUARD_1357924680
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.7 |
|