# The XSLT C library for Gnome

## Module xsltInternals from libxslt

API Menu

- Main Menu
- Developer Menu
- API Menu
- ChangeLog

Related links

- Mail archive
- XML libxml
- DOM gdome2
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- Pascal bindings
- Bug Tracker
- Xsldbg Debugger
- Apache module

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Internal data structures, constants and functions used by the XSLT engine. They are not part of the API or ABI, i.e. they can change without prior notice, use carefully.

## Table of Contents

    #define CHECK_STOPPED

    #define CHECK_STOPPED0

    #define CHECK_STOPPEDE

    #define XSLT_MAX_SORT

    #define XSLT_PAT_NO_PRIORITY

    #define XSLT_RUNTIME_EXTRA

    #define XSLT_RUNTIME_EXTRA_FREE

    #define XSLT_RUNTIME_EXTRA_LST

    Structure xsltDecimalFormat
    struct _xsltDecimalFormat

    Typedef xsltDecimalFormat * xsltDecimalFormatPtr

    Structure xsltDocument
    struct _xsltDocument

    Typedef xsltDocument * xsltDocumentPtr

    Structure xsltElemPreComp
    struct _xsltElemPreComp

    Typedef xsltElemPreComp * xsltElemPreCompPtr

    Enum xsltOutputType

    Structure xsltRuntimeExtra
    struct _xsltRuntimeExtra

    Typedef xsltRuntimeExtra * xsltRuntimeExtraPtr

    Structure xsltStackElem
    struct _xsltStackElem

    Typedef xsltStackElem * xsltStackElemPtr

    Structure xsltStylePreComp
    struct _xsltStylePreComp

    Typedef xsltStylePreComp * xsltStylePreCompPtr

    Enum xsltStyleType

    Structure xsltStylesheet
    struct _xsltStylesheet

    Typedef xsltStylesheet * xsltStylesheetPtr

    Structure xsltTemplate
    struct _xsltTemplate

    Typedef xsltTemplate * xsltTemplatePtr

    Structure xsltTransformContext
    struct _xsltTransformContext

    Typedef xsltTransformContext * xsltTransformContextPtr

    Enum xsltTransformState

    int	xsltAllocateExtra		(xsltStylesheetPtr style)

    int	xsltAllocateExtraCtxt		(xsltTransformContextPtr ctxt)

    void	xsltCompileAttr			(xsltStylesheetPtr style,
    					 xmlAttrPtr attr)

    xmlDocPtr	xsltCreateRVT		(xsltTransformContextPtr ctxt)

    xsltDecimalFormatPtr	xsltDecimalFormatGetByName	(xsltStylesheetPtr sheet,
    							 xmlChar * name)

    Function type: xsltElemPreCompDeallocator
    void	xsltElemPreCompDeallocator	(xsltElemPreCompPtr comp)

    xmlChar *	xsltEvalAVT		(xsltTransformContextPtr ctxt,
    					 void * avt,
    					 xmlNodePtr node)

    xmlXPathError	xsltFormatNumberConversion	(xsltDecimalFormatPtr self,
    						 xmlChar * format,
    						 double number,
    						 xmlChar ** result)

    void	xsltFreeAVTList			(void * avt)

    void	xsltFreeRVTs			(xsltTransformContextPtr ctxt)

    void	xsltFreeStackElemList		(xsltStackElemPtr elem)

    void	xsltFreeStylesheet		(xsltStylesheetPtr sheet)

    int	xsltIsBlank			(xmlChar * str)

    xsltStylesheetPtr	xsltLoadStylesheetPI	(xmlDocPtr doc)

    xsltStylesheetPtr	xsltNewStylesheet	(void)

    void	xsltNumberFormat		(xsltTransformContextPtr ctxt,
    					 xsltNumberDataPtr data,
    					 xmlNodePtr node)

    xsltStylesheetPtr	xsltParseStylesheetDoc	(xmlDocPtr doc)

    xsltStylesheetPtr	xsltParseStylesheetFile	(const xmlChar * filename)

    xsltStylesheetPtr	xsltParseStylesheetImportedDoc	(xmlDocPtr doc,
    							 xsltStylesheetPtr style)

    void	xsltParseStylesheetOutput	(xsltStylesheetPtr style,
    					 xmlNodePtr cur)

    xsltStylesheetPtr	xsltParseStylesheetProcess	(xsltStylesheetPtr ret,
    							 xmlDocPtr doc)

    void	xsltParseTemplateContent	(xsltStylesheetPtr style,
    					 xmlNodePtr templ)

    int	xsltRegisterPersistRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)

    int	xsltRegisterTmpRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)

    Function type: xsltSortFunc
    void	xsltSortFunc			(xsltTransformContextPtr ctxt,
    					 xmlNodePtr * sorts,
    					 int nbsorts)

    Function type: xsltTransformFunction
    void	xsltTransformFunction		(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node,
    					 xmlNodePtr inst,
    					 xsltElemPreCompPtr comp)

