## Xalan-C++ API Documentation

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

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# 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
    00210
    00216     virtual void
    00217     getUniqueNamespaceValue(XalanDOMString&     theValue) = 0;
    00218
    00226    virtual void
    00227    setStylesheetParam(
    00228             const XalanDOMString&   key,
    00229             XObjectPtr              value) = 0;
    00230
    00238     virtual void
    00239     setStylesheetParam(
    00240             const XalanDOMString&   key,
    00241             const XalanDOMString&   expression) = 0;
    00242
    00248     virtual FormatterListener*
    00249     getFormatterListener() const = 0;
    00250
    00256     virtual void
    00257     setFormatterListener(FormatterListener*     flistener) = 0;
    00258
    00264     virtual size_type
    00265     getTraceListeners() const = 0;
    00266
    00272     virtual void
    00273     addTraceListener(TraceListener*     tl) = 0;
    00274
    00280     virtual void
    00281     removeTraceListener(TraceListener*  tl) = 0;
    00282
    00288     virtual void
    00289     fireGenerateEvent(const GenerateEvent&  ge) = 0;
    00290
    00296     virtual void
    00297     fireTraceEvent(const TracerEvent&   te) = 0;
    00298
    00304     virtual void
    00305     fireSelectEvent(const SelectionEvent&   se) = 0;
    00306
    00312     virtual bool
    00313     getTraceSelects() const = 0;
    00314
    00323     virtual void
    00324     traceSelect(
    00325             StylesheetExecutionContext&     executionContext,
    00326             const ElemTemplateElement&      theStylesheetElement,
    00327             const NodeRefListBase&          nl,
    00328             const XPath*                    xpath) const = 0;
    00329
    00338     virtual void
    00339     setQuietConflictWarnings(bool b) = 0;
    00340
    00349     virtual void
    00350     setDiagnosticsOutput(PrintWriter* pw) = 0;
    00351
    00359     virtual void
    00360     message(
    00361             const XalanDOMString&       msg,
    00362             const XalanNode*            sourceNode = 0,
    00363             const ElemTemplateElement*  styleNode = 0) const = 0;
    00364
    00372     virtual void
    00373     message(
    00374             const XalanDOMString&   msg,
    00375             const LocatorType&      locator,
    00376             const XalanNode*        sourceNode = 0) const = 0;
    00377
    00385     virtual void
    00386     warn(
    00387             const XalanDOMString&       msg,
    00388             const XalanNode*            sourceNode = 0,
    00389             const ElemTemplateElement*  styleNode = 0) const = 0;
    00390
    00398     virtual void
    00399     warn(
    00400             const XalanDOMString&   msg,
    00401             const LocatorType&      locator,
    00402             const XalanNode*        sourceNode = 0) const = 0;
    00403
    00404
    00412     virtual void
    00413     error(
    00414             const XalanDOMString&       msg,
    00415             const XalanNode*            sourceNode = 0,
    00416             const ElemTemplateElement*  styleNode = 0) const = 0;
    00417
    00425     virtual void
    00426     error(
    00427             const XalanDOMString&   msg,
    00428             const LocatorType&      locator,
    00429             const XalanNode*        sourceNode = 0) const = 0;
    00430 };
    00431
    00432
    00433
    00434 XALAN_CPP_NAMESPACE_END
    00435
    00436
    00437
    00438 #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.10 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.