Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

FunctionID.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(FUNCTIONID_HEADER_GUARD_1357924680)
00017 #define FUNCTIONID_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 // Base header file.  Must be first.
00022 #include <xalanc/XPath/XPathDefinitions.hpp>
00023 
00024 
00025 
00026 #include <xalanc/XalanDOM/XalanElement.hpp>
00027 #include <xalanc/XalanDOM/XalanNode.hpp>
00028 #include <xalanc/XalanDOM/XalanDocument.hpp>
00029 
00030 
00031 
00032 // Base class header files...
00033 #include <xalanc/XPath/Function.hpp>
00034 #include <xalanc/XPath/XObjectTypeCallback.hpp>
00035 
00036 
00037 
00038 #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
00039 #include <xalanc/PlatformSupport/StringTokenizer.hpp>
00040 
00041 
00042 
00043 #include <xalanc/XPath/MutableNodeRefList.hpp>
00044 #include <xalanc/XPath/NodeRefListBase.hpp>
00045 
00046 
00047 
00048 XALAN_CPP_NAMESPACE_BEGIN
00049 
00050 
00051 
00055 class XALAN_XPATH_EXPORT FunctionID : public Function
00056 {
00057 public:
00058 
00059     typedef Function    ParentType;
00060 
00061     FunctionID();
00062 
00063     virtual
00064     ~FunctionID();
00065 
00066     // These methods are inherited from Function ...
00067 
00068     virtual XObjectPtr
00069     execute(
00070             XPathExecutionContext&  executionContext,
00071             XalanNode*              context,
00072             const XObjectPtr        arg1,
00073             const LocatorType*      locator) const;
00074 
00075 #if !defined(XALAN_NO_USING_DECLARATION)
00076     using ParentType::execute;
00077 #endif
00078 
00079 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
00080     virtual Function*
00081 #else
00082     virtual FunctionID*
00083 #endif
00084     clone(MemoryManagerType& theManager) const;
00085 
00086 protected:
00087 
00088     virtual const XalanDOMString&
00089     getError(XalanDOMString& theResult) const;
00090 
00091 private:
00092 
00093     class FunctionIDXObjectTypeCallback : public XObjectTypeCallback
00094     {
00095     public:
00096 
00097         FunctionIDXObjectTypeCallback(
00098                 XPathExecutionContext&  theExecutionContext,
00099                 XalanDOMString&         theString);
00100 
00101         void
00102         processCallback(const XObject&  theXObject);
00103 
00104         // These methods are inherited from XObjectTypeCallback ...
00105 
00106         virtual void
00107         Number(
00108             const XObject&  theXObject,
00109             double          /* theValue */);
00110 
00111         virtual void
00112         Boolean(
00113             const XObject&  theXObject,
00114             bool            /* theValue */);
00115 
00116         virtual void
00117         String(
00118             const XObject&          theXObject,
00119             const XalanDOMString&   /* theValue */);
00120 
00121         virtual void
00122         ResultTreeFragment(
00123             const XObject&                  theXObject,
00124             const XalanDocumentFragment&    /* theValue */);
00125 
00126         virtual void
00127         ResultTreeFragment(
00128             const XObject&          theXObject,
00129             XalanDocumentFragment&  /* theValue */);
00130 
00131         virtual void
00132         NodeSet(
00133             const XObject&          /* theXObject */,
00134             const NodeRefListBase&  theValue);
00135 
00136         virtual void
00137         Unknown(
00138             const XObject&          /* theObject */,
00139             const XalanDOMString&   /* theName */);
00140 
00141         virtual void
00142         Null(const XObject&     /* theObject */);
00143 
00144     private:
00145 
00146         XalanDOMString&         m_resultString;
00147 
00148         XPathExecutionContext&  m_executionContext;
00149     };
00150 
00151     // Not implemented...
00152     FunctionID&
00153     operator=(const FunctionID&);
00154 
00155     bool
00156     operator==(const FunctionID&) const;
00157 };
00158 
00159 
00160 
00161 XALAN_CPP_NAMESPACE_END
00162 
00163 
00164 
00165 #endif  // FUNCTIONID_HEADER_GUARD_1357924680

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo