## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# 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.

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