## Xalan-C++ API Documentation

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

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

# XSLTProcessor Class Reference

This is an interface for an XSLT Processor engine. More...

Inheritance diagram for XSLTProcessor:

[legend]
List of all members.

## Public Types

- typedef size_t size_type

## Public Member Functions

- XSLTProcessor ()
- virtual ~XSLTProcessor ()
- virtual void process (const XSLTInputSource &inputSource, const XSLTInputSource &stylesheetSource, XSLTResultTarget &outputTarget, StylesheetConstructionContext &constructionContext, StylesheetExecutionContext &executionContext)=0
    Transform the source tree to the output in the given result tree target.
- virtual void process (const XSLTInputSource &inputSource, XSLTResultTarget &outputTarget, StylesheetExecutionContext &executionContext)=0
    Transform the source tree to the output in the given result tree target.
- virtual StylesheetRoot * processStylesheet (const XSLTInputSource &stylesheetSource, StylesheetConstructionContext &constructionContext)=0
    Given a stylesheet input source, compile the stylesheet into an internal representation.
- virtual StylesheetRoot * processStylesheet (const XalanDOMString &xsldocURLString, StylesheetConstructionContext &constructionContext)=0
    Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation.
- virtual void reset ()=0
    Reset the state.
- virtual XalanNode * getSourceTreeFromInput (const XSLTInputSource &inputSource)=0
    Given an input source, get the source tree.
- virtual const StylesheetRoot * getStylesheetRoot () const=0
    Retrieve the root stylesheet.
- virtual void setStylesheetRoot (const StylesheetRoot *theStylesheet)=0
    Set the root stylesheet.
- virtual void setExecutionContext (StylesheetExecutionContext *theExecutionContext)=0
    Set the execution context.
- virtual void resolveTopLevelParams (StylesheetExecutionContext &executionContext)=0
    Resolve the params that were pushed by the caller.
- virtual XMLParserLiaison & getXMLParserLiaison () const=0
    Get the XML Parser Liaison that this processor uses.
- virtual void getUniqueNamespaceValue (XalanDOMString &theValue)=0
    Generate a random namespace prefix guaranteed to be unique.
- virtual void setStylesheetParam (const XalanDOMString &key, XObjectPtr value)=0
    Push a top-level stylesheet parameter.
- virtual void setStylesheetParam (const XalanDOMString &key, const XalanDOMString &expression)=0
    Push a top-level stylesheet parameter.
- virtual FormatterListener * getFormatterListener () const=0
    Get the current formatter listener.
- virtual void setFormatterListener (FormatterListener *flistener)=0
    Set the current formatter listener.
- virtual size_type getTraceListeners () const=0
    Determine the number of trace listeners.
- virtual void addTraceListener (TraceListener *tl)=0
    Add a trace listener for the purposes of debugging and diagnosis.
- virtual void removeTraceListener (TraceListener *tl)=0
    Remove a trace listener.
- virtual void fireGenerateEvent (const GenerateEvent &ge)=0
    Fire a generate event.
- virtual void fireTraceEvent (const TracerEvent &te)=0
    Fire a trace event.
- virtual void fireSelectEvent (const SelectionEvent &se)=0
    Fire a selection event.
- virtual bool getTraceSelects () const=0
    If this is set to true, simple traces of template calls are made.
- virtual void traceSelect (StylesheetExecutionContext &executionContext, const ElemTemplateElement &theStylesheetElement, const NodeRefListBase &nl, const XPath *xpath) const=0
    Compose a diagnostic trace of the current selection.
- virtual void setQuietConflictWarnings (bool b)=0
    If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream.
- virtual void setDiagnosticsOutput (PrintWriter *pw)=0
    If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream.
