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.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo