# The XSLT C library for GNOME ## Module xsltInternals from libxslt

API Menu
Main Menu Developer Menu API Menu ChangeLog
Related links
Mail archive XML libxml2 FTP Windows binaries Solaris binaries MacOsX binaries Bug Tracker lxml Python bindings Perl XSLT bindings XSLT with PHP Apache module Pascal bindings Xsldbg Debugger
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 IS_XSLT_ATTR_FAST
    #define IS_XSLT_ELEM_FAST
    #define XML_CAST_FPTR
    #define XSLT_CCTXT
    #define XSLT_FAST_IF
    #define XSLT_GET_INTERNAL_NSMAP
    #define XSLT_HAS_INTERNAL_NSMAP
    #define XSLT_IS_RES_TREE_FRAG
    #define XSLT_IS_TEXT_NODE
    #define XSLT_ITEM_COMMON_FIELDS
    #define XSLT_ITEM_COMPATIBILITY_FIELDS
    #define XSLT_ITEM_NAVIGATION_FIELDS
    #define XSLT_ITEM_NSINSCOPE_FIELDS
    #define XSLT_MARK_RES_TREE_FRAG
    #define XSLT_MAX_SORT
    #define XSLT_PAT_NO_PRIORITY
    #define XSLT_REFACTORED_KEYCOMP
    #define XSLT_REFACTORED_VARS
    #define XSLT_RUNTIME_EXTRA
    #define XSLT_RUNTIME_EXTRA_FREE
    #define XSLT_RUNTIME_EXTRA_LST
    Structure xsltCompilerCtxt
    struct _xsltCompilerCtxt
    Typedef xsltCompilerCtxt * xsltCompilerCtxtPtr
    Structure xsltCompilerNodeInfo
    struct _xsltCompilerNodeInfo
    Typedef xsltCompilerNodeInfo * xsltCompilerNodeInfoPtr
    Structure xsltDecimalFormat
    struct _xsltDecimalFormat
    Typedef xsltDecimalFormat * xsltDecimalFormatPtr
    Structure xsltDocument
    struct _xsltDocument
    Typedef xsltDocument * xsltDocumentPtr
    Structure xsltEffectiveNs
    struct _xsltEffectiveNs
    Typedef xsltEffectiveNs * xsltEffectiveNsPtr
    Structure xsltElemPreComp
    struct _xsltElemPreComp
    Typedef xsltElemPreComp * xsltElemPreCompPtr
    Enum xsltErrorSeverityType
    Structure xsltKeyDef
    struct _xsltKeyDef
    Typedef xsltKeyDef * xsltKeyDefPtr
    Structure xsltKeyTable
    struct _xsltKeyTable
    Typedef xsltKeyTable * xsltKeyTablePtr
    Structure xsltNsAlias
    struct _xsltNsAlias
    Typedef xsltNsAlias * xsltNsAliasPtr
    Structure xsltNsList
    struct _xsltNsList
    Structure xsltNsListContainer
    struct _xsltNsListContainer
    Typedef xsltNsListContainer * xsltNsListContainerPtr
    Typedef xsltNsList * xsltNsListPtr
    Structure xsltNsMap
    struct _xsltNsMap
    Typedef xsltNsMap * xsltNsMapPtr
    Enum xsltOutputType
    Structure xsltPointerList
    struct _xsltPointerList
    Typedef xsltPointerList * xsltPointerListPtr
    Structure xsltPrincipalStylesheetData
    struct _xsltPrincipalStylesheetData
    Typedef xsltPrincipalStylesheetData * xsltPrincipalStylesheetDataPtr
    Structure xsltRuntimeExtra
    struct _xsltRuntimeExtra
    Typedef xsltRuntimeExtra * xsltRuntimeExtraPtr
    Structure xsltStackElem
    struct _xsltStackElem
    Typedef xsltStackElem * xsltStackElemPtr
    Structure xsltStyleBasicEmptyItem
    struct _xsltStyleBasicEmptyItem
    The content of this structure is not made public by the API.
    Typedef xsltStyleBasicEmptyItem * xsltStyleBasicEmptyItemPtr
    Structure xsltStyleBasicExpressionItem
    struct _xsltStyleBasicExpressionItem
    Typedef xsltStyleBasicExpressionItem * xsltStyleBasicExpressionItemPtr
    Structure xsltStyleBasicItemVariable
    struct _xsltStyleBasicItemVariable
    Typedef xsltStyleBasicItemVariable * xsltStyleBasicItemVariablePtr
    Typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports
    Typedef xsltStyleItemApplyImports * xsltStyleItemApplyImportsPtr
    Structure xsltStyleItemApplyTemplates
    struct _xsltStyleItemApplyTemplates
    Typedef xsltStyleItemApplyTemplates * xsltStyleItemApplyTemplatesPtr
    Structure xsltStyleItemAttribute
    struct _xsltStyleItemAttribute
    Typedef xsltStyleItemAttribute * xsltStyleItemAttributePtr
    Structure xsltStyleItemCallTemplate
    struct _xsltStyleItemCallTemplate
    Typedef xsltStyleItemCallTemplate * xsltStyleItemCallTemplatePtr
    Typedef xsltStyleBasicEmptyItem xsltStyleItemChoose
    Typedef xsltStyleItemChoose * xsltStyleItemChoosePtr
    Typedef xsltStyleBasicEmptyItem xsltStyleItemComment
    Typedef xsltStyleItemComment * xsltStyleItemCommentPtr
    Structure xsltStyleItemCopy
    struct _xsltStyleItemCopy
    Typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf
    Typedef xsltStyleItemCopyOf * xsltStyleItemCopyOfPtr
    Typedef xsltStyleItemCopy * xsltStyleItemCopyPtr
    Structure xsltStyleItemDocument
    struct _xsltStyleItemDocument
    Typedef xsltStyleItemDocument * xsltStyleItemDocumentPtr
    Structure xsltStyleItemElement
    struct _xsltStyleItemElement
    Typedef xsltStyleItemElement * xsltStyleItemElementPtr
    Structure xsltStyleItemExtElement
    struct _xsltStyleItemExtElement
    Typedef xsltStyleItemExtElement * xsltStyleItemExtElementPtr
    Typedef xsltStyleBasicEmptyItem xsltStyleItemFallback
    Typedef xsltStyleItemFallback * xsltStyleItemFallbackPtr
    Typedef xsltStyleBasicExpressionItem xsltStyleItemForEach
    Typedef xsltStyleItemForEach * xsltStyleItemForEachPtr
    Structure xsltStyleItemIf
    struct _xsltStyleItemIf
    Typedef xsltStyleItemIf * xsltStyleItemIfPtr
    Structure xsltStyleItemInclude
    struct _xsltStyleItemInclude
    Typedef xsltStyleItemInclude * xsltStyleItemIncludePtr
    Structure xsltStyleItemLRElementInfo
    struct _xsltStyleItemLRElementInfo
    Typedef xsltStyleItemLRElementInfo * xsltStyleItemLRElementInfoPtr
    Structure xsltStyleItemMessage
    struct _xsltStyleItemMessage
    Typedef xsltStyleItemMessage * xsltStyleItemMessagePtr
    Structure xsltStyleItemNumber
    struct _xsltStyleItemNumber
    Typedef xsltStyleItemNumber * xsltStyleItemNumberPtr
    Structure xsltStyleItemOtherwise
    struct _xsltStyleItemOtherwise
    The content of this structure is not made public by the API.
    Typedef xsltStyleItemOtherwise * xsltStyleItemOtherwisePtr
    Structure xsltStyleItemPI
    struct _xsltStyleItemPI
    Typedef xsltStyleItemPI * xsltStyleItemPIPtr
    Structure xsltStyleItemParam
    struct _xsltStyleItemParam
    Typedef xsltStyleItemParam * xsltStyleItemParamPtr
    Structure xsltStyleItemSort
    struct _xsltStyleItemSort
    Typedef xsltStyleItemSort * xsltStyleItemSortPtr
    Structure xsltStyleItemText
    struct _xsltStyleItemText
    Typedef xsltStyleItemText * xsltStyleItemTextPtr
    Structure xsltStyleItemUknown
    struct _xsltStyleItemUknown
    The content of this structure is not made public by the API.
    Typedef xsltStyleItemUknown * xsltStyleItemUknownPtr
    Structure xsltStyleItemValueOf
    struct _xsltStyleItemValueOf
    Typedef xsltStyleItemValueOf * xsltStyleItemValueOfPtr
    Typedef xsltStyleBasicItemVariable xsltStyleItemVariable
    Typedef xsltStyleItemVariable * xsltStyleItemVariablePtr
    Structure xsltStyleItemWhen
    struct _xsltStyleItemWhen
    Typedef xsltStyleItemWhen * xsltStyleItemWhenPtr
    Typedef xsltStyleBasicItemVariable xsltStyleItemWithParam
    Typedef xsltStyleItemWithParam * xsltStyleItemWithParamPtr
    Structure xsltStylePreComp
    struct _xsltStylePreComp
    Typedef xsltStylePreComp * xsltStylePreCompPtr
    Enum xsltStyleType
    Structure xsltStylesheet
    struct _xsltStylesheet
    Typedef xsltStylesheet * xsltStylesheetPtr
    Structure xsltTemplate
    struct _xsltTemplate
    Typedef xsltTemplate * xsltTemplatePtr
    Structure xsltTransformCache
    struct _xsltTransformCache
    Typedef xsltTransformCache * xsltTransformCachePtr
    Structure xsltTransformContext
    struct _xsltTransformContext
    Typedef xsltTransformContext * xsltTransformContextPtr
    Enum xsltTransformState
    Structure xsltVarInfo
    struct _xsltVarInfo
    Typedef xsltVarInfo * xsltVarInfoPtr
    int	xsltAllocateExtra		(xsltStylesheetPtr style)
    int	xsltAllocateExtraCtxt		(xsltTransformContextPtr ctxt)
    void	xsltCompileAttr			(xsltStylesheetPtr style,
    					 xmlAttrPtr attr)
    xmlDocPtr	xsltCreateRVT		(xsltTransformContextPtr ctxt)
    xsltDecimalFormatPtr	xsltDecimalFormatGetByName	(xsltStylesheetPtr style,
    							 xmlChar * name)
    xsltDecimalFormatPtr	xsltDecimalFormatGetByQName	(xsltStylesheetPtr style,
    							 const xmlChar * nsUri,
    							 const xmlChar * name)
    Function type: xsltElemPreCompDeallocator
    void	xsltElemPreCompDeallocator	(xsltElemPreCompPtr comp)
    xmlChar *	xsltEvalAVT		(xsltTransformContextPtr ctxt,
    					 void * avt,
    					 xmlNodePtr node)
    int	xsltExtensionInstructionResultFinalize	(xsltTransformContextPtr ctxt)
    int	xsltExtensionInstructionResultRegister	(xsltTransformContextPtr ctxt,
    						 xmlXPathObjectPtr obj)
    int	xsltFlagRVTs			(xsltTransformContextPtr ctxt,
    					 xmlXPathObjectPtr obj,
    					 void * val)
    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 style)
    int	xsltInitAllDocKeys		(xsltTransformContextPtr ctxt)
    int	xsltInitCtxtKey			(xsltTransformContextPtr ctxt,
    					 xsltDocumentPtr idoc,
    					 xsltKeyDefPtr keyDef)
    int	xsltIsBlank			(xmlChar * str)
    xsltStylesheetPtr	xsltLoadStylesheetPI	(xmlDocPtr doc)
    xsltStylesheetPtr	xsltNewStylesheet	(void)
    void	xsltNumberFormat		(xsltTransformContextPtr ctxt,
    					 xsltNumberDataPtr data,
    					 xmlNodePtr node)
    int	xsltParseAnyXSLTElem		(xsltCompilerCtxtPtr cctxt,
    					 xmlNodePtr elem)
    void	xsltParseSequenceConstructor	(xsltCompilerCtxtPtr cctxt,
    					 xmlNodePtr cur)
    xsltStylesheetPtr	xsltParseStylesheetDoc	(xmlDocPtr doc)
    xsltStylesheetPtr	xsltParseStylesheetFile	(const xmlChar * filename)
    xsltStylesheetPtr	xsltParseStylesheetImportedDoc	(xmlDocPtr doc,
    							 xsltStylesheetPtr parentStyle)
    void	xsltParseStylesheetOutput	(xsltStylesheetPtr style,
    					 xmlNodePtr cur)
    xsltStylesheetPtr	xsltParseStylesheetProcess	(xsltStylesheetPtr ret,
    							 xmlDocPtr doc)
    int	xsltParseStylesheetUser		(xsltStylesheetPtr style,
    					 xmlDocPtr doc)
    void	xsltParseTemplateContent	(xsltStylesheetPtr style,
    					 xmlNodePtr templ)
    int	xsltPointerListAddSize		(xsltPointerListPtr list,
    					 void * item,
    					 int initialSize)
    void	xsltPointerListClear		(xsltPointerListPtr list)
    xsltPointerListPtr	xsltPointerListCreate	(int initialSize)
    void	xsltPointerListFree		(xsltPointerListPtr list)
    int	xsltRegisterLocalRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
    int	xsltRegisterPersistRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
    int	xsltRegisterTmpRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
    void	xsltReleaseRVT			(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
    int	xsltRestoreDocumentNamespaces	(xsltNsMapPtr ns,
    					 xmlDocPtr doc)
    Function type: xsltSortFunc
    void	xsltSortFunc			(xsltTransformContextPtr ctxt,
    					 xmlNodePtr * sorts,
    					 int nbsorts)
    Function type: xsltTransformFunction
    void	xsltTransformFunction		(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node,
    					 xmlNodePtr inst,
    					 xsltElemPreCompPtr comp)
    void	xsltUninit			(void)
## 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: IS_XSLT_ATTR_FAST
    #define IS_XSLT_ATTR_FAST
quick check for xslt namespace attribute ### Macro: IS_XSLT_ELEM_FAST
    #define IS_XSLT_ELEM_FAST
quick check whether this is an xslt element ### Macro: XML_CAST_FPTR
    #define XML_CAST_FPTR
Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now ### Macro: XSLT_CCTXT
    #define XSLT_CCTXT
get pointer to compiler context ### Macro: XSLT_FAST_IF
    #define XSLT_FAST_IF
Internal define to enable usage of xmlXPathCompiledEvalToBoolean() for XSLT "tests"; e.g. in <xsl:if test="/foo/bar"> ### Macro: XSLT_GET_INTERNAL_NSMAP
    #define XSLT_GET_INTERNAL_NSMAP
get pointer to namespace map ### Macro: XSLT_HAS_INTERNAL_NSMAP
    #define XSLT_HAS_INTERNAL_NSMAP
check for namespace mapping ### Macro: XSLT_IS_RES_TREE_FRAG
    #define XSLT_IS_RES_TREE_FRAG
internal macro to test tree fragments ### Macro: XSLT_IS_TEXT_NODE
    #define XSLT_IS_TEXT_NODE
check if the argument is a text node ### Macro: XSLT_ITEM_COMMON_FIELDS
    #define XSLT_ITEM_COMMON_FIELDS
Common fields used for all items. ### Macro: XSLT_ITEM_COMPATIBILITY_FIELDS
    #define XSLT_ITEM_COMPATIBILITY_FIELDS
Fields for API compatibility to the structure _xsltElemPreComp which is used for extension functions. Note that @next is used for storage; it does not reflect a next sibling in the tree. TODO: Evaluate if we really need such a compatibility. ### Macro: XSLT_ITEM_NAVIGATION_FIELDS
    #define XSLT_ITEM_NAVIGATION_FIELDS
Currently empty. TODO: It is intended to hold navigational fields in the future. ### Macro: XSLT_ITEM_NSINSCOPE_FIELDS
    #define XSLT_ITEM_NSINSCOPE_FIELDS
The in-scope namespaces. ### Macro: XSLT_MARK_RES_TREE_FRAG
    #define XSLT_MARK_RES_TREE_FRAG
internal macro to set up tree fragments ### 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_REFACTORED_KEYCOMP
    #define XSLT_REFACTORED_KEYCOMP
Internal define to enable on-demand xsl:key computation. That's the only mode now but the define is kept for compatibility ### Macro: XSLT_REFACTORED_VARS
    #define XSLT_REFACTORED_VARS
Internal define to enable the refactored variable part of libxslt ### 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 xsltCompilerCtxt
    Structure xsltCompilerCtxt
    struct _xsltCompilerCtxt {
        void *	errorCtxt	: * used for error/warning reports; e.g. X
        xsltErrorSeverityType	errSeverity
        int	warnings	: TODO: number of warnings found at compi
        int	errors	: TODO: number of errors found at compila
        xmlDictPtr	dict
        xsltStylesheetPtr	style
        int	simplified	: whether this is a simplified stylesheet
        int	depth	: Current depth of processing
        xsltCompilerNodeInfoPtr	inode
        xsltCompilerNodeInfoPtr	inodeList
        xsltCompilerNodeInfoPtr	inodeLast
        xsltPointerListPtr	tmpList	: * The XSLT version as specified by the s
        int	isInclude
        int	hasForwardsCompat	: whether forwards-compatible mode was us
        int	maxNodeInfos	: TEMP TODO: just for the interest
        int	maxLREs	: * In order to keep the old behaviour, ap
        int	strict
        xsltPrincipalStylesheetDataPtr	psData
        xsltStyleItemUknownPtr	unknownItem
        int	hasNsAliases	: Indicator if there was an xsl:namespace
        xsltNsAliasPtr	nsAliases
        xsltVarInfoPtr	ivars	: Storage of local in-scope variables/par
        xsltVarInfoPtr	ivar	: topmost local variable/param.
    }
### Structure xsltCompilerNodeInfo
    Structure xsltCompilerNodeInfo
    struct _xsltCompilerNodeInfo {
        xsltCompilerNodeInfoPtr	next
        xsltCompilerNodeInfoPtr	prev
        xmlNodePtr	node
        int	depth
        xsltTemplatePtr	templ	: The owning template
        int	category	: XSLT element, LR-element or extension e
        xsltStyleType	type
        xsltElemPreCompPtr	item	: The compiled information The current in
        xsltNsListContainerPtr	inScopeNs	: The current excluded result namespaces
        xsltPointerListPtr	exclResultNs	: The current extension instruction names
        xsltPointerListPtr	extElemNs	: The current info for literal result ele
        xsltStyleItemLRElementInfoPtr	litResElemInfo	: * Set to 1 if in-scope namespaces change
        int	nsChanged
        int	preserveWhitespace
        int	stripWhitespace
        int	isRoot	: whether this is the stylesheet's root n
        int	forwardsCompat	: whether forwards-compatible mode is ena
        int	extContentHandled	: the type of the current child
        xsltStyleType	curChildType
    }
### 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
        const xmlChar *	nsUri
    }
### 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
        int	preproc	: pre-processing already done
        int	nbKeysComputed
    }
### Structure xsltEffectiveNs
    Structure xsltEffectiveNs
    struct _xsltEffectiveNs {
        xsltEffectiveNsPtr	nextInStore	: storage next
        xsltEffectiveNsPtr	next	: next item in the list
        const xmlChar *	prefix
        const xmlChar *	nsName	: * Indicates if eclared on the literal re
        int	holdByElem
    }
### Structure xsltElemPreComp
    Structure xsltElemPreComp
    struct _xsltElemPreComp {
        xsltElemPreCompPtr	next	: next item in the global chained list he
        xsltStyleType	type	: type of the element
        xsltTransformFunction	func	: handling function
        xmlNodePtr	inst	: the node in the stylesheet's tree corre
        xsltElemPreCompDeallocator	free	: the deallocator
    }
### Enum xsltErrorSeverityType
    Enum xsltErrorSeverityType {
        XSLT_ERROR_SEVERITY_ERROR = 0
        XSLT_ERROR_SEVERITY_WARNING = 1
    }
### Structure xsltKeyDef
    Structure xsltKeyDef
    struct _xsltKeyDef {
        struct _xsltKeyDef *	next
        xmlNodePtr	inst
        xmlChar *	name
        xmlChar *	nameURI
        xmlChar *	match
        xmlChar *	use
        xmlXPathCompExprPtr	comp
        xmlXPathCompExprPtr	usecomp
        xmlNsPtr *	nsList	: the namespaces in scope
        int	nsNr	: the number of namespaces in scope
    }
### Structure xsltKeyTable
    Structure xsltKeyTable
    struct _xsltKeyTable {
        struct _xsltKeyTable *	next
        xmlChar *	name
        xmlChar *	nameURI
        xmlHashTablePtr	keys
    }
### Structure xsltNsAlias
    Structure xsltNsAlias
    struct _xsltNsAlias {
        xsltNsAliasPtr	next	: next in the list
        xmlNsPtr	literalNs
        xmlNsPtr	targetNs
        xmlDocPtr	docOfTargetNs
    }
### Structure xsltNsList
    Structure xsltNsList
    struct _xsltNsList {
        xsltNsListPtr	next	: next in the list
        xmlNsPtr	ns
    }
### Structure xsltNsListContainer
    Structure xsltNsListContainer
    struct _xsltNsListContainer {
        xmlNsPtr *	list
        int	totalNumber
        int	xpathNumber
    }
### Structure xsltNsMap
    Structure xsltNsMap
    struct _xsltNsMap {
        xsltNsMapPtr	next	: next in the list
        xmlDocPtr	doc
        xmlNodePtr	elem	: the element holding the ns-decl
        xmlNsPtr	ns	: the xmlNs structure holding the XML nam
        const xmlChar *	origNsName	: the original XML namespace name
        const xmlChar *	newNsName	: the mapped XML namespace name
    }
### Enum xsltOutputType
    Enum xsltOutputType {
        XSLT_OUTPUT_XML = 0
        XSLT_OUTPUT_HTML = 1
        XSLT_OUTPUT_TEXT = 2
    }
### Structure xsltPointerList
    Structure xsltPointerList
    struct _xsltPointerList {
        void **	items
        int	number
        int	size
    }
### Structure xsltPrincipalStylesheetData
    Structure xsltPrincipalStylesheetData
    struct _xsltPrincipalStylesheetData {
        xmlDictPtr	namespaceDict	: * Global list of in-scope namespaces. *
        xsltPointerListPtr	inScopeNamespaces	: * Global list of information for [xsl:]e
        xsltPointerListPtr	exclResultNamespaces	: * Global list of information for [xsl:]e
        xsltPointerListPtr	extElemNamespaces
        xsltEffectiveNsPtr	effectiveNs	: * Namespace name map to get rid of strin
        xsltNsMapPtr	nsMap
    }
### Structure xsltRuntimeExtra
    Structure xsltRuntimeExtra
    struct _xsltRuntimeExtra {
        void *	info	: pointer to the extra data
        xmlFreeFunc	deallocate	: pointer to the deallocation routine
    }
### 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 sequence constructor if no eval str
        xmlXPathObjectPtr	value	: The value if computed
        xmlDocPtr	fragment	: The Result Tree Fragments (needed for X
        int	level	: the depth in the tree; -1 if persistent
        xsltTransformContextPtr	context	: The transformation context; needed to c
        int	flags
    }