## Description

### Macro: CHECK_STOPPED

    #define CHECK_STOPPED

Macro to check if the XSLT processing should be stopped. Will return from the function.

### Macro: CHECK_STOPPED0

    #define CHECK_STOPPED0

Macro to check if the XSLT processing should be stopped. Will return from the function with a 0 value.

### Macro: CHECK_STOPPEDE

    #define CHECK_STOPPEDE

Macro to check if the XSLT processing should be stopped. Will goto the error: label.

### Macro: XSLT_MAX_SORT

    #define XSLT_MAX_SORT

Max number of specified xsl:sort on an element.

### Macro: XSLT_PAT_NO_PRIORITY

    #define XSLT_PAT_NO_PRIORITY

Specific value for pattern without priority expressed.

### Macro: XSLT_RUNTIME_EXTRA

    #define XSLT_RUNTIME_EXTRA

Macro used to define extra information stored in the context

### Macro: XSLT_RUNTIME_EXTRA_FREE

    #define XSLT_RUNTIME_EXTRA_FREE

Macro used to free extra information stored in the context

### Macro: XSLT_RUNTIME_EXTRA_LST

    #define XSLT_RUNTIME_EXTRA_LST

Macro used to access extra information stored in the context

### Structure xsltDecimalFormat

    Structure xsltDecimalFormat
    struct _xsltDecimalFormat {
        struct _xsltDecimalFormat *	next	: chained list
        xmlChar *	name	: Used for interpretation of pattern
        xmlChar *	digit
        xmlChar *	patternSeparator	: May appear in result
        xmlChar *	minusSign
        xmlChar *	infinity
        xmlChar *	noNumber	: Not-a-number Used for interpretation of
        xmlChar *	decimalPoint
        xmlChar *	grouping
        xmlChar *	percent
        xmlChar *	permille
        xmlChar *	zeroDigit
    }

### Structure xsltDocument

    Structure xsltDocument
    struct _xsltDocument {
        struct _xsltDocument *	next	: documents are kept in a chained list
        int	main	: is this the main document
        xmlDocPtr	doc	: the parsed document
        void *	keys	: key tables storage
        struct _xsltDocument *	includes	: subsidiary includes
    }

### Structure xsltElemPreComp

    Structure xsltElemPreComp
    struct _xsltElemPreComp {
        xsltElemPreCompPtr	next	: chained list
        xsltStyleType	type	: type of the element
        xsltTransformFunction	func	: handling function
        xmlNodePtr	inst	: the instruction end of common part
        xsltElemPreCompDeallocator	free	: the deallocator
    }

### Enum xsltOutputType

    Enum xsltOutputType {
        XSLT_OUTPUT_XML = 0
        XSLT_OUTPUT_HTML = 1
        XSLT_OUTPUT_TEXT = 2
    }

### Structure xsltRuntimeExtra

    Structure xsltRuntimeExtra
    struct _xsltRuntimeExtra {
        void *	info	: pointer to the extra data
        xmlFreeFunc	deallocate	: pointer to the deallocation routine
        void *	val	: data not needing deallocation
    }

### Structure xsltStackElem

    Structure xsltStackElem
    struct _xsltStackElem {
        struct _xsltStackElem *	next	: chained list
        xsltStylePreCompPtr	comp	: the compiled form
        int	computed	: was the evaluation done
        const xmlChar *	name	: the local part of the name QName
        const xmlChar *	nameURI	: the URI part of the name QName
        const xmlChar *	select	: the eval string
        xmlNodePtr	tree	: the tree if no eval string or the locat
        xmlXPathObjectPtr	value	: The value if computed
    }