- virtual void message (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const=0
    Report a message.
- virtual void message (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const=0
    Report a message.
- virtual void warn (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const=0
    Report a warning.
- virtual void warn (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const=0
    Report a warning.
- virtual void error (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const=0
    Report an error and throw an exception.
- virtual void error (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const=0
    Report an error and throw an exception.

## Detailed Description

This is an interface for an XSLT Processor engine.

It's the responsibility of the implementation of the XSLTProcessor interface, collaborating with a XMLParserLiaison, the DOM, and the XPath engine, to transform a source tree of nodes into a result tree according to instructions and templates specified by a stylesheet tree. The methods process(...) are the primary public entry points.

If you reuse the processor instance, you should call reset() between calls.

## Member Typedef Documentation

typedef size_t XSLTProcessor::size_type

## Constructor & Destructor Documentation

XSLTProcessor::XSLTProcessor | ( |  | ) |

virtual XSLTProcessor::~XSLTProcessor | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual void XSLTProcessor::addTraceListener | ( | TraceListener * | tl | ) | `[pure virtual]`

Add a trace listener for the purposes of debugging and diagnosis.

Parameters:

  tl | pointer to listener to add

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::error | ( | const XalanDOMString & | msg,
|  | const LocatorType & | locator,
|  | const XalanNode * | sourceNode = 0
| ) | const`[pure virtual]`

Report an error and throw an exception.

Parameters:

  msg | text of message to output
  locator | A LocatorType for error reporting
  sourceNode | node in source where error occurred

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::error | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const ElemTemplateElement * | styleNode = 0
| ) | const`[pure virtual]`

Report an error and throw an exception.

Parameters:

  msg | text of message to output
  sourceNode | node in source where error occurred
  styleNode | node in stylesheet where error occurred

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::fireGenerateEvent | ( | const GenerateEvent & | ge | ) | `[pure virtual]`

Fire a generate event.

Parameters:

  ge | generate event to fire

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::fireSelectEvent | ( | const SelectionEvent & | se | ) | `[pure virtual]`

Fire a selection event.

Parameters:

  se | selection event to fire

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::fireTraceEvent | ( | const TracerEvent & | te | ) | `[pure virtual]`

Fire a trace event.

Parameters:

  te | trace event to fire

Implemented in XSLTEngineImpl.

virtual FormatterListener* XSLTProcessor::getFormatterListener | ( |  | ) | const`[pure virtual]`

Get the current formatter listener.

Returns:
  pointer to formatter listener

Implemented in XSLTEngineImpl.

virtual XalanNode* XSLTProcessor::getSourceTreeFromInput | ( | const XSLTInputSource & | inputSource | ) | `[pure virtual]`

Given an input source, get the source tree.

Parameters:

  inputSource | pointer to input source

Returns:
  source tree

Implemented in XSLTEngineImpl.

virtual const StylesheetRoot* XSLTProcessor::getStylesheetRoot | ( |  | ) | const`[pure virtual]`

Retrieve the root stylesheet.

Returns:
  pointer to root stylesheet

Implemented in XSLTEngineImpl.

virtual size_type XSLTProcessor::getTraceListeners | ( |  | ) | const`[pure virtual]`

Determine the number of trace listeners.

Returns:
  number of listeners

Implemented in XSLTEngineImpl.

virtual bool XSLTProcessor::getTraceSelects | ( |  | ) | const`[pure virtual]`

If this is set to true, simple traces of template calls are made.

Returns:
  true if traces made

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::getUniqueNamespaceValue | ( | XalanDOMString & | theValue | ) | `[pure virtual]`

Generate a random namespace prefix guaranteed to be unique.

Parameters:

  theValue | A string for returning the new prefix

Implemented in XSLTEngineImpl.

virtual XMLParserLiaison& XSLTProcessor::getXMLParserLiaison | ( |  | ) | const`[pure virtual]`

Get the XML Parser Liaison that this processor uses.

Returns:
  XML parser liaison object

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::message | ( | const XalanDOMString & | msg,
|  | const LocatorType & | locator,
|  | const XalanNode * | sourceNode = 0
| ) | const`[pure virtual]`

Report a message.

Parameters:

  msg | text of message to output
  locator | A LocatorType for error reporting
  sourceNode | node in source where message occurred

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::message | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const ElemTemplateElement * | styleNode = 0
| ) | const`[pure virtual]`

Report a message.

Parameters:

  msg | text of message to output
  sourceNode | node in source where message occurred
  styleNode | node in stylesheet where message occurred

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::process | ( | const XSLTInputSource & | inputSource,
|  | XSLTResultTarget & | outputTarget,
|  | StylesheetExecutionContext & | executionContext
| ) | `[pure virtual]`

Transform the source tree to the output in the given result tree target.

This function does not create a stylesheet tree, it assumes the provided StylesheetExecutionContext has the stylesheet tree to use. This is set by calling StylesheetExecutionContext::setStylesheetRoot().

Parameters:

  inputSource | input source
  outputTarget | output source tree
  executionContext | current execution context

Exceptions:

  XSLProcessorException |

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::process | ( | const XSLTInputSource & | inputSource,
|  | const XSLTInputSource & | stylesheetSource,
|  | XSLTResultTarget & | outputTarget,
|  | StylesheetConstructionContext & | constructionContext,
|  | StylesheetExecutionContext & | executionContext
| ) | `[pure virtual]`

Transform the source tree to the output in the given result tree target.

The processor will process the input source, the stylesheet source, and transform to the output target.

Parameters:

  inputSource | input source
  stylesheetSource | stylesheet source
  outputTarget | output source tree
  constructionContext | context for construction of objects
  executionContext | current execution context

Exceptions:

  XSLProcessorException |

Implemented in XSLTEngineImpl.

virtual StylesheetRoot* XSLTProcessor::processStylesheet | ( | const XalanDOMString & | xsldocURLString,
|  | StylesheetConstructionContext & | constructionContext
| ) | `[pure virtual]`

Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation.

Parameters:

  xmldocURLString | URI to the input XML document
  constructionContext | context for construction of objects

Returns:
  pointer to compiled stylesheet object

Exceptions:

  XSLProcessorException |

Implemented in XSLTEngineImpl.

virtual StylesheetRoot* XSLTProcessor::processStylesheet | ( | const XSLTInputSource & | stylesheetSource,
|  | StylesheetConstructionContext & | constructionContext
| ) | `[pure virtual]`

Given a stylesheet input source, compile the stylesheet into an internal representation.

Parameters:

  stylesheetSource | input source for the stylesheet
  constructionContext | context for construction of objects

Returns:
  pointer to the compiled stylesheet object

Exceptions:

  XSLProcessorException |

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::removeTraceListener | ( | TraceListener * | tl | ) | `[pure virtual]`

Remove a trace listener.

Parameters:

  tl | Trace listener to be removed.

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::reset | ( |  | ) | `[pure virtual]`

| Reset the state. This needs to be called after a process() call is invoked, if the processor is to be used again. Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::resolveTopLevelParams | ( | StylesheetExecutionContext & | executionContext | ) | `[pure virtual]`

| Resolve the params that were pushed by the caller. Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setDiagnosticsOutput | ( | PrintWriter * | pw | ) | `[pure virtual]`

If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream.

If the value is null, then diagnostics will be turned off.

Parameters:

  pw | pointer to print writer

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setExecutionContext | ( | StylesheetExecutionContext * | theExecutionContext | ) | `[pure virtual]`

Set the execution context.

Must be set if after calling setStylesheetRoot.

Parameters:

  theExecutionContext | pointer to new execution context.

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setFormatterListener | ( | FormatterListener * | flistener | ) | `[pure virtual]`

Set the current formatter listener.

Parameters:

  flistener | pointer to new formatter listener

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setQuietConflictWarnings | ( | bool | b | ) | `[pure virtual]`

If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream.

True by default.

Parameters:

  b | true if conflict warnings should be suppressed.

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setStylesheetParam | ( | const XalanDOMString & | key,
|  | const XalanDOMString & | expression
| ) | `[pure virtual]`

Push a top-level stylesheet parameter.

This value can be evaluated via xsl:param-variable.

Parameters:

  key | name of the param
  expression | expression that will be evaluated

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setStylesheetParam | ( | const XalanDOMString & | key,
|  | XObjectPtr | value
| ) | `[pure virtual]`

Push a top-level stylesheet parameter.

This value can be evaluated via xsl:param-variable.

Parameters:

  key | name of the parameter
  value | XObject value for parameter

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::setStylesheetRoot | ( | const StylesheetRoot * | theStylesheet | ) | `[pure virtual]`

Set the root stylesheet.

Parameters:

  theStylesheet | pointer to new root stylesheet

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::traceSelect | ( | StylesheetExecutionContext & | executionContext,
|  | const ElemTemplateElement & | theStylesheetElement,
|  | const NodeRefListBase & | nl,
|  | const XPath * | xpath
| ) | const`[pure virtual]`

Compose a diagnostic trace of the current selection.

Parameters:

  executionContext | The current execution context
  theStylesheetElement | The executing stylesheet element
  nl | The list of selected nodes
  xpath | A pointer to the XPath which generated the list of nodes, if any.

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::warn | ( | const XalanDOMString & | msg,
|  | const LocatorType & | locator,
|  | const XalanNode * | sourceNode = 0
| ) | const`[pure virtual]`

Report a warning.

Parameters:

  msg | text of message to output
  locator | A LocatorType for error reporting
  sourceNode | node in source where error occurred

Implemented in XSLTEngineImpl.

virtual void XSLTProcessor::warn | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const ElemTemplateElement * | styleNode = 0
| ) | const`[pure virtual]`

Report a warning.

Parameters:

  msg | text of message to output
  sourceNode | node in source where warning occurred
  styleNode | node in stylesheet where warning occurred

Implemented in XSLTEngineImpl.

The documentation for this class was generated from the following file:

- XSLTProcessor.hpp

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