Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XSLTProcessor.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 
17 #if !defined(XALAN_XSLTPROCESSOR_HEADER_GUARD)
18 #define XALAN_XSLTPROCESSOR_HEADER_GUARD
19 
20 
21 
22 // Base include file. Must be first.
23 #include "XSLTDefinitions.hpp"
24 
25 
26 
27 #include <cstddef>
28 
29 
30 
31 XALAN_DECLARE_XERCES_CLASS(Locator)
32 
33 
34 
35 XALAN_CPP_NAMESPACE_BEGIN
36 
37 
38 
39 typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType;
40 
41 
42 
44 class FormatterListener;
45 class GenerateEvent;
46 class NodeRefListBase;
47 class PrefixResolver;
48 class PrintWriter;
49 class SelectionEvent;
52 class StylesheetRoot;
53 class TraceListener;
54 class TracerEvent;
55 class XalanDOMString;
56 class XalanDocument;
57 class XalanElement;
58 class XalanNode;
59 class XMLParserLiaison;
60 class XObject;
61 class XObjectPtr;
62 class XPath;
64 class XSLTInputSource;
65 class XSLTResultTarget;
66 
67 
68 
80 {
81 public:
82 
83  typedef size_t size_type;
84 
85  XSLTProcessor();
86 
87  virtual
88  ~XSLTProcessor();
89 
102  virtual void
103  process(
104  const XSLTInputSource& inputSource,
105  const XSLTInputSource& stylesheetSource,
106  XSLTResultTarget& outputTarget,
107  StylesheetConstructionContext& constructionContext,
108  StylesheetExecutionContext& executionContext) = 0;
109 
121  virtual void
122  process(
123  const XSLTInputSource& inputSource,
124  XSLTResultTarget& outputTarget,
125  StylesheetExecutionContext& executionContext) = 0;
126 
136  virtual StylesheetRoot*
137  processStylesheet(
138  const XSLTInputSource& stylesheetSource,
139  StylesheetConstructionContext& constructionContext) = 0;
140 
150  virtual StylesheetRoot*
151  processStylesheet(
152  const XalanDOMString& xsldocURLString,
153  StylesheetConstructionContext& constructionContext) = 0;
154 
159  virtual void
160  reset() = 0;
161 
168  virtual XalanNode*
169  getSourceTreeFromInput(const XSLTInputSource& inputSource) = 0;
170 
176  virtual const StylesheetRoot*
177  getStylesheetRoot() const = 0;
178 
184  virtual void
185  setStylesheetRoot(const StylesheetRoot* theStylesheet) = 0;
186 
193  virtual void
194  setExecutionContext(StylesheetExecutionContext* theExecutionContext) = 0;
195 
199  virtual void
200  resolveTopLevelParams(StylesheetExecutionContext& executionContext) = 0;
201 
207  virtual XMLParserLiaison&
208  getXMLParserLiaison() const = 0;
209 
210 
216  virtual void
217  getUniqueNamespaceValue(XalanDOMString& theValue) = 0;
218 
226  virtual void
227  setStylesheetParam(
228  const XalanDOMString& key,
229  XObjectPtr value) = 0;
230 
238  virtual void
239  setStylesheetParam(
240  const XalanDOMString& key,
241  const XalanDOMString& expression) = 0;
242 
248  virtual FormatterListener*
249  getFormatterListener() const = 0;
250 
256  virtual void
257  setFormatterListener(FormatterListener* flistener) = 0;
258 
264  virtual size_type
265  getTraceListeners() const = 0;
266 
272  virtual void
273  addTraceListener(TraceListener* tl) = 0;
274 
280  virtual void
281  removeTraceListener(TraceListener* tl) = 0;
282 
288  virtual void
289  fireGenerateEvent(const GenerateEvent& ge) = 0;
290 
296  virtual void
297  fireTraceEvent(const TracerEvent& te) = 0;
298 
304  virtual void
305  fireSelectEvent(const SelectionEvent& se) = 0;
306 
312  virtual bool
313  getTraceSelects() const = 0;
314 
323  virtual void
324  traceSelect(
325  StylesheetExecutionContext& executionContext,
326  const ElemTemplateElement& theStylesheetElement,
327  const NodeRefListBase& nl,
328  const XPath* xpath) const = 0;
329 
338  virtual void
339  setQuietConflictWarnings(bool b) = 0;
340 
349  virtual void
350  setDiagnosticsOutput(PrintWriter* pw) = 0;
351 
359  virtual void
360  message(
361  const XalanDOMString& msg,
362  const XalanNode* sourceNode = 0,
363  const ElemTemplateElement* styleNode = 0) const = 0;
364 
372  virtual void
373  message(
374  const XalanDOMString& msg,
375  const LocatorType& locator,
376  const XalanNode* sourceNode = 0) const = 0;
377 
385  virtual void
386  warn(
387  const XalanDOMString& msg,
388  const XalanNode* sourceNode = 0,
389  const ElemTemplateElement* styleNode = 0) const = 0;
390 
398  virtual void
399  warn(
400  const XalanDOMString& msg,
401  const LocatorType& locator,
402  const XalanNode* sourceNode = 0) const = 0;
403 
404 
412  virtual void
413  error(
414  const XalanDOMString& msg,
415  const XalanNode* sourceNode = 0,
416  const ElemTemplateElement* styleNode = 0) const = 0;
417 
425  virtual void
426  error(
427  const XalanDOMString& msg,
428  const LocatorType& locator,
429  const XalanNode* sourceNode = 0) const = 0;
430 };
431 
432 
433 
434 XALAN_CPP_NAMESPACE_END
435 
436 
437 
438 #endif // XALAN_XSLTPROCESSOR_HEADER_GUARD
Definition: XalanNode.hpp:44
size_t size_type
Definition: XSLTProcessor.hpp:83
Definition: ElemTemplateElement.hpp:74
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
Definition: StylesheetRoot.hpp:61
Definition: StylesheetExecutionContext.hpp:104
Definition: XalanElement.hpp:42
Class to hold XObjectPtr return types.
Definition: XObject.hpp:584
Definition: XPath.hpp:62
This is the class for events generated by the XSL processor after it generates a new node in the resu...
Definition: GenerateEvent.hpp:50
Definition: XPathExecutionContext.hpp:72
Definition: PrintWriter.hpp:35
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:42
A SAX-based formatter interface for the XSL processor.
Definition: FormatterListener.hpp:62
Definition: XSLTInputSource.hpp:61
Definition: XSLTResultTarget.hpp:47
This class defines an interface for classes that resolve namespace prefixes to their URIs...
Definition: PrefixResolver.hpp:37
Definition: XMLParserLiaison.hpp:54
Definition: TraceListener.hpp:34
Class to hold XPath return types.
Definition: XObject.hpp:61
This is the parent class of events generated for tracing the progress of the XSL processor.
Definition: TracerEvent.hpp:47
XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType
Definition: FormatterListener.hpp:47
Definition: XalanDocument.hpp:51
#define XALAN_XSLT_EXPORT
Definition: XSLTDefinitions.hpp:25
Definition: XalanDOMString.hpp:42
Definition: SelectionEvent.hpp:45
Definition: StylesheetConstructionContext.hpp:73
This is an interface for an XSLT Processor engine.
Definition: XSLTProcessor.hpp:79

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