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
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|