### Structure xsltStylePreComp

    Structure xsltStylePreComp
    struct _xsltStylePreComp {
        xsltElemPreCompPtr	next	: chained list
        xsltStyleType	type	: type of the element
        xsltTransformFunction	func	: handling function
        xmlNodePtr	inst	: * Pre computed values. *
        const xmlChar *	stype	: sort
        int	has_stype	: sort
        int	number	: sort
        const xmlChar *	order	: sort
        int	has_order	: sort
        int	descending	: sort
        const xmlChar *	lang	: sort
        int	has_lang	: sort
        const xmlChar *	case_order	: sort
        int	lower_first	: sort
        const xmlChar *	use	: copy, element
        int	has_use	: copy, element
        int	noescape	: text
        const xmlChar *	name	: element, attribute, pi
        int	has_name	: element, attribute, pi
        const xmlChar *	ns	: element
        int	has_ns	: element
        const xmlChar *	mode	: apply-templates
        const xmlChar *	modeURI	: apply-templates
        const xmlChar *	test	: if
        xsltTemplatePtr	templ	: call-template
        const xmlChar *	select	: sort, copy-of, value-of, apply-template
        int	ver11	: document
        const xmlChar *	filename	: document URL
        int	has_filename	: document
        xsltNumberData	numdata	: number
        xmlXPathCompExprPtr	comp	: a precompiled XPath expression
        xmlNsPtr *	nsList	: the namespaces in scope
        int	nsNr	: the number of namespaces in scope
    }

### Enum xsltStyleType

    Enum xsltStyleType {
        XSLT_FUNC_COPY = 1
        XSLT_FUNC_SORT = 2
        XSLT_FUNC_TEXT = 3
        XSLT_FUNC_ELEMENT = 4
        XSLT_FUNC_ATTRIBUTE = 5
        XSLT_FUNC_COMMENT = 6
        XSLT_FUNC_PI = 7
        XSLT_FUNC_COPYOF = 8
        XSLT_FUNC_VALUEOF = 9
        XSLT_FUNC_NUMBER = 10
        XSLT_FUNC_APPLYIMPORTS = 11
        XSLT_FUNC_CALLTEMPLATE = 12
        XSLT_FUNC_APPLYTEMPLATES = 13
        XSLT_FUNC_CHOOSE = 14
        XSLT_FUNC_IF = 15
        XSLT_FUNC_FOREACH = 16
        XSLT_FUNC_DOCUMENT = 17
        XSLT_FUNC_WITHPARAM = 18
        XSLT_FUNC_PARAM = 19
        XSLT_FUNC_VARIABLE = 20
        XSLT_FUNC_WHEN = 21
        XSLT_FUNC_EXTENSION = 22
    }

### Structure xsltStylesheet

    Structure xsltStylesheet
    struct _xsltStylesheet {
        struct _xsltStylesheet *	parent
        struct _xsltStylesheet *	next
        struct _xsltStylesheet *	imports
        xsltDocumentPtr	docList	: * General data on the style sheet docume
        xmlDocPtr	doc	: the parsed XML stylesheet
        xmlHashTablePtr	stripSpaces	: the hash table of the strip-space and p
        int	stripAll	: strip-space * (1) preserve-space * (-1)
        xmlHashTablePtr	cdataSection	: * Global variable or parameters. *
        xsltStackElemPtr	variables	: * Template descriptions. *
        xsltTemplatePtr	templates	: the ordered list of templates
        void *	templatesHash	: hash table or wherever compiled templat
        void *	rootMatch	: template based on /
        void *	keyMatch	: template based on key()
        void *	elemMatch	: template based on *
        void *	attrMatch	: template based on @*
        void *	parentMatch	: template based on ..
        void *	textMatch	: template based on text()
        void *	piMatch	: template based on processing-instructio
        void *	commentMatch	: * Namespace aliases. *
        xmlHashTablePtr	nsAliases	: * Attribute sets. *
        xmlHashTablePtr	attributeSets	: * Namespaces. *
        xmlHashTablePtr	nsHash	: the set of namespaces in use
        void *	nsDefs	: * Key definitions. *
        void *	keys	: * Output related stuff. *
        xmlChar *	method	: the output method
        xmlChar *	methodURI	: associated namespace if any
        xmlChar *	version	: version string
        xmlChar *	encoding	: encoding string
        int	omitXmlDeclaration	: * Number formatting. *
        xsltDecimalFormatPtr	decimalFormat
        int	standalone	: standalone = "yes" | "no"
        xmlChar *	doctypePublic	: doctype-public string
        xmlChar *	doctypeSystem	: doctype-system string
        int	indent	: should output being indented
        xmlChar *	mediaType	: * Precomputed blocks. *
        xsltElemPreCompPtr	preComps	: list of precomputed blocks
        int	warnings	: number of warnings found at compilation
        int	errors	: number of errors found at compilation
        xmlChar *	exclPrefix	: last excluded prefixes
        xmlChar **	exclPrefixTab	: array of excluded prefixes
        int	exclPrefixNr	: number of excluded prefixes in scope
        int	exclPrefixMax	: size of the array
        void *	_private	: * Extensions. *
        xmlHashTablePtr	extInfos	: the extension data
        int	extrasNr	: * For keeping track of nested includes *
        xsltDocumentPtr	includes	: * dictionnary: shared between stylesheet
        xmlDictPtr	dict	: * precompiled attribute value templates.
        void *	attVTs
    }

### Structure xsltTemplate

    Structure xsltTemplate
    struct _xsltTemplate {
        struct _xsltTemplate *	next	: chained list sorted by priority
        struct _xsltStylesheet *	style	: the containing stylesheet
        xmlChar *	match	: the matching string
        float	priority	: as given from the stylesheet, not compu
        xmlChar *	name	: the local part of the name QName
        xmlChar *	nameURI	: the URI part of the name QName
        xmlChar *	mode	: the local part of the mode QName
        xmlChar *	modeURI	: the URI part of the mode QName
        xmlNodePtr	content	: the template replacement value
        xmlNodePtr	elem	: the source element
        int	inheritedNsNr	: number of inherited namespaces
        xmlNsPtr *	inheritedNs	: inherited non-excluded namespaces Profi
        int	nbCalls	: the number of time the template was cal
        unsigned long	time	: the time spent in this template
    }

### Structure xsltTransformContext

    Structure xsltTransformContext
    struct _xsltTransformContext {
        xsltStylesheetPtr	style	: the stylesheet used
        xsltOutputType	type	: the type of output
        xsltTemplatePtr	templ	: the current template
        int	templNr	: Nb of templates in the stack
        int	templMax	: Size of the templtes stack
        xsltTemplatePtr *	templTab	: the template stack
        xsltStackElemPtr	vars	: the current variable list
        int	varsNr	: Nb of variable list in the stack
        int	varsMax	: Size of the variable list stack
        xsltStackElemPtr *	varsTab	: the variable list stack
        int	varsBase	: * Extensions *
        xmlHashTablePtr	extFunctions	: the extension functions
        xmlHashTablePtr	extElements	: the extension elements
        xmlHashTablePtr	extInfos	: the extension data
        const xmlChar *	mode	: the current mode
        const xmlChar *	modeURI	: the current mode URI
        xsltDocumentPtr	docList	: the document list
        xsltDocumentPtr	document	: the current document
        xmlNodePtr	node	: the current node being processed
        xmlNodeSetPtr	nodeList	: the current node list xmlNodePtr curren
        xmlDocPtr	output	: the resulting document
        xmlNodePtr	insert	: the insertion node
        xmlXPathContextPtr	xpathCtxt	: the XPath context
        xsltTransformState	state	: * Global variables *
        xmlHashTablePtr	globalVars	: the global variables and params
        xmlNodePtr	inst	: the instruction in the stylesheet
        int	xinclude	: should XInclude be processed
        const char *	outputFile	: the output URI if known
        int	profile	: is this run profiled
        long	prof	: the current profiled value
        int	profNr	: Nb of templates in the stack
        int	profMax	: Size of the templtaes stack
        long *	profTab	: the profile template stack
        void *	_private	: user defined data
        int	extrasNr	: the number of extras used
        int	extrasMax	: the number of extras allocated
        xsltRuntimeExtraPtr	extras	: extra per runtime informations
        xsltDocumentPtr	styleList	: the stylesheet docs list
        void *	sec	: the security preferences if any
        xmlGenericErrorFunc	error	: a specific error handler
        void *	errctx	: context for the error handler
        xsltSortFunc	sortfunc	: * handling of temporary Result Value Tre
        xmlDocPtr	tmpRVT	: list of RVT without persistance
        xmlDocPtr	persistRVT	: list of persistant RVTs
        int	ctxtflags	: * Speed optimization when coalescing tex
        const xmlChar *	lasttext	: last text node content
        unsigned int	lasttsize	: last text node size
        unsigned int	lasttuse	: * Per Context Debugging *
        int	debugStatus	: the context level debug status
        unsigned long *	traceCode	: pointer to the variable holding the mas
        int	parserOptions	: * dictionnary: shared between stylesheet
        xmlDictPtr	dict
    }