### Structure xsltStyleBasicEmptyItem
    Structure xsltStyleBasicEmptyItem
    struct _xsltStyleBasicEmptyItem {
    The content of this structure is not made public by the API.
    }
### Structure xsltStyleBasicExpressionItem
    Structure xsltStyleBasicExpressionItem
    struct _xsltStyleBasicExpressionItem {
        const xmlChar *	select	: TODO: Change this to "expression".
        xmlXPathCompExprPtr	comp	: TODO: Change this to compExpr.
    }
### Structure xsltStyleBasicItemVariable
    Structure xsltStyleBasicItemVariable
    struct _xsltStyleBasicItemVariable {
        const xmlChar *	select
        xmlXPathCompExprPtr	comp
        const xmlChar *	name
        int	has_name
        const xmlChar *	ns
        int	has_ns
    }
### Structure xsltStyleItemApplyTemplates
    Structure xsltStyleItemApplyTemplates
    struct _xsltStyleItemApplyTemplates {
        const xmlChar *	mode	: apply-templates
        const xmlChar *	modeURI	: apply-templates
        const xmlChar *	select	: sort, copy-of, value-of, apply-template
        xmlXPathCompExprPtr	comp	: a precompiled XPath expression TODO: wi
    }
### Structure xsltStyleItemAttribute
    Structure xsltStyleItemAttribute
    struct _xsltStyleItemAttribute {
        const xmlChar *	name
        int	has_name
        const xmlChar *	ns
        const xmlChar *	nsPrefix
        int	has_ns
    }
### Structure xsltStyleItemCallTemplate
    Structure xsltStyleItemCallTemplate
    struct _xsltStyleItemCallTemplate {
        xsltTemplatePtr	templ	: call-template
        const xmlChar *	name	: element, attribute, pi
        int	has_name	: element, attribute, pi
        const xmlChar *	ns	: element
        int	has_ns	: element TODO: with-params
    }
### Structure xsltStyleItemCopy
    Structure xsltStyleItemCopy
    struct _xsltStyleItemCopy {
        const xmlChar *	use	: copy, element
        int	has_use	: copy, element
    }
### Structure xsltStyleItemDocument
    Structure xsltStyleItemDocument
    struct _xsltStyleItemDocument {
        int	ver11	: assigned: in xsltDocumentComp; read: no
        const xmlChar *	filename	: document URL
        int	has_filename
    }
### Structure xsltStyleItemElement
    Structure xsltStyleItemElement
    struct _xsltStyleItemElement {
        const xmlChar *	use
        int	has_use
        const xmlChar *	name
        int	has_name
        const xmlChar *	ns
        const xmlChar *	nsPrefix
        int	has_ns
    }
### Structure xsltStyleItemExtElement
    Structure xsltStyleItemExtElement
    struct _xsltStyleItemExtElement {
        xsltElemPreCompPtr	item
    }
