Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends
XalanTransformer Class Reference

This is a simple C++ interface for some common usage patterns. More...

List of all members.

Classes

Public Types

Public Member Functions

Static Public Member Functions

Friends


Detailed Description

This is a simple C++ interface for some common usage patterns.

It's the user's responsibility to call initialize and terminate for Xerces and Xalan before creating and after deleting any XalanTransformer instances.


Member Typedef Documentation

typedef XALAN_STD_QUALIFIER pair<XalanQNameByValue*, Function*> XalanTransformer::FunctionPairType
typedef XALAN_STD_QUALIFIER pair<XalanDOMString*, XalanDOMString*> XalanTransformer::ParamPairType
typedef std::ostream XalanTransformer::StreamType

Member Enumeration Documentation

Enums to determine whether or not run-time escaping of URLs has been set.

Enumerator:
eEscapeURLsDefault 
eEscapeURLsNo 
eEscapeURLsYes 

Enums to determine whether or not run-time omission of the META tag has been set.

Relevant only for HTML output

Enumerator:
eOmitMETATagDefault 
eOmitMETATagNo 
eOmitMETATagYes 

Constructor & Destructor Documentation

XalanTransformer::XalanTransformer ( MemoryManagerType theManager = XalanMemMgrs::getDefaultXercesMemMgr())
virtual XalanTransformer::~XalanTransformer ( ) [virtual]

Member Function Documentation

void XalanTransformer::addTraceListener ( TraceListener theTraceListener)

Add a TraceListener instance.

TraceListeners instances are preserved between calls to transform(), so they will be called until they are removed.

Parameters:
theTraceListenerThe instance to add.
int XalanTransformer::compileStylesheet ( const XSLTInputSource theStylesheetSource,
const XalanCompiledStylesheet *&  theCompiledStylesheet 
)

Creates a compiled stylesheet.

The input source can be a file name, a stream or a root node. The XalanTransformer instance owns the XalanCompiledStylesheet instance and will delete it when the XalanTransformer instance goes out of scope, or you explicitly call destroyStylesheet(). You must not delete the instance yourself.

Parameters:
theStylesheetSourceinput source
theCompiledStylesheeta reference to a pointer to a XalanCompileStylesheet.
Returns:
0 for success
XalanDocumentBuilder* XalanTransformer::createDocumentBuilder ( const XalanDOMString theURI = XalanDOMString(XalanMemMgrs::getDummyMemMgr()))

Create a document builder.

Using the document builder, you can construct a document using SAX2 interfaces. The XalanTransformer instance owns the document builder and will delete it when the XalanTransformer instance goes out of scope, or you explicitly call destroyDocumentBuilder(). You must not delete the instance yourself.

Parameters:
theURIThe base URI for the document instance.
Returns:
a pointer to a XalanDocumentBuilder instance or 0 for failure.
void XalanTransformer::destroyDocumentBuilder ( XalanDocumentBuilder theDocumentBuilder)

Destroy a document builder created by a previous call to createDocumentBuilder().

Passing a pointer that is not created by a call to createDocumentBuilder() can result in undefined behavior.

Parameters:
theDocumentBuilderThe document builder to destroy.
int XalanTransformer::destroyParsedSource ( const XalanParsedSource theParsedSource)

Destroy a parsed source created by a previous call to parseSource().

Parameters:
theParsedSourceThe XalanParsedSource instance to destroy.
Returns:
0 for success
int XalanTransformer::destroyStylesheet ( const XalanCompiledStylesheet theStylesheet)

Destroy a XalanCompiledStylesheet instance created by a previous call to compileStylesheet().

Parameters:
theStylesheetThe instance to destroy.
Returns:
0 for success
EntityResolverType* XalanTransformer::getEntityResolver ( ) const

This method returns the installed entity resolver.

Returns:
The pointer to the installed entity resolver object.
ErrorHandlerType* XalanTransformer::getErrorHandler ( ) const

This method returns the installed error handler.

Returns:
The pointer to the installed error handler object.
eEscapeURLs XalanTransformer::getEscapeURLs ( ) const

Get the value for run-time escaping of URLs.

This can override the property specified by the stylesheet. The default behavior is to honor the property in the stylesheet.

Returns:
The value of the enum
const XalanDOMChar* XalanTransformer::getExternalNoNamespaceSchemaLocation ( ) const

This method returns the location for an external schema document for parsing.

Returns:
A string representing the location of the external schema document
const XalanDOMChar* XalanTransformer::getExternalSchemaLocation ( ) const