### Enum xsltTransformState

    Enum xsltTransformState {
        XSLT_STATE_OK = 0
        XSLT_STATE_ERROR = 1
        XSLT_STATE_STOPPED = 2
    }

### Function: xsltAllocateExtra

    int	xsltAllocateExtra		(xsltStylesheetPtr style)

Allocate an extra runtime information slot statically while compiling the stylesheet and return its number

`style`: | an XSLT stylesheet
`Returns`: | the number of the slot

### Function: xsltAllocateExtraCtxt

    int	xsltAllocateExtraCtxt		(xsltTransformContextPtr ctxt)

Allocate an extra runtime information slot at run-time and return its number This make sure there is a slot ready in the transformation context

`ctxt`: | an XSLT transformation context
`Returns`: | the number of the slot

### Function: xsltCompileAttr

    void	xsltCompileAttr			(xsltStylesheetPtr style,
    					 xmlAttrPtr attr)

Precompile an attribute in a stylesheet, basically it checks if it is an attrubute value template, and if yes establish some structures needed to process it at transformation time.

`style`: | a XSLT process context
`attr`: | the attribute coming from the stylesheet.

### Function: xsltCreateRVT

    xmlDocPtr	xsltCreateRVT		(xsltTransformContextPtr ctxt)

Create a result value tree

`ctxt`: | an XSLT transformation context
`Returns`: | the result value tree or NULL in case of error

### Function: xsltDecimalFormatGetByName

    xsltDecimalFormatPtr	xsltDecimalFormatGetByName	(xsltStylesheetPtr sheet,
    							 xmlChar * name)

Find decimal-format by name

`sheet`: | the XSLT stylesheet
`name`: | the decimal-format name to find
`Returns`: | the xsltDecimalFormatPtr

### Function type: xsltElemPreCompDeallocator

    Function type: xsltElemPreCompDeallocator
    void	xsltElemPreCompDeallocator	(xsltElemPreCompPtr comp)

Deallocates an #xsltElemPreComp structure.

`comp`: | the #xsltElemPreComp to free up

### Function: xsltEvalAVT

    xmlChar *	xsltEvalAVT		(xsltTransformContextPtr ctxt,
    					 void * avt,
    					 xmlNodePtr node)

Process the given AVT, and return the new string value.

`ctxt`: | the XSLT transformation context
`avt`: | the prevompiled attribute value template info
`node`: | the node hosting the attribute
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltFormatNumberConversion

    xmlXPathError	xsltFormatNumberConversion	(xsltDecimalFormatPtr self,
    						 xmlChar * format,
    						 double number,
    						 xmlChar ** result)

format-number() uses the JDK 1.1 DecimalFormat class: http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html Structure: pattern := subpattern{;subpattern} subpattern := {prefix}integer{.fraction}{suffix} prefix := '\\u0000'..'\\uFFFD' - specialCharacters suffix := '\\u0000'..'\\uFFFD' - specialCharacters integer := '#'* '0'* '0' fraction := '0'* '#'* Notation: X* 0 or more instances of X (X | Y) either X or Y. X..Y any character from X up to Y, inclusive. S - T characters in S, except those in T Special Characters: Symbol Meaning 0 a digit # a digit, zero shows as absent . placeholder for decimal separator , placeholder for grouping separator. ; separates formats. - default negative prefix. % multiply by 100 and show as percentage ? multiply by 1000 and show as per mille X any other characters can be used in the prefix or suffix ' used to quote special characters in a prefix or suffix.

`self`: | the decimal format
`format`: | the format requested
`number`: | the value to format
`result`: | the place to ouput the result
`Returns`: | a possible XPath error

### Function: xsltFreeAVTList

    void	xsltFreeAVTList			(void * avt)

Free up the memory associated to the attribute value templates

`avt`: | pointer to an list of AVT structures

### Function: xsltFreeRVTs

    void	xsltFreeRVTs			(xsltTransformContextPtr ctxt)

Free all the registered result value tree of the transformation

`ctxt`: | an XSLT transformation context

### Function: xsltFreeStackElemList

    void	xsltFreeStackElemList		(xsltStackElemPtr elem)

Free up the memory allocated by @elem

`elem`: | an XSLT stack element

### Function: xsltFreeStylesheet

    void	xsltFreeStylesheet		(xsltStylesheetPtr sheet)

Free up the memory allocated by @sheet

`sheet`: | an XSLT stylesheet

### Function: xsltIsBlank

    int	xsltIsBlank			(xmlChar * str)

Check if a string is ignorable