### Structure xsltStyleItemIf
    Structure xsltStyleItemIf
    struct _xsltStyleItemIf {
        const xmlChar *	test	: if
        xmlXPathCompExprPtr	comp	: a precompiled XPath expression
    }
### Structure xsltStyleItemInclude
    Structure xsltStyleItemInclude
    struct _xsltStyleItemInclude {
        xsltDocumentPtr	include
    }
### Structure xsltStyleItemLRElementInfo
    Structure xsltStyleItemLRElementInfo
    struct _xsltStyleItemLRElementInfo {
        xsltEffectiveNsPtr	effectiveNs
    }
### Structure xsltStyleItemMessage
    Structure xsltStyleItemMessage
    struct _xsltStyleItemMessage {
        int	terminate
    }
### Structure xsltStyleItemNumber
    Structure xsltStyleItemNumber
    struct _xsltStyleItemNumber {
        xsltNumberData	numdata	: number
    }
### Structure xsltStyleItemOtherwise
    Structure xsltStyleItemOtherwise
    struct _xsltStyleItemOtherwise {
    The content of this structure is not made public by the API.
    }
### Structure xsltStyleItemPI
    Structure xsltStyleItemPI
    struct _xsltStyleItemPI {
        const xmlChar *	name
        int	has_name
    }
### Structure xsltStyleItemParam
    Structure xsltStyleItemParam
    struct _xsltStyleItemParam {
        const xmlChar *	select
        xmlXPathCompExprPtr	comp
        const xmlChar *	name
        int	has_name
        const xmlChar *	ns
        int	has_ns
    }
### Structure xsltStyleItemSort
    Structure xsltStyleItemSort
    struct _xsltStyleItemSort {
        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
        xsltLocale	locale	: sort
        const xmlChar *	case_order	: sort
        int	lower_first	: sort
        const xmlChar *	use
        int	has_use
        const xmlChar *	select	: sort, copy-of, value-of, apply-template
        xmlXPathCompExprPtr	comp	: a precompiled XPath expression
    }
### Structure xsltStyleItemText
    Structure xsltStyleItemText
    struct _xsltStyleItemText {
        int	noescape	: text
    }
### Structure xsltStyleItemUknown
    Structure xsltStyleItemUknown
    struct _xsltStyleItemUknown {
    The content of this structure is not made public by the API.
    }
### Structure xsltStyleItemValueOf
    Structure xsltStyleItemValueOf
    struct _xsltStyleItemValueOf {
        const xmlChar *	select
        xmlXPathCompExprPtr	comp	: a precompiled XPath expression
        int	noescape
    }
### Structure xsltStyleItemWhen
    Structure xsltStyleItemWhen
    struct _xsltStyleItemWhen {
        const xmlChar *	test
        xmlXPathCompExprPtr	comp
    }
### 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
        xsltLocale	locale	: 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
        XSLT_FUNC_OTHERWISE = 23
        XSLT_FUNC_FALLBACK = 24
        XSLT_FUNC_MESSAGE = 25
        XSLT_FUNC_INCLUDE = 26
        XSLT_FUNC_ATTRSET = 27
        XSLT_FUNC_LITERAL_RESULT_ELEMENT = 28
        XSLT_FUNC_UNKOWN_FORWARDS_COMPAT = 29
    }
### 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. * NOTE: Not used in
        xmlHashTablePtr	nsAliases	: * Attribute sets. *
        xmlHashTablePtr	attributeSets	: * Namespaces. * TODO: Eliminate this. *
        xmlHashTablePtr	nsHash	: the set of namespaces in use: ATTENTION
        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	: * dictionary: shared between stylesheet,
        xmlDictPtr	dict	: * precompiled attribute value templates.
        void *	attVTs	: * if namespace-alias has an alias for th
        const xmlChar *	defaultAlias	: * bypass pre-processing (already done) (
        int	nopreproc	: * all document text strings were interna
        int	internalized	: * Literal Result Element as Stylesheet c
        int	literal_result	: * The principal stylesheet *
        xsltStylesheetPtr	principal	: * Compilation context used during compil
        xsltCompilerCtxtPtr	compCtxt	: TODO: Change this to (void *).
        xsltPrincipalStylesheetDataPtr	principalData	: * Forwards-compatible processing *
        int	forwards_compatible
        xmlHashTablePtr	namedTemplates	: hash table of named templates
        xmlXPathContextPtr	xpathCtxt
    }
### 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
        const xmlChar *	name	: the local part of the name QName
        const xmlChar *	nameURI	: the URI part of the name QName
        const xmlChar *	mode	: the local part of the mode QName
        const xmlChar *	modeURI	: the URI part of the mode QName
        xmlNodePtr	content	: the template replacement value
        xmlNodePtr	elem	: * TODO: @inheritedNsNr and @inheritedNs
        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
        void *	params	: xsl:param instructions
        int	templNr	: Nb of templates in the stack
        int	templMax	: Size of the templtes stack
        xsltTemplatePtr *	templCalledTab	: templates called
        int *	templCountTab	: .. and how often
    }
### Structure xsltTransformCache
    Structure xsltTransformCache
    struct _xsltTransformCache {
        xmlDocPtr	RVT
        int	nbRVT
        xsltStackElemPtr	stackItems
        int	nbStackItems
        int	dbgCachedRVTs
        int	dbgReusedRVTs
        int	dbgCachedVars
        int	dbgReusedVars
    }
