Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

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

XSLTProcessor.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 
00017 #if !defined(XALAN_XSLTPROCESSOR_HEADER_GUARD)
00018 #define XALAN_XSLTPROCESSOR_HEADER_GUARD
00019 
00020 
00021 
00022 // Base include file.  Must be first.
00023 #include "XSLTDefinitions.hpp"
00024 
00025 
00026 
00027 #include <cstddef>
00028 
00029 
00030 
00031 XALAN_DECLARE_XERCES_CLASS(Locator)
00032 
00033 
00034 
00035 XALAN_CPP_NAMESPACE_BEGIN
00036 
00037 
00038 
00039 typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator  LocatorType;
00040 
00041 
00042 
00043 class ElemTemplateElement;
00044 class FormatterListener;
00045 class GenerateEvent;
00046 class NodeRefListBase;
00047 class PrefixResolver;
00048 class PrintWriter;
00049 class SelectionEvent;
00050 class StylesheetConstructionContext;
00051 class StylesheetExecutionContext;
00052 class StylesheetRoot;
00053 class TraceListener;
00054 class TracerEvent;
00055 class XalanDOMString;
00056 class XalanDocument;
00057 class XalanElement;
00058 class XalanNode;
00059 class XMLParserLiaison;
00060 class XObject;
00061 class XObjectPtr;
00062 class XPath;
00063 class XPathExecutionContext;
00064 class XSLTInputSource;
00065 class XSLTResultTarget;
00066 
00067 
00068 
00079 class XALAN_XSLT_EXPORT XSLTProcessor
00080 {
00081 public:
00082 
00083     typedef size_t  size_type;
00084 
00085     XSLTProcessor();
00086 
00087     virtual
00088     ~XSLTProcessor();
00089 
00102     virtual void
00103     process(
00104         const XSLTInputSource&          inputSource,
00105         const XSLTInputSource&          stylesheetSource,
00106         XSLTResultTarget&               outputTarget,
00107         StylesheetConstructionContext&  constructionContext,
00108         StylesheetExecutionContext&     executionContext) = 0;
00109 
00121     virtual void
00122     process(
00123             const XSLTInputSource&          inputSource,
00124             XSLTResultTarget&               outputTarget,
00125             StylesheetExecutionContext&     executionContext) = 0;
00126 
00136     virtual StylesheetRoot*
00137     processStylesheet(
00138             const XSLTInputSource&          stylesheetSource,
00139             StylesheetConstructionContext&  constructionContext) = 0;
00140   
00150     virtual StylesheetRoot*
00151     processStylesheet(
00152             const XalanDOMString&           xsldocURLString,
00153             StylesheetConstructionContext&  constructionContext) = 0;
00154   
00159     virtual void
00160     reset() = 0;
00161   
00168     virtual XalanNode*
00169     getSourceTreeFromInput(const XSLTInputSource&   inputSource) = 0;
00170 
00176     virtual const StylesheetRoot*
00177     getStylesheetRoot() const = 0;
00178 
00184     virtual void
00185     setStylesheetRoot(const StylesheetRoot*     theStylesheet) = 0;
00186 
00193     virtual void
00194     setExecutionContext(StylesheetExecutionContext*     theExecutionContext) = 0;
00195 
00199     virtual void
00200     resolveTopLevelParams(StylesheetExecutionContext&   executionContext) = 0;
00201 
00207     virtual XMLParserLiaison&
00208     getXMLParserLiaison() const = 0;
00209 
00215     virtual const XalanDOMString
00216     getUniqueNamespaceValue() = 0;
00217 
00223     virtual void
00224     getUniqueNamespaceValue(XalanDOMString&     theValue) = 0;
00225 
00233    virtual void
00234    setStylesheetParam(
00235             const XalanDOMString&   key,
00236             XObjectPtr              value) = 0;
00237   
00245     virtual void
00246     setStylesheetParam(
00247             const XalanDOMString&   key,
00248             const XalanDOMString&   expression) = 0;
00249 
00255     virtual FormatterListener*
00256     getFormatterListener() const = 0;
00257   
00263     virtual void
00264     setFormatterListener(FormatterListener*     flistener) = 0;  
00265 
00271     virtual size_type
00272     getTraceListeners() const = 0;
00273 
00279     virtual void
00280     addTraceListener(TraceListener*     tl) = 0;
00281 
00287     virtual void
00288     removeTraceListener(TraceListener*  tl) = 0;
00289 
00295     virtual void
00296     fireGenerateEvent(const GenerateEvent&  ge) = 0;
00297 
00303     virtual void
00304     fireTraceEvent(const TracerEvent&   te) = 0;
00305 
00311     virtual void
00312     fireSelectEvent(const SelectionEvent&   se) = 0;
00313 
00319     virtual bool
00320     getTraceSelects() const = 0;
00321 
00330     virtual void
00331     traceSelect(
00332             StylesheetExecutionContext&     executionContext,
00333             const ElemTemplateElement&      theStylesheetElement,
00334             const NodeRefListBase&          nl,
00335             const XPath*                    xpath) const = 0;
00336 
00345     virtual void
00346     setQuietConflictWarnings(bool b) = 0;
00347 
00356     virtual void
00357     setDiagnosticsOutput(PrintWriter* pw) = 0;
00358 
00366     virtual void
00367     message(
00368             const XalanDOMString&       msg,
00369             const XalanNode*            sourceNode = 0,
00370             const ElemTemplateElement*  styleNode = 0) const = 0;
00371 
00379     virtual void
00380     message(
00381             const XalanDOMString&   msg,
00382             const LocatorType&      locator,
00383             const XalanNode*        sourceNode = 0) const = 0;
00384 
00392     virtual void
00393     warn(
00394             const XalanDOMString&       msg,
00395             const XalanNode*            sourceNode = 0,
00396             const ElemTemplateElement*  styleNode = 0) const = 0;
00397 
00405     virtual void
00406     warn(
00407             const XalanDOMString&   msg,
00408             const LocatorType&      locator,
00409             const XalanNode*        sourceNode = 0) const = 0;
00410 
00411 
00419     virtual void
00420     error(
00421             const XalanDOMString&       msg,
00422             const XalanNode*            sourceNode = 0,
00423             const ElemTemplateElement*  styleNode = 0) const = 0;
00424 
00432     virtual void
00433     error(
00434             const XalanDOMString&   msg,
00435             const LocatorType&      locator,
00436             const XalanNode*        sourceNode = 0) const = 0;
00437 };
00438 
00439 
00440 
00441 XALAN_CPP_NAMESPACE_END
00442 
00443 
00444 
00445 #endif  // XALAN_XSLTPROCESSOR_HEADER_GUARD

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