This method returns the location for an external schema document for parsing.

Returns:
A string representing the location of the external schema document
int XalanTransformer::getIndent ( ) const

Get the current number of spaces to indent.

Returns:
number of spaces
const char* XalanTransformer::getLastError ( ) const

Returns the last error that occurred as a result of calling transform.

Returns:
error message const character pointer.
const MemoryManagerType& XalanTransformer::getMemoryManager ( ) const
MemoryManagerType& XalanTransformer::getMemoryManager ( )
eOmitMETATag XalanTransformer::getOmitMETATag ( ) const

Get the value for run-time omission of the META tag.

This can override the property specified by the stylesheet. The default behavior is to honor the property in the stylesheet.

Returns:
The value of the enum
const XalanDOMString& XalanTransformer::getOutputEncoding ( ) const

Get the current output encoding, if any.

Note this is not the output encoding specified in a stylesheet. Rather, it can override that encoding, if the

Returns:
A string containing the current encoding
bool XalanTransformer::getPoolAllTextNodes ( ) const

This member functions gets the flag to determine of a default parsed source tree will pool the values of all of the text nodes in the XML document.

Returns:
The boolean value for the flag.
ProblemListener* XalanTransformer::getProblemListener ( ) const

This method returns the installed ProblemListener instance.

Returns:
The pointer to the installed ProblemListener instance.
bool XalanTransformer::getUseValidation ( ) const

Set a flag to indicate whether or not the source file(s) for the transformation will be validated.

Parameters:
fValuethe new value for the flag.
StreamType* XalanTransformer::getWarningStream ( ) const

Get the current warning stream ostream instance.

Returns:
A pointer to the instance. Can be 0.
static void XalanTransformer::ICUCleanUp ( ) [static]

Clean up the ICU, if ICU integration is enabled.

This should be called only once per process after calling XalanTransformer::terminate() and XMLPlatformUtils::Terminate.

This must only be done if the ICU will no longer be used by the process, since the ICU will no longer be in a usable state. See the ICU documentation for more details.

This call is not thread-safe, so you must serialize any calls to it, and you must track the initialization state, so you do not call it more than once.

This is handy when using leak-detection software, as all static data allocated by the ICU is freed.

static void XalanTransformer::ICUStartUp ( MemoryManagerType theManager = XalanMemMgrs::getDefaultXercesMemMgr()) [static]
static void XalanTransformer::initialize ( MemoryManagerType theManager = XalanMemMgrs::getDefaultXercesMemMgr()) [static]

Initialize Xalan.

Should be called only once per process before creating any instances of XalanTransformer. This call is not thread-safe, so you must serialize any calls to it, and you must track the initialization state, so you do not call it more than once.

void XalanTransformer::installExternalFunction ( const XalanDOMString theNamespace,
const XalanDOMString functionName,
const Function function 
)

Install an external function in the local space.

Parameters:
theNamespaceThe namespace for the functionl
functionNameThe name of the function.
functionThe function to install.
static void XalanTransformer::installExternalFunctionGlobal ( const XalanDOMString theNamespace,
const XalanDOMString functionName,
const Function function 
) [static]

Install an external function in the global space.

Parameters:
theNamespaceThe namespace for the functionl
functionNameThe name of the function.
functionThe function to install.
int XalanTransformer::parseSource ( const XSLTInputSource theInputSource,
const XalanParsedSource *&  theParsedSource,
bool  useXercesDOM = false 
)

Parse a source XML document.

The input source can be a file name, a stream or a root node. The XalanTransformer instance owns the XalanParsedSource instance and will delete it when the XalanTransformer instance goes out of scope, or you explicitly call destroyParsedSource(). You must not delete the instance yourself.

Parameters:
theInputSourceinput source
theParsedSourcea reference to a pointer to a XalanParsedSource.
useXercesDOMinput use default or xerces DOM source tree
Returns:
0 for success
bool XalanTransformer::removeTraceListener ( TraceListener theTraceListener)

Remove a TraceListener instance.

Parameters:
theTraceListenerThe instance to remove.
Returns:
true if the instance was removed, false if not.
void XalanTransformer::removeTraceListeners ( )

Remove all TraceListener instances.

void XalanTransformer::setEntityResolver ( EntityResolverType theResolver)

This method installs the user-specified entity resolver.

It allows applications to trap and redirect calls to external entities.

Parameters:
handlerA pointer to the entity resolver to be called when the parser comes across references to entities in the XML file.
void XalanTransformer::setErrorHandler ( ErrorHandlerType theErrorHandler)

This method installs the user-specified error handler.

Parameters:
handlerA pointer to the error handler to be called upon error.
void XalanTransformer::setEscapeURLs ( eEscapeURLs  value)

Set the value for run-time escaping of URLs.

This can override the property specified by the stylesheet. The default behavior is to honor the property in the stylesheet.

Parameters:
valueThe value of the enum
void XalanTransformer::setExternalNoNamespaceSchemaLocation ( const XalanDOMChar *  location)

This method sets the location for an external schema document for parsing.

Parameters:
locationA string representing the location of the external schema document
void XalanTransformer::setExternalSchemaLocation ( const XalanDOMChar *  location)

This method sets the location for an external schema document for parsing.

Parameters:
locationA string representing the location of the external schema document
void XalanTransformer::setIndent ( int  indentAmount)

Set the current number of spaces to indent.

Parameters:
indentAmountThe number of spaces to indent. Use -1 for the default amount.
void XalanTransformer::setOmitMETATag ( eOmitMETATag  value)

Get the value for run-time omission of the META tag.

This can override the property specified by the stylesheet. The default behavior is to honor the property in the stylesheet.

Parameters:
valueThe value of the enum
void XalanTransformer::setOutputEncoding ( const XalanDOMString theEncoding)

Set the current output encoding.

Note this will override the encoding specified in the stylesheet, if the encoding is available. However, it will not override any encoding specified by an XSLTResultTarget parameter to one of the transform() member functions.

Parameters:
theEncodingThe encoding to use.
void XalanTransformer::setPoolAllTextNodes ( bool  fPool)

This member functions sets the flag to determine of a default parsed source tree will pool the values of all of the text nodes in the XML document.

This can result in significant memory savings if there are lots of repeated values in text nodes.

Parameters:
fPoolThe boolean value for the flag.
void XalanTransformer::setProblemListener ( ProblemListener theProblemListener)

This method installs the user-specified ProblemListener instance.

Parameters:
handlerA pointer to the ProblemListener to be called when a problem occurs.
void XalanTransformer::setStylesheetParam ( const char *  key,
const char *  expression 
)

Set a top-level stylesheet parameter.

This value can be evaluated via xsl:param-variable. These values are cleared after a call to transform().

Parameters:
keyname of the param
expressionexpression that will be evaluated
void XalanTransformer::setStylesheetParam ( const XalanDOMString key,
const XalanDOMString expression 
)

Set a top-level stylesheet parameter.

This value can be evaluated via xsl:param-variable. These values are cleared after a call to transform().

Parameters:
keyname of the param
expressionexpression that will be evaluated
void XalanTransformer::setUseValidation ( bool  fValue)

Set a flag to indicate whether or not the source file(s) for the transformation will be validated.

Parameters:
fValuethe new value for the flag.
void XalanTransformer::setWarningStream ( StreamType theStream)

Set the ostream instance for reporting warnings and messages.

The default is std::cerr. If set to 0, no warnings or messages will be written. If there is a user-installed ProblemListener instance, this is not used, as all such warnings and messages are handled by the user's ProblemListener.

Parameters:
theStreamA pointer to the ostream instance.
static void XalanTransformer::terminate ( ) [static]

Terminate Xalan.

Should be called only once per process after deleting all instances of XalanTransformer. This call is not thread-safe, so you must serialize any calls to it, and you must track the initialization state, so you do not call it more than once.

This is handy when using leak-detection software, as all static data allocated by Xalan is freed.

int XalanTransformer::transform ( const XSLTInputSource theInputSource,
const XalanCompiledStylesheet theCompiledStylesheet,
const XSLTResultTarget theResultTarget 
)

Transform will apply the compiled stylesheet to the input source and write the transformation output to the target.

The input source and result target can be a file name, a stream or a root node.

Parameters:
theInputSourceinput source
theCompiledStylesheetpointer to a compiled stylesheet. Must not be null.
theResultTargetoutput source
Returns:
0 for success
int XalanTransformer::transform ( const XSLTInputSource theInputSource,
const XSLTInputSource theStylesheetSource,
const XSLTResultTarget theResultTarget 
)

Transform will apply the stylesheet source to the input source and write the transformation output to the target.

The input source and result target can be a file name, a stream or a root node.

Parameters:
theInputSourceinput source
theStylesheetSourcestylesheet source
theResultTargetoutput source
Returns:
0 for success
int XalanTransformer::transform ( const XalanParsedSource theParsedXML,
const XSLTResultTarget theResultTarget 
)

Transform will apply the stylesheet provided as a PI in the XML of the parsed xml source and write the transformation output to the target.

Parameters:
theParsedXMLthe parsed input source
theResultTargetoutput source tree
Returns:
0 for success
int XalanTransformer::transform ( const XalanParsedSource theParsedSource,
const XalanCompiledStylesheet theCompiledStylesheet,
void *  theOutputHandle,
XalanOutputHandlerType  theOutputHandler,
XalanFlushHandlerType  theFlushHandler = 0 
)

Transform will apply the compiled stylesheet to the source and write the transformation result to a callback function in pre-allocated blocks.

The input source can be a file name, a stream or a root node. Upon termination, Xalan releases any allocated memory. Data passed to the callback is not guaranteed to be null terminated.

Parameters:
theParsedSourceParsed source instance
theCompiledStylesheetpointer to a compiled stylesheet. Must not be null.
theOutputHandlevoid pointer passed through to callback.
theOutputHandlera user defined callback function.
theFlushHandlerAn optional user-defined callback function.
Returns:
0 for success
int XalanTransformer::transform ( const XSLTInputSource theInputSource,
const XSLTResultTarget theResultTarget 
)

Transform will apply the stylesheet provided as a PI in the XML of the input source and write the transformation output to the target.

The input source and result target can be a file name, a stream or a root node.

Parameters:
theInputSourceinput source
theResultTargetoutput source tree
Returns:
0 for success
int XalanTransformer::transform ( const XalanParsedSource theParsedXML,
const XalanCompiledStylesheet theCompiledStylesheet,
const XSLTResultTarget theResultTarget 
)

Transform will apply the compiled stylesheet to the parsed xml source and write the transformation output to the target.

Parameters:
theParsedXMLthe parsed input source
theCompiledStylesheetpointer to a compiled stylesheet. Must not be null.
theResultTargetoutput source
Returns:
0 for success
int XalanTransformer::transform ( const XalanParsedSource theParsedXML,
const XSLTInputSource theStylesheetSource,
const XSLTResultTarget theResultTarget 
)

Transform will apply the stylesheet source to the parsed xml source and write the transformation output to the target.

Parameters:
theParsedXMLthe parsed input source
theStylesheetSourcestylesheet source
theResultTargetoutput source
Returns:
0 for success
int XalanTransformer::transform ( const XSLTInputSource theInputSource,
void *  theOutputHandle,
XalanOutputHandlerType  theOutputHandler,
XalanFlushHandlerType  theFlushHandler = 0 
)

Transform will apply the stylesheet provided as a PI in the XML of the input source and write the transformation result to a callback function in pre-allocated blocks.

The input source can be a file name, a stream or a root node. Upon termination, Xalan releases any allocated memory. Data passed to the callback is not guaranteed to be null terminated.

Parameters:
theInputSourceinput source
theOutputHandlevoid pointer passed through to callback.
theOutputHandlera user defined callback function.
theFlushHandleran optional user-defined callback function.
Returns:
0 for success
int XalanTransformer::transform ( const XSLTInputSource theInputSource,
const XSLTInputSource theStylesheetSource,
void *  theOutputHandle,
XalanOutputHandlerType  theOutputHandler,
XalanFlushHandlerType  theFlushHandler = 0 
)

Transform will apply the stylesheet source to the input source and write the transformation result to a callback function in pre-allocated blocks.

The input source can be a file name, a stream or a root node. Upon termination, Xalan releases any allocated memory. Data passed to the callback is not guaranteed to be null terminated.

Parameters:
theInputSourceinput source
theStylesheetSourcestylesheet source
theOutputHandlevoid pointer passed through to callback.
theOutputHandlera user defined (callback) function.
theFlushHandler(optional) a user defined (callback) function.
Returns:
0 for success
void XalanTransformer::uninstallExternalFunction ( const XalanDOMString theNamespace,
const XalanDOMString functionName 
)

Uninstall an external local function.

Parameters:
theNamespaceThe namespace for the function
functionNameThe name of the function.
static void XalanTransformer::uninstallExternalFunctionGlobal ( const XalanDOMString theNamespace,
const XalanDOMString functionName 
) [static]

Uninstall an external global function.

Parameters:
theNamespaceThe namespace for the function
functionNameThe name of the function.

Friends And Related Function Documentation

friend class EnsureReset [friend]

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

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