### 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 source document; can be NUL
        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 information
        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
        int	lasttsize	: last text node size
        int	lasttuse	: * Per Context Debugging *
        int	debugStatus	: the context level debug status
        unsigned long *	traceCode	: pointer to the variable holding the mas
        int	parserOptions	: * dictionary: shared between stylesheet,
        xmlDictPtr	dict
        xmlDocPtr	tmpDoc	: * all document text strings are internal
        int	internalized
        int	nbKeys
        int	hasTemplKeyPatterns
        xsltTemplatePtr	currentTemplateRule	: the Current Template Rule
        xmlNodePtr	initialContextNode
        xmlDocPtr	initialContextDoc
        xsltTransformCachePtr	cache
        void *	contextVariable	: the current variable item
        xmlDocPtr	localRVT	: list of local tree fragments; will be f
        xmlDocPtr	localRVTBase	: Obsolete
        int	keyInitLevel	: Needed to catch recursive keys issues
        int	depth	: Needed to catch recursions
        int	maxTemplateDepth
        int	maxTemplateVars
        unsigned long	opLimit
        unsigned long	opCount
    }
### Enum xsltTransformState
    Enum xsltTransformState {
        XSLT_STATE_OK = 0
        XSLT_STATE_ERROR = 1
        XSLT_STATE_STOPPED = 2
    }
### Structure xsltVarInfo
    Structure xsltVarInfo
    struct _xsltVarInfo {
        xsltVarInfoPtr	next	: next in the list
        xsltVarInfoPtr	prev
        int	depth	: the depth in the tree
        const xmlChar *	name
        const xmlChar *	nsName
    }
### 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 attribute 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)
Creates a Result Value Tree (the XSLT 1.0 term for this is "Result Tree Fragment")
`ctxt`: | an XSLT transformation context
`Returns`: | the result value tree or NULL in case of API or internal errors.
### Function: xsltDecimalFormatGetByName
    xsltDecimalFormatPtr	xsltDecimalFormatGetByName	(xsltStylesheetPtr style,
    							 xmlChar * name)
Find decimal-format by name
`style`: | the XSLT stylesheet
`name`: | the decimal-format name to find
`Returns`: | the xsltDecimalFormatPtr
### Function: xsltDecimalFormatGetByQName
    xsltDecimalFormatPtr	xsltDecimalFormatGetByQName	(xsltStylesheetPtr style,
    							 const xmlChar * nsUri,
    							 const xmlChar * name)
Find decimal-format by QName
`style`: | the XSLT stylesheet
`nsUri`: | the namespace URI of the QName
`name`: | the local part of the QName
`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: xsltExtensionInstructionResultFinalize
    int	xsltExtensionInstructionResultFinalize	(xsltTransformContextPtr ctxt)
Finalizes the data (e.g. result tree fragments) created within a value-returning process (e.g. EXSLT's function). Tree fragments marked as being returned by a function are set to normal state, which means that the fragment garbage collector will free them after the function-calling process exits.
`ctxt`: | an XSLT transformation context
`Returns`: | 0 in case of success and -1 in case of API or internal errors. This function is unsupported in newer releases of libxslt.
### Function: xsltExtensionInstructionResultRegister
    int	xsltExtensionInstructionResultRegister	(xsltTransformContextPtr ctxt,
    						 xmlXPathObjectPtr obj)
Marks the result of a value-returning extension instruction in order to avoid it being garbage collected before the extension instruction exits. Note that one still has to additionally register any newly created tree fragments (via xsltCreateRVT()) with xsltRegisterLocalRVT().
`ctxt`: | an XSLT transformation context
`obj`: | an XPath object to be inspected for result tree fragments
`Returns`: | 0 in case of success and -1 in case of error. It isn't necessary to call this function in newer releases of libxslt.
### Function: xsltFlagRVTs
    int	xsltFlagRVTs			(xsltTransformContextPtr ctxt,
    					 xmlXPathObjectPtr obj,
    					 void * val)
Updates ownership information of RVTs in @obj according to @val. @val = XSLT_RVT_FUNC_RESULT for the result of an extension function, so its RVTs won't be destroyed after leaving the returning scope. @val = XSLT_RVT_LOCAL for the result of an extension function to reset the state of its RVTs after it was returned to a new scope. @val = XSLT_RVT_GLOBAL for parts of global variables.
`ctxt`: | an XSLT transformation context
`obj`: | an XPath object to be inspected for result tree fragments
`val`: | the flag value
`Returns`: | 0 in case of success and -1 in case of error.
### 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 output 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)
Frees all registered result value trees (Result Tree Fragments) of the transformation. Internal function; should not be called by user-code.
`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 style)
Free up the memory allocated by @style
`style`: | an XSLT stylesheet
### Function: xsltInitAllDocKeys
    int	xsltInitAllDocKeys		(xsltTransformContextPtr ctxt)
INTERNAL ROUTINE ONLY Check if any keys on the current document need to be computed
`ctxt`: | transformation context
`Returns`: | 0 in case of success, -1 in case of failure
### Function: xsltInitCtxtKey
    int	xsltInitCtxtKey			(xsltTransformContextPtr ctxt,
    					 xsltDocumentPtr idoc,
    					 xsltKeyDefPtr keyDef)
Computes the key tables this key and for the current input document.
`ctxt`: | an XSLT transformation context
`idoc`: | the document information (holds key values)
`keyDef`: | the key definition
`Returns`: | 0 on success, -1 on error
### 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 information
`node`: | the data to format
### Function: xsltParseAnyXSLTElem
    int	xsltParseAnyXSLTElem		(xsltCompilerCtxtPtr cctxt,
    					 xmlNodePtr elem)
Parses, validates the content models and compiles XSLT instructions.
`cctxt`: | the compilation context
`elem`: | the element node of the XSLT instruction
`Returns`: | 0 if everything's fine; -1 on API or internal errors.
### Function: xsltParseSequenceConstructor
    void	xsltParseSequenceConstructor	(xsltCompilerCtxtPtr cctxt,
    					 xmlNodePtr cur)
Parses a "template" content (or "sequence constructor" in XSLT 2.0 terms). This will additionally remove xsl:text elements from the tree.
`cctxt`: | the compilation context
`cur`: | the start-node of the content to be parsed
### Function: xsltParseStylesheetDoc
    xsltStylesheetPtr	xsltParseStylesheetDoc	(xmlDocPtr doc)
parse an XSLT stylesheet, building the associated structures. doc is kept as a reference within the returned stylesheet, so changes to doc after the parsing will be reflected when the stylesheet is applied, and the doc is automatically freed when the stylesheet is closed.
`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 parentStyle)
parse an XSLT stylesheet building the associated structures except the processing not needed for imported documents.
`doc`: | an xmlDoc parsed XML
`parentStyle`: | pointer to the parent stylesheet (if it exists)
`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)
Parses an XSLT stylesheet, adding the associated structures. Called by: xsltParseStylesheetImportedDoc() (xslt.c) xsltParseStylesheetInclude() (imports.c)
`ret`: | the XSLT stylesheet (the current stylesheet-level)
`doc`: | and xmlDoc parsed XML
`Returns`: | the value of the @style parameter if everything went right, NULL if something went amiss.
### Function: xsltParseStylesheetUser
    int	xsltParseStylesheetUser		(xsltStylesheetPtr style,
    					 xmlDocPtr doc)
Parse an XSLT stylesheet with a user-provided stylesheet struct.
`style`: | pointer to the stylesheet
`doc`: | an xmlDoc parsed XML
`Returns`: | 0 if successful, -1 in case of error.
### 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: xsltPointerListAddSize
    int	xsltPointerListAddSize		(xsltPointerListPtr list,
    					 void * item,
    					 int initialSize)
Adds an item to the list.
`list`: | the pointer list structure
`item`: | the item to be stored
`initialSize`: | the initial size of the list
`Returns`: | the position of the added item in the list or -1 in case of an error.
### Function: xsltPointerListClear
    void	xsltPointerListClear		(xsltPointerListPtr list)
Resets the list, but does not free the allocated array and does not free the content of the list.
`list`: | pointer to the list to be cleared
### Function: xsltPointerListCreate
    xsltPointerListPtr	xsltPointerListCreate	(int initialSize)
Creates an xsltPointerList structure.
`initialSize`: | the initial size for the list
`Returns`: | a xsltPointerList structure or NULL in case of an error.
### Function: xsltPointerListFree
    void	xsltPointerListFree		(xsltPointerListPtr list)
Frees the xsltPointerList structure. This does not free the content of the list.
`list`: | pointer to the list to be freed
### Function: xsltRegisterLocalRVT
    int	xsltRegisterLocalRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
Registers a result value tree (XSLT 1.0 term: Result Tree Fragment) in the RVT garbage collector. The fragment will be freed when the instruction which created the fragment exits.
`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree (Result Tree Fragment; xmlDocPtr)
`Returns`: | 0 in case of success and -1 in case of API or internal errors.
### Function: xsltRegisterPersistRVT
    int	xsltRegisterPersistRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
Register the result value tree (XSLT 1.0 term: Result Tree Fragment) in the fragment garbage collector. The fragment will be freed when the transformation context is freed.
`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree (Result Tree Fragment)
`Returns`: | 0 in case of success and -1 in case of error.
### Function: xsltRegisterTmpRVT
    int	xsltRegisterTmpRVT		(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
Registers the result value tree (XSLT 1.0 term: Result Tree Fragment) in the garbage collector. The fragment will be freed at the exit of the currently instantiated xsl:template. Obsolete; this function might produce massive memory overhead, since the fragment is only freed when the current xsl:template exits. Use xsltRegisterLocalRVT() instead.
`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree (Result Tree Fragment)
`Returns`: | 0 in case of success and -1 in case of API or internal errors.
### Function: xsltReleaseRVT
    void	xsltReleaseRVT			(xsltTransformContextPtr ctxt,
    					 xmlDocPtr RVT)
Either frees the RVT (which is an xmlDoc) or stores it in the context's cache for later reuse.
`ctxt`: | an XSLT transformation context
`RVT`: | a result value tree (Result Tree Fragment)
### Function: xsltRestoreDocumentNamespaces
    int	xsltRestoreDocumentNamespaces	(xsltNsMapPtr ns,
    					 xmlDocPtr doc)
Restore the namespaces for the document
`ns`: | map of namespaces
`doc`: | the document
`Returns`: | 0 in case of success, -1 in case of failure
### 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
### Function: xsltUninit
    void	xsltUninit			(void)
Uninitializes the processor. Daniel Veillard