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_SETIMPL_HEADER_GUARD_1357924680) 00058 #define EXSLT_SETIMPL_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 #include <xalanc/XalanExtensions/FunctionDifference.hpp> 00075 #include <xalanc/XalanExtensions/FunctionDistinct.hpp> 00076 #include <xalanc/XalanExtensions/FunctionIntersection.hpp> 00077 00078 00079 00080 XALAN_CPP_NAMESPACE_BEGIN 00081 00082 00083 00084 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionDifference : public FunctionDifference 00085 { 00086 public: 00087 00088 XalanEXSLTFunctionDifference() : 00089 FunctionDifference() 00090 { 00091 } 00092 00093 virtual 00094 ~XalanEXSLTFunctionDifference() 00095 { 00096 } 00097 00098 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00099 virtual Function* 00100 #else 00101 virtual XalanEXSLTFunctionDifference* 00102 #endif 00103 clone() const 00104 { 00105 return new XalanEXSLTFunctionDifference(*this); 00106 } 00107 00108 protected: 00109 00110 virtual const XalanDOMString 00111 getError() const 00112 { 00113 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoArguments_1Param,"difference()"); 00114 00115 00116 } 00117 00118 private: 00119 00120 // Not implemented... 00121 XalanEXSLTFunctionDifference& 00122 operator=(const XalanEXSLTFunctionDifference&); 00123 00124 bool 00125 operator==(const XalanEXSLTFunctionDifference&) const; 00126 }; 00127 00128 00129 00130 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionDistinct : public FunctionDistinct 00131 { 00132 public: 00133 00134 XalanEXSLTFunctionDistinct() : 00135 FunctionDistinct() 00136 { 00137 } 00138 00139 virtual 00140 ~XalanEXSLTFunctionDistinct() 00141 { 00142 } 00143 00144 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00145 virtual Function* 00146 #else 00147 virtual XalanEXSLTFunctionDistinct* 00148 #endif 00149 clone() const 00150 { 00151 return new XalanEXSLTFunctionDistinct(*this); 00152 } 00153 00154 protected: 00155 00156 virtual const XalanDOMString 00157 getError() const 00158 { 00159 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsOneArgument_1Param,"distinct()"); 00160 00161 } 00162 00163 private: 00164 00165 // Not implemented... 00166 XalanEXSLTFunctionDistinct& 00167 operator=(const XalanEXSLTFunctionDistinct&); 00168 00169 bool 00170 operator==(const XalanEXSLTFunctionDistinct&) const; 00171 }; 00172 00173 00174 00175 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionHasSameNode : public Function 00176 { 00177 public: 00178 00179 typedef Function ParentType; 00180 00181 XalanEXSLTFunctionHasSameNode() : 00182 Function() 00183 { 00184 } 00185 00186 virtual 00187 ~XalanEXSLTFunctionHasSameNode() 00188 { 00189 } 00190 00191 // These methods are inherited from Function ... 00192 00193 virtual XObjectPtr 00194 execute( 00195 XPathExecutionContext& executionContext, 00196 XalanNode* context, 00197 const XObjectArgVectorType& args, 00198 const LocatorType* locator) const; 00199 00200 #if !defined(XALAN_NO_USING_DECLARATION) 00201 using ParentType::execute; 00202 #endif 00203 00204 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00205 virtual Function* 00206 #else 00207 virtual XalanEXSLTFunctionHasSameNode* 00208 #endif 00209 clone() const 00210 { 00211 return new XalanEXSLTFunctionHasSameNode(*this); 00212 } 00213 00214 protected: 00215 00216 virtual const XalanDOMString 00217 getError() const 00218 { 00219 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoArguments_1Param,"has-same-node()"); 00220 00221 } 00222 00223 private: 00224 00225 // Not implemented... 00226 XalanEXSLTFunctionHasSameNode& 00227 operator=(const XalanEXSLTFunctionHasSameNode&); 00228 00229 bool 00230 operator==(const XalanEXSLTFunctionHasSameNode&) const; 00231 }; 00232 00233 00234 00235 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionIntersection : public FunctionIntersection 00236 { 00237 public: 00238 00239 XalanEXSLTFunctionIntersection() : 00240 FunctionIntersection() 00241 { 00242 } 00243 00244 virtual 00245 ~XalanEXSLTFunctionIntersection() 00246 { 00247 } 00248 00249 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00250 virtual Function* 00251 #else 00252 virtual XalanEXSLTFunctionIntersection* 00253 #endif 00254 clone() const 00255 { 00256 return new XalanEXSLTFunctionIntersection(*this); 00257 } 00258 00259 protected: 00260 00261 virtual const XalanDOMString 00262 getError() const 00263 { 00264 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoArguments_1Param,"distinct()"); 00265 00266 00267 } 00268 00269 private: 00270 00271 // Not implemented... 00272 XalanEXSLTFunctionIntersection& 00273 operator=(const XalanEXSLTFunctionIntersection&); 00274 00275 bool 00276 operator==(const XalanEXSLTFunctionIntersection&) const; 00277 }; 00278 00279 00280 00281 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLeading : public Function 00282 { 00283 public: 00284 00285 typedef Function ParentType; 00286 00287 XalanEXSLTFunctionLeading() : 00288 Function() 00289 { 00290 } 00291 00292 virtual 00293 ~XalanEXSLTFunctionLeading() 00294 { 00295 } 00296 00297 // These methods are inherited from Function ... 00298 00299 virtual XObjectPtr 00300 execute( 00301 XPathExecutionContext& executionContext, 00302 XalanNode* context, 00303 const XObjectArgVectorType& args, 00304 const LocatorType* locator) const; 00305 00306 #if !defined(XALAN_NO_USING_DECLARATION) 00307 using ParentType::execute; 00308 #endif 00309 00310 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00311 virtual Function* 00312 #else 00313 virtual XalanEXSLTFunctionLeading* 00314 #endif 00315 clone() const 00316 { 00317 return new XalanEXSLTFunctionLeading(*this); 00318 } 00319 00320 protected: 00321 00322 virtual const XalanDOMString 00323 getError() const 00324 { 00325 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoArguments_1Param,"leading()"); 00326 00327 } 00328 00329 private: 00330 00331 // Not implemented... 00332 XalanEXSLTFunctionLeading& 00333 operator=(const XalanEXSLTFunctionLeading&); 00334 00335 bool 00336 operator==(const XalanEXSLTFunctionLeading&) const; 00337 }; 00338 00339 00340 00341 class XALAN_EXSLT_EXPORT XalanEXSLTFunctionTrailing : public Function 00342 { 00343 public: 00344 00345 typedef Function ParentType; 00346 00347 XalanEXSLTFunctionTrailing() : 00348 Function() 00349 { 00350 } 00351 00352 virtual 00353 ~XalanEXSLTFunctionTrailing() 00354 { 00355 } 00356 00357 // These methods are inherited from Function ... 00358 00359 virtual XObjectPtr 00360 execute( 00361 XPathExecutionContext& executionContext, 00362 XalanNode* context, 00363 const XObjectArgVectorType& args, 00364 const LocatorType* locator) const; 00365 00366 #if !defined(XALAN_NO_USING_DECLARATION) 00367 using ParentType::execute; 00368 #endif 00369 00370 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00371 virtual Function* 00372 #else 00373 virtual XalanEXSLTFunctionTrailing* 00374 #endif 00375 clone() const 00376 { 00377 return new XalanEXSLTFunctionTrailing(*this); 00378 } 00379 00380 protected: 00381 00382 virtual const XalanDOMString 00383 getError() const 00384 { 00385 return XalanMessageLoader::getMessage(XalanMessages::EXSLTFunctionAcceptsTwoArguments_1Param,"trailing()"); 00386 } 00387 00388 private: 00389 00390 // Not implemented... 00391 XalanEXSLTFunctionTrailing& 00392 operator=(const XalanEXSLTFunctionTrailing&); 00393 00394 bool 00395 operator==(const XalanEXSLTFunctionTrailing&) const; 00396 }; 00397 00398 00399 00400 XALAN_CPP_NAMESPACE_END 00401 00402 00403 00404 #endif // EXSLT_SETIMPL_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 |
|