Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

ExtensionNSHandler.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(XALAN_EXTENSIONNSHANDLER_HEADER_GUARD)
17 #define XALAN_EXTENSIONNSHANDLER_HEADER_GUARD
18 
19 
20 // Base include file. Must be first.
21 #include "XSLTDefinitions.hpp"
22 
23 
24 
25 // Base class
27 
28 
29 
31 
32 
33 
35 
36 
37 
39 
40 
41 
42 XALAN_CPP_NAMESPACE_BEGIN
43 
44 
45 
46 class Stylesheet;
48 class XalanElement;
49 class XalanNode;
50 class XalanQName;
51 
52 
53 
55 {
56 public:
63  ExtensionNSHandler(const XalanDOMString& namespaceUri,
64  MemoryManagerType& theManager);
65 
66  static ExtensionNSHandler*
67  create(const XalanDOMString& namespaceUri,
68  MemoryManagerType& theManager);
83  MemoryManagerType& theManager,
84  const XalanDOMString& namespaceUri,
85  const XalanDOMString& elemNames,
86  const XalanDOMString& funcNames,
87  const XalanDOMString& lang,
88  const XalanDOMString& srcURL,
89  const XalanDOMString& src);
90 
98  virtual void
99  setFunctions(const XalanDOMString& funcNames);
100 
111  virtual void
112  setScript(
113  const XalanDOMString& lang,
114  const XalanDOMString& srcURL,
115  const XalanDOMString& scriptSrc);
116 
123  void
124  setElements(const XalanDOMString& elemNames);
125 
132  bool
133  isElementAvailable (const XalanDOMString& element) const;
134 
153  void
154  processElement (
155  StylesheetExecutionContext& executionContext,
156  const XalanDOMString& localPart,
157  const XalanElement* element,
158  Stylesheet& stylesheetTree,
159  const XalanNode* sourceTree,
160  const XalanNode* sourceNode,
161  const XalanQName& mode);
162 
163 protected:
164 
171  virtual void
173 
174 
175 private:
176 
178 
179  // Extension elements of this namespace
180  ExtensionSetType m_elements;
181 
182  // True when info from the component description has been loaded. This gets
183  // set as soon as any of the info has been specified. If this is false,
184  // when processElement or processFunction is called it will use the
185  // namespace URI as a URL and try to load that location as the component
186  // description
187  bool m_componentDescLoaded;
188 
193  void
194  loadComponentDescription();
195 
207  static XalanDOMString&
208  getScriptString(const XalanElement& elem, XalanDOMString& theResult);
209 };
210 
211 
212 
213 XALAN_CPP_NAMESPACE_END
214 
215 
216 
217 #endif // XALAN_EXTENSIONNSHANDLER_HEADER_GUARD

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