Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


FunctionNormalizeSpace.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(FUNCTIONNORMALIZE_HEADER_GUARD_1357924680)
19 #define FUNCTIONNORMALIZE_HEADER_GUARD_1357924680
20 
21 
22 
23 // Base header file. Must be first.
25 
26 
27 
28 // Base class header file...
30 
31 
32 
34 
35 
36 
37 XALAN_CPP_NAMESPACE_BEGIN
38 
39 
40 
41 /**
42  * XPath implementation of "normalize-space" function.
43  */
45 {
46 public:
47 
49 
51 
52  virtual
54 
55  // These methods are inherited from Function ...
56 
57  virtual XObjectPtr
58  execute(
59  XPathExecutionContext& executionContext,
60  XalanNode* context,
61  const Locator* locator) const;
62 
63  virtual XObjectPtr
64  execute(
65  XPathExecutionContext& executionContext,
66  XalanNode* context,
67  const XObjectPtr arg1,
68  const Locator* locator) const;
69 
70  using ParentType::execute;
71 
72 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
73  virtual Function*
74 #else
75  virtual FunctionNormalizeSpace*
76 #endif
77  clone(MemoryManager& theManager) const;
78 
79 protected:
80 
81  virtual const XalanDOMString&
82  getError(XalanDOMString& theResult) const;
83 
84 private:
85 
86  bool
87  needsNormalization(const XalanDOMString& theString) const;
88 
90  normalize(
91  XPathExecutionContext& executionContext,
92  const XalanDOMString& theString) const
93  {
94  // A string contain the result...
95  GetCachedString theResult(executionContext);
96 
97  return normalize(executionContext, theString, theResult);
98  }
99 
100  XObjectPtr
101  normalize(
102  XPathExecutionContext& executionContext,
103  const XObjectPtr& theArg) const;
104 
105  XObjectPtr
106  normalize(
107  XPathExecutionContext& executionContext,
108  const XalanDOMString& theString,
109  GetCachedString& theResult) const;
110 
111  // Not implemented...
113  operator=(const FunctionNormalizeSpace&);
114 
115  bool
116  operator==(const FunctionNormalizeSpace&) const;
117 };
118 
119 
120 
121 XALAN_CPP_NAMESPACE_END
122 
123 
124 
125 #endif // FUNCTIONNORMALIZE_HEADER_GUARD_1357924680
virtual const XalanDOMString & getError(XalanDOMString &theBuffer) const =0
Get the error message to report when the function is called with the wrong number of arguments...
virtual XObjectPtr execute(XPathExecutionContext &executionContext, XalanNode *context, const XObjectArgVectorType &args, const Locator *locator) const
Execute an XPath function object.
Class to hold XObjectPtr return types.
Definition: XObject.hpp:883
XPath implementation of "normalize-space" function.
bool operator==(const ElemAttributeSet &theLHS, const ElemAttributeSet &theRHS)
virtual Function * clone(MemoryManager &theManager) const =0
Create a copy of the function object.
#define XALAN_XPATH_EXPORT

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.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo