Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Typedefs | Functions
XalanCAPI.h File Reference

Go to the source code of this file.

Typedefs

Functions


Typedef Documentation

typedef const char* XalanCCharPtr

This is a typedef to work around limitations with the XALAN_TRANSFORMER_EXPORT_FUNCTION macro.

typedef const void* XalanCSSHandle

Handle used to store the address of Compiled Stylesheet instance.

typedef void* XalanHandle

This is a simple C interface for the class XalanTransformer.

It's the user's responsibility to call XalanInitialize() before making any other API calls, and to call XalanTerminate() when finished with the API.

After calling XalanTransformToData or XalanTransformToDataCSS, the user should call XalanFreeData to release the memory allocated by that operation. Handle used to store the address of XalanTransformer instance.

typedef const void* XalanPSHandle

Handle used to store the address of Parsed Source instance.

typedef unsigned short XalanUTF16Char

This is a typedef for characters encoded in UTF-16.


Function Documentation

CreateXalanTransformer ( )

Create a XalanTransformer instance.

Returns:
the XalanTransformer handle
DeleteXalanTransformer ( XalanHandle  theXalanHandle)

Delete a XalanTransformer instance.

Parameters:
theXalanHandleThe XalanTransformer to destroy.
XalanCompileStylesheet ( const char *  theXSLFileName,
XalanHandle  theXalanHandle,
XalanCSSHandle theCSSHandle 
)

Creates a compiled stylesheet.

Parameters:
theXSLFileNamefilename of stylesheet source
theXalanHandlehandle of XalanTransformer instance.
theCSSHandlea pointer to a XalanCSSHandle
Returns:
0 for success.
XalanCompileStylesheetFromStream ( const char *  theXSLStream,
unsigned long  theXSLStreamLength,
XalanHandle  theXalanHandle,
XalanCSSHandle theCSSHandle 
)

Creates a compiled stylesheet.

Parameters:
theXSLFileNameThe stream that contains the stylesheet xml
theXSLStreamLengthThe length of the stream.
theXalanHandlehandle of XalanTransformer instance.
theCSSHandlea pointer to a XalanCSSHandle
Returns:
0 for success.
XalanDestroyCompiledStylesheet ( XalanCSSHandle  theCSSHandle,
XalanHandle  theXalanHandle 
)

Destroys a compiled stylesheet.

Parameters:
theCSSHandlehandle of the compiled stylesheet
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanDestroyParsedSource ( XalanPSHandle  thePSHandle,
XalanHandle  theXalanHandle 
)

Destroys a parsed source.

a file name, a stream or a root node.

Parameters:
thePSHandlehandle of parsed source
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanFreeData ( char *  theData)

Free memory allocated as a result of calling XalanTransformToData.

Parameters:
theDataThe address of character data.
XalanGetLastError ( XalanHandle  theXalanHandle)

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

The signature for following function is really: const char* XalanGetLastError(XalanHandle theXalanHandle) const;

Returns:
error message const character pointer.
XalanInitialize ( void  )

Initialize Xerces and Xalan.

Should be called only once per process before making any other API calls.

Returns:
0 if successful, -1 if initialization fails.
XalanParseSource ( const char *  theXMLFileName,
XalanHandle  theXalanHandle,
XalanPSHandle thePSHandle 
)

Parse source document.

Parameters:
theXMLFileNameThe name of the file containing the source document.
theXalanHandleThe handle of XalanTransformer instance.
thePSHandleA pointer to a XalanPSHandle
Returns:
0 for success.
XalanParseSourceFromStream ( const char *  theXMLStream,
unsigned long  theXMLStreamLength,
XalanHandle  theXalanHandle,
XalanPSHandle thePSHandle 
)

Parse source document from a stream.

Parameters:
theXMLStreamThe stream that contains the source xml
theXSLStreamLengthThe length of the stream.
theXalanHandleThe handle of XalanTransformer instance.
thePSHandleA pointer to a XalanPSHandle
Returns:
0 for success.
XalanSetStylesheetParam ( const char *  key,
const char *  expression,
XalanHandle  theXalanHandle 
)

Set a top-level stylesheet parameter.

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

Parameters:
keyname of the param
expressionexpression that will be evaluated
theXalanHandlehandle of XalanTransformer instance.
XalanSetStylesheetParamUTF ( const XalanUTF16Char key,
const XalanUTF16Char expression,
XalanHandle  theXalanHandle 
)

Set a top-level stylesheet parameter.

This value can be evaluated via xsl:param-variable. The key and expression parameters must be encoded in UTF-16.

Parameters:
keyname of the param
expressionexpression that will be evaluated
theXalanHandlehandle of XalanTransformer instance.
XalanTerminate ( int  fCleanUpICU)

Terminate Xalan and Xerces.

Should be called only once per process after deleting all instances of XalanTransformer.

Once a process has called this function, it cannot use the API until another call to XalanInitialize has been made.

Optionally, if the ICU has been integrated, this will call the ICU clean up function. 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 is handy when using leak-detection software, as all static data allocated by Xalan (and optionally, the ICU) will be freed.

Parameters:
fCleanUpICUIf true, call the ICU clean up function.
XalanTransformToData ( const char *  theXMLFileName,
const char *  theXSLFileName,
char **  theOutput,
XalanHandle  theXalanHandle 
)

Transform the XML source tree to a dynamically allocated buffer.

The processor will apply the stylesheet file to the input file and assign the address of the dynamically allocated result to a user supplied pointer. The user must call XalanFreeData with the this pointer.

Parameters:
theXMLFileNamefilename of XML input source
theXSLFileNamefilename of stylesheet source
theOutputa pointer to a char*
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanTransformToDataPrebuilt ( XalanPSHandle  theParsedSource,
XalanCSSHandle  theCSSHandle,
char **  theOutput,
XalanHandle  theXalanHandle 
)

Transform the XML source tree to a dynamically allocated buffer.

The processor will apply the compiled stylesheet to the input file and assign the address of the dynamically allocated result to a user supplied pointer. The user must call XalanFreeData with the this pointer.

Parameters:
theXMLFileNamefilename of XML input source
theCSSHandlehandle of compiled stylesheet
theOutputa pointer to a char*
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanTransformToFile ( const char *  theXMLFileName,
const char *  theXSLFileName,
const char *  theOutFileName,
XalanHandle  theXalanHandle 
)

Transform the XML source tree to the given result file.

The processor will apply the stylesheet file to the input file and write the transformation result to a new output file.

Parameters:
theXMLFileNamefilename of XML input source
theXSLFileNamefilename of stylesheet source
theOutFileNamefilename of output source
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanTransformToFilePrebuilt ( XalanPSHandle  theParsedSource,
XalanCSSHandle  theCSSHandle,
const char *  theOutFileName,
XalanHandle  theXalanHandle 
)

Transform the XML source tree to the given result file.

The processor will apply the compiled stylesheet to the input file and write the transformation result to a new output file.

Parameters:
theParsedSourcehandle of parsed source
theCSSHandlehandle of compiled stylesheet
theOutFileNamefilename of output source
theXalanHandlehandle of XalanTransformer instance.
Returns:
0 for success
XalanTransformToHandler ( const char *  theXMLFileName,
const char *  theXSLFileName,
XalanHandle  theXalanHandle,
void *  theOutputHandle,
XalanOutputHandlerType  theOutputHandler,
XalanFlushHandlerType  theFlushHandler 
)

Transform the XML source tree to a callback function.

The processor will apply the stylesheet file to the input file and allocate the transformation result to a callback function in pre-allocated blocks. Once the transformation is complete, a second callback, to flush the buffer, is called. You can pass in NULL if you do not wish to implement a flush callback. Xalan will release any memory allocated upon termination, and data passed to the callback is not guaranteed to be null terminated.

See XalanTransformerDefinitions.hpp for more details.

Parameters:
theXMLFileNamefilename of XML input source
theXSLFileNamefilename of stylesheet source
theXalanHandlehandle of XalanTransformer instance.
theOutputHandlevoid pointer passed through to callback.
theOutputHandlera user defined (callback) function.
theFlushHandler(can be NULL) a user defined (callback) function.
Returns:
0 for success
XalanTransformToHandlerPrebuilt ( XalanPSHandle  thePSHandle,
XalanCSSHandle  theCSSHandle,
XalanHandle  theXalanHandle,
void *  theOutputHandle,
XalanOutputHandlerType  theOutputHandler,
XalanFlushHandlerType  theFlushHandler 
)

Transform the XML source tree to a callback function.

The processor will apply the compiled stylesheet to the input file and allocate the transformation result to a callback function in pre-allocated blocks. Once the transformation is complete, a second callback, to flush the buffer, is called. You can pass in NULL if you do not wish to implement a flush callback. Xalan will release any memory allocated upon termination, and data passed to the callback is not guaranteed to be null terminated.

See XalanTransformerDefinitions.hpp for more details.

Parameters:
thePSHandlehandle of parsed source
theCSSHandlehandle of compiled stylesheet
theXalanHandlehandle of XalanTransformer instance.
theOutputHandlevoid pointer passed through to callback.
theOutputHandlera user defined (callback) function.
theFlushHandler(can be NULL) a user defined (callback) function.
Returns:
0 for success

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