`str`: | a string
`Returns`: | 1 if the string is NULL or made of blanks chars, 0 otherwise

### Function: xsltLoadStylesheetPI

    xsltStylesheetPtr	xsltLoadStylesheetPI	(xmlDocPtr doc)

This function tries to locate the stylesheet PI in the given document If found, and if contained within the document, it will extract that subtree to build the stylesheet to process @doc (doc itself will be modified). If found but referencing an external document it will attempt to load it and generate a stylesheet from it. In both cases, the resulting stylesheet and the document need to be freed once the transformation is done.

`doc`: | a document to process
`Returns`: | a new XSLT stylesheet structure or NULL if not found.

### Function: xsltNewStylesheet

    xsltStylesheetPtr	xsltNewStylesheet	(void)

Create a new XSLT Stylesheet

`Returns`: | the newly allocated xsltStylesheetPtr or NULL in case of error

### Function: xsltNumberFormat

    void	xsltNumberFormat		(xsltTransformContextPtr ctxt,
    					 xsltNumberDataPtr data,
    					 xmlNodePtr node)

Convert one number.

`ctxt`: | the XSLT transformation context
`data`: | the formatting informations
`node`: | the data to format

### Function: xsltParseStylesheetDoc

    xsltStylesheetPtr	xsltParseStylesheetDoc	(xmlDocPtr doc)

parse an XSLT stylesheet building the associated structures

`doc`: | and xmlDoc parsed XML
`Returns`: | a new XSLT stylesheet structure.

### Function: xsltParseStylesheetFile

    xsltStylesheetPtr	xsltParseStylesheetFile	(const xmlChar * filename)

Load and parse an XSLT stylesheet

`filename`: | the filename/URL to the stylesheet
`Returns`: | a new XSLT stylesheet structure.

### Function: xsltParseStylesheetImportedDoc

    xsltStylesheetPtr	xsltParseStylesheetImportedDoc	(xmlDocPtr doc,
    							 xsltStylesheetPtr style)

parse an XSLT stylesheet building the associated structures except the processing not needed for imported documents.

`doc`: | an xmlDoc parsed XML
`style`: | pointer to parent stylesheet
`Returns`: | a new XSLT stylesheet structure.

### Function: xsltParseStylesheetOutput

    void	xsltParseStylesheetOutput	(xsltStylesheetPtr style,
    					 xmlNodePtr cur)

parse an XSLT stylesheet output element and record information related to the stylesheet output

`style`: | the XSLT stylesheet
`cur`: | the "output" element

### Function: xsltParseStylesheetProcess

    xsltStylesheetPtr	xsltParseStylesheetProcess	(xsltStylesheetPtr ret,
    							 xmlDocPtr doc)

parse an XSLT stylesheet adding the associated structures

`ret`: | the XSLT stylesheet
`doc`: | and xmlDoc parsed XML
`Returns`: | the value of the 'ret' parameter if everything went right, NULL if something went amiss.

### Function: xsltParseTemplateContent

    void	xsltParseTemplateContent	(xsltStylesheetPtr style,
    					 xmlNodePtr templ)

parse a template content-model Clean-up the template content from unwanted ignorable blank nodes and process xslt:text

`style`: | the XSLT stylesheet
`templ`: | the container node (can be a document for literal results)

### Function: xsltRegisterPersistRVT

    int	xsltRegisterPersistRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)

Register the result value tree for destruction at the end of the processing

`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree
`Returns`: | 0 in case of success and -1 in case of error.

### Function: xsltRegisterTmpRVT

    int	xsltRegisterTmpRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)

Register the result value tree for destruction at the end of the context

`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree
`Returns`: | 0 in case of success and -1 in case of error.

### Function type: xsltSortFunc

    Function type: xsltSortFunc
    void	xsltSortFunc			(xsltTransformContextPtr ctxt,
    					 xmlNodePtr * sorts,
    					 int nbsorts)

Signature of the function to use during sorting

`ctxt`: | a transformation context
`sorts`: | the node-set to sort
`nbsorts`: | the number of sorts

### Function type: xsltTransformFunction

    Function type: xsltTransformFunction
    void	xsltTransformFunction		(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node,
    					 xmlNodePtr inst,
    					 xsltElemPreCompPtr comp)

Signature of the function associated to elements part of the stylesheet language like xsl:if or xsl:apply-templates.

`ctxt`: | the XSLT transformation context
`node`: | the input node
`inst`: | the stylesheet node
`comp`: | the compiled information from the stylesheet

Daniel